irvine32相关内容

在Irvine32库中使用MASM打印数组

我的程序接受4个整数,并假定将它们显示给用户。在打印值时,我没有得到预期的结果。我正在将MASM与Kip的Irvine32 library 一起使用 我的代码是: include irvine32.inc .data msg byte "Enter a number",0 arr dword 4 dup(?) len=($-arr)/4 .code main PROC mov e ..
发布时间:2022-09-05 22:52:53 其他开发

ZF未因汇编语言中的MUL指令而设置

我使用masm615汇编程序和TextPad作为编辑器。我正在写32位汇编语言程序。在程序中,由于mul指令,我试图设置零标志,但它不起作用。 谁能告诉我为什么eax寄存器中的结果是零,而零标志是清零的? include irvine32.inc .data .code main proc xor eax,eax call dumpreg ..
发布时间:2022-09-05 20:49:40 其他开发

使用 Visual Studio 调试 ASM - 不会显示注册内容

我一直在为一个类做一个汇编语言项目,虽然我终于能够解决这段代码中的所有问题(我相信),但我现在似乎无法显示注册内容. 这是我的代码... 包括 C:\Irvine\Irvine32.inc.数据;变量按以下顺序列出 VAR DATATYPE DIGITS[RADIX]显示列出数字的二进制版本的评论左 DWORD 321 ;101000001b右 DWORD 4247 ;1000010010 ..
发布时间:2022-01-12 08:22:20 其他开发

汇编语言 (x86):如何创建循环来计算斐波那契数列

我正在使用 Visual Studio 2013 Ultimate 在 MASM 中编程汇编语言 (x86).我正在尝试使用数组来计算使用数组的 n 个元素的斐波那契数列.换句话说,我试图转到一个数组元素,获取它之前的两个元素,将它们相加,并将结果存储在另一个数组中. 我在设置索引寄存器以使其正常工作时遇到问题. 我的程序设置如下: TITLE fibonacci.asm包括 Irv ..
发布时间:2021-12-18 08:47:59 其他开发

数组中的位置和最大值

所以我正在尝试学习汇编,我的练习表中有一个示例,我必须创建一个程序来一次将 10 个数字输入一个数组.我必须打印最高值和输入时间.我在比较中几乎没有任何经验,但我想以某种方式存储高值并将其与位置进行比较? 代码: 包括 irvine32.inc.数据编号 dw 10 dup(0)数 db 1prompt db "输入一个数字:",0yesMsg db "hi val is in locat ..
发布时间:2021-11-26 14:31:40 其他开发

数组中的位置和最大值

所以我正在尝试学习汇编,我的练习表中有一个示例,我必须创建一个程序来一次将 10 个数字输入一个数组.我必须打印最高值和输入时间.我在比较中几乎没有任何经验,但我想以某种方式存储高值并将其与位置进行比较? 代码: 包括 irvine32.inc.数据编号 dw 10 dup(0)数 db 1prompt db "输入一个数字:",0yesMsg db "hi val is in locat ..
发布时间:2021-11-24 23:15:15 C#

ASMx86:如何在字符串中挑选一个字母?

我对字符在汇编中的工作方式感到困惑.既然一切都以位为单位,那么这是否意味着所有字符在寄存器中基本上都只是十六进制版本/ascii 值? 例如,如果我想将“我喜欢馅饼"放在寄存器中,它会显示为“48h 4C484B45h 504945h"吗?如果我想获得所有“i"字母,我需要使用像 这样的命令 ;“获取字符串输入的命令"得到我:cmp BYTE PTR [edx],48hje L1L1:添 ..
发布时间:2021-09-29 19:40:00 其他开发

需要帮助使用 Visual Studio .asm 文件以汇编语言显示带小数位的数字

需要帮助使用 Visual Studio .asm 文件以汇编语言显示带小数位的数字. 例如,10 除以 4 将是 2.5 但它只显示 2 mov eax, 10mov ebx, 4异或edx, edxdiv ebx调用 WriteDec 解决方案 DIV 提供整数商和余数作为结果.根据余数,您可以通过乘以 10 并除以除数来构造小数点后的整数: INCLUDE Irvine32.inc ..
发布时间:2021-09-29 19:33:10 其他开发

您如何确定用户在汇编语言 X86 中输入的字符串中的单词频率?

我是汇编语言编程的完全初学者.我需要帮助编写一个汇编语言程序来从用户那里获取一个字符串,计算并显示用户输入的字符串中每个单词出现的次数. 例如,如果用户输入: 你好你好有什么新东西你好有什么不是新的 输出应该是: 你好 3什么 2是 2不是 1新 2 我在下面有以下代码,它将为我提供字符串中字符的频率.但是,我不知道如何编辑以便我可以跟踪单词而不仅仅是字符,然后能够以相应的频率显示这 ..
发布时间:2021-09-06 19:45:26 其他开发

将两个字符串打印到寄存器中

如果尝试执行以下操作,我会不断收到错误消息: TITLE(Filename.asm)包含Irvine32.inc.数据名称BYTE"Jdoe",0菜单BYTE“您好,这台计算机的用户!",0dh,0ah,“我是旨在帮助您完成程序的AI机器人",0dh,0ah,“请允许我在您编写程序时为您提供帮助",0dh,0ah,"请姓名>", 0.代码主要PROC;在主要过程中,在此处添加了说明;在代码段中 ..
发布时间:2021-05-31 20:20:30 其他开发

x86 Assembly输入一组整数

下面的代码要求用户输入整数,并且该代码会将相同的一组整数吐回给用户. include irvine32.inc.数据输入双字?提示1字节“输入您的号码:",0.代码mWriteNum宏输入推ecx推emov eax,偏移量输入呼叫writedec流行曲推ecx结束语mReadInput MACRO输入推ecx推emov eax,偏移量输入mov ecx,sizeof输入致电Readintmov ..
发布时间:2021-05-31 20:20:20 其他开发

MASM字符串反转

好的,我正在解决这个问题,这可能是一个非常复杂的解决方案,但这是我想到的第一件事. 我需要编写一个汇编语言程序,该程序可以反转“源"字符串,而不使用“目标"字符串(临时变量)..这是我的尝试. INCLUDE Irvine32.inc.数据source BYTE“这是源字符串",0算DWORD吗?.代码主要PROCmov ecx,LENGTHOF源L1:mov count,ecx;保存我 ..
发布时间:2021-05-31 20:20:04 其他开发

数组中的位置和最高值

因此,我正在尝试学习汇编,而我的练习表中有一个示例,其中我必须创建一个程序以一次将10个数字输入一个数组.我必须打印最高值以及何时输入它.我几乎没有任何经验可以比较,但是我想以某种方式存储高价值并比较位置? 代码: include irvine32.inc.数据num dw 10 dup(0)计数db 1提示数据库“输入数字:",0yesMsg db"hi val位于location", ..
发布时间:2021-05-31 20:20:01 其他开发

用于x86处理器的汇编语言的OFFSET运算符

我对 OFFSET 运算符的概念感到相当困惑.根据Kip R. Irvine的《 x86处理器的汇编语言》一书,他将Offset运算符定义为返回变量到其封闭段开头的距离的运算符.他还说,偏移量运算符返回数据标签的偏移量,该偏移量表示标签到数据段开头的距离(以字节为单位).偏移量是多少?标签与数据段开头之间的距离是什么意思?另外,他是否得出了这个结果: 他声明了三种不同类型的变量: .da ..
发布时间:2021-05-31 20:19:46 其他开发

如何在MASM中获取当前光标位置

我正在编写一个IQ测试生成程序,在该程序中,我必须随机生成包含口头非口头问题的问题.为了产生非语言问题,我想显示字母和字母以圆形或三角形出现的问题. 但是我不确定如何放置它们.例如,在一个非语言问题中,我想通过编写以下代码将字母和数字定位为三角形: 动态Alpha呼叫writechar加dl,4打电话给gotoxymov,num呼叫writedecsub dl,2加dh,1打电话给goto ..
发布时间:2021-05-31 20:19:16 其他开发

在过程中操作运行时堆栈

我正在研究一个包含两个过程的程序.一个将N个无符号双字的数组压入堆栈,另一个将N个无符号双字的堆栈弹出并存储在数组中.我能够将所有元素成功推入堆栈,但是由于堆栈指针( esp 寄存器)已更改,因此该过程无法返回到主程序. 通过操作 esp 寄存器,我可以返回到 main ,以便保存返回地址,然后将该地址重新加载到 esp 返回之前.但是,到调用下一个过程时,我压入堆栈的条目已被覆盖. ..
发布时间:2021-05-31 20:19:07 其他开发

Irvine32和MASM

在将Irvine32 inc/lib支持添加到我的asm程序中时,我需要一些帮助.我将inc/lib添加到他们的文件夹中并添加了包括Irvine32.incincludeLib Irvine32.lib但是,与Irvine32.lib链接时出现错误. 在哪里可以下载具有lib功能的多合一软件包. 谢谢 如果您使用 masm32 程序,则 解决方案 将Irvine32.inc放入m ..
发布时间:2021-05-31 20:18:55 其他开发

如何使用Irvine32 WriteFloat(而不是printf)显示四舍五入为.001的浮点数

我对汇编语言非常陌生,所以请耐心等待... 我有一个四舍五入到最接近的.001的浮点,但仍显示为+ 1.6670000E + 000.我希望它显示为1.667. 这是我的数字除法和四舍五入代码: fild num_afidiv num_b一千弗林特千禧年fst a_div_b 这是我显示浮动的代码: mov eax,num_a呼叫WriteDecmov edx,偏移量除法调 ..
发布时间:2021-05-31 20:18:49 其他开发

反转和更改给定字符串x86程序集的大小写

该程序的目的是在切换每个字母的大小写的同时反转给定的字符串.字符串不能超过20个字符,如果输入长度超过20个字符,则程序要求用户再次输入字符串.程序在用户输入"enter"时结束,并且在打印结束语句后结束. 为此,我有3个问题: 我试图通过调用ReadString来获取输入字符串,并且由于在输入Enter键后此过程停止,因此当我按Enter键正常完成程序时,控制台冻结结束.如何纠正我的 ..
发布时间:2021-05-16 18:50:15 其他开发

装配中的非递归斐波那契数列

在一些作业中,我必须在Assembly中创建一个Fibonacci Sequence程序.我创建了此代码,但它似乎无法正常工作,并且我不确定原因.我相信我做的正确,但是EAX在每个循环中都保持"2". 包含Irvine32.inc.数据上一个DWORD?下一个DWORD?val DWORD?算DWORD吗?总共DWORD吗?myMsg BYTE“斐波那契序列",0dh,0ah,0.代码主要PRO ..
发布时间:2021-05-06 21:03:12 其他开发