irvine32相关内容
我的程序接受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
..
我使用masm615汇编程序和TextPad作为编辑器。我正在写32位汇编语言程序。在程序中,由于mul指令,我试图设置零标志,但它不起作用。 谁能告诉我为什么eax寄存器中的结果是零,而零标志是清零的? include irvine32.inc .data .code main proc xor eax,eax call dumpreg
..
我一直在为一个类做一个汇编语言项目,虽然我终于能够解决这段代码中的所有问题(我相信),但我现在似乎无法显示注册内容. 这是我的代码... 包括 C:\Irvine\Irvine32.inc.数据;变量按以下顺序列出 VAR DATATYPE DIGITS[RADIX]显示列出数字的二进制版本的评论左 DWORD 321 ;101000001b右 DWORD 4247 ;1000010010
..
我正在使用 Visual Studio 2013 Ultimate 在 MASM 中编程汇编语言 (x86).我正在尝试使用数组来计算使用数组的 n 个元素的斐波那契数列.换句话说,我试图转到一个数组元素,获取它之前的两个元素,将它们相加,并将结果存储在另一个数组中. 我在设置索引寄存器以使其正常工作时遇到问题. 我的程序设置如下: TITLE fibonacci.asm包括 Irv
..
所以我正在尝试学习汇编,我的练习表中有一个示例,我必须创建一个程序来一次将 10 个数字输入一个数组.我必须打印最高值和输入时间.我在比较中几乎没有任何经验,但我想以某种方式存储高值并将其与位置进行比较? 代码: 包括 irvine32.inc.数据编号 dw 10 dup(0)数 db 1prompt db "输入一个数字:",0yesMsg db "hi val is in locat
..
所以我正在尝试学习汇编,我的练习表中有一个示例,我必须创建一个程序来一次将 10 个数字输入一个数组.我必须打印最高值和输入时间.我在比较中几乎没有任何经验,但我想以某种方式存储高值并将其与位置进行比较? 代码: 包括 irvine32.inc.数据编号 dw 10 dup(0)数 db 1prompt db "输入一个数字:",0yesMsg db "hi val is in locat
..
我对字符在汇编中的工作方式感到困惑.既然一切都以位为单位,那么这是否意味着所有字符在寄存器中基本上都只是十六进制版本/ascii 值? 例如,如果我想将“我喜欢馅饼"放在寄存器中,它会显示为“48h 4C484B45h 504945h"吗?如果我想获得所有“i"字母,我需要使用像 这样的命令 ;“获取字符串输入的命令"得到我:cmp BYTE PTR [edx],48hje L1L1:添
..
需要帮助使用 Visual Studio .asm 文件以汇编语言显示带小数位的数字. 例如,10 除以 4 将是 2.5 但它只显示 2 mov eax, 10mov ebx, 4异或edx, edxdiv ebx调用 WriteDec 解决方案 DIV 提供整数商和余数作为结果.根据余数,您可以通过乘以 10 并除以除数来构造小数点后的整数: INCLUDE Irvine32.inc
..
我是汇编语言编程的完全初学者.我需要帮助编写一个汇编语言程序来从用户那里获取一个字符串,计算并显示用户输入的字符串中每个单词出现的次数. 例如,如果用户输入: 你好你好有什么新东西你好有什么不是新的 输出应该是: 你好 3什么 2是 2不是 1新 2 我在下面有以下代码,它将为我提供字符串中字符的频率.但是,我不知道如何编辑以便我可以跟踪单词而不仅仅是字符,然后能够以相应的频率显示这
..
如果尝试执行以下操作,我会不断收到错误消息: TITLE(Filename.asm)包含Irvine32.inc.数据名称BYTE"Jdoe",0菜单BYTE“您好,这台计算机的用户!",0dh,0ah,“我是旨在帮助您完成程序的AI机器人",0dh,0ah,“请允许我在您编写程序时为您提供帮助",0dh,0ah,"请姓名>", 0.代码主要PROC;在主要过程中,在此处添加了说明;在代码段中
..
下面的代码要求用户输入整数,并且该代码会将相同的一组整数吐回给用户. include irvine32.inc.数据输入双字?提示1字节“输入您的号码:",0.代码mWriteNum宏输入推ecx推emov eax,偏移量输入呼叫writedec流行曲推ecx结束语mReadInput MACRO输入推ecx推emov eax,偏移量输入mov ecx,sizeof输入致电Readintmov
..
好的,我正在解决这个问题,这可能是一个非常复杂的解决方案,但这是我想到的第一件事. 我需要编写一个汇编语言程序,该程序可以反转“源"字符串,而不使用“目标"字符串(临时变量)..这是我的尝试. INCLUDE Irvine32.inc.数据source BYTE“这是源字符串",0算DWORD吗?.代码主要PROCmov ecx,LENGTHOF源L1:mov count,ecx;保存我
..
因此,我正在尝试学习汇编,而我的练习表中有一个示例,其中我必须创建一个程序以一次将10个数字输入一个数组.我必须打印最高值以及何时输入它.我几乎没有任何经验可以比较,但是我想以某种方式存储高价值并比较位置? 代码: include irvine32.inc.数据num dw 10 dup(0)计数db 1提示数据库“输入数字:",0yesMsg db"hi val位于location",
..
我对 OFFSET 运算符的概念感到相当困惑.根据Kip R. Irvine的《 x86处理器的汇编语言》一书,他将Offset运算符定义为返回变量到其封闭段开头的距离的运算符.他还说,偏移量运算符返回数据标签的偏移量,该偏移量表示标签到数据段开头的距离(以字节为单位).偏移量是多少?标签与数据段开头之间的距离是什么意思?另外,他是否得出了这个结果: 他声明了三种不同类型的变量: .da
..
我正在编写一个IQ测试生成程序,在该程序中,我必须随机生成包含口头非口头问题的问题.为了产生非语言问题,我想显示字母和字母以圆形或三角形出现的问题. 但是我不确定如何放置它们.例如,在一个非语言问题中,我想通过编写以下代码将字母和数字定位为三角形: 动态Alpha呼叫writechar加dl,4打电话给gotoxymov,num呼叫writedecsub dl,2加dh,1打电话给goto
..
我正在研究一个包含两个过程的程序.一个将N个无符号双字的数组压入堆栈,另一个将N个无符号双字的堆栈弹出并存储在数组中.我能够将所有元素成功推入堆栈,但是由于堆栈指针( esp 寄存器)已更改,因此该过程无法返回到主程序. 通过操作 esp 寄存器,我可以返回到 main ,以便保存返回地址,然后将该地址重新加载到 esp 返回之前.但是,到调用下一个过程时,我压入堆栈的条目已被覆盖.
..
在将Irvine32 inc/lib支持添加到我的asm程序中时,我需要一些帮助.我将inc/lib添加到他们的文件夹中并添加了包括Irvine32.incincludeLib Irvine32.lib但是,与Irvine32.lib链接时出现错误. 在哪里可以下载具有lib功能的多合一软件包. 谢谢 如果您使用 masm32 程序,则 解决方案 将Irvine32.inc放入m
..
我对汇编语言非常陌生,所以请耐心等待... 我有一个四舍五入到最接近的.001的浮点,但仍显示为+ 1.6670000E + 000.我希望它显示为1.667. 这是我的数字除法和四舍五入代码: fild num_afidiv num_b一千弗林特千禧年fst a_div_b 这是我显示浮动的代码: mov eax,num_a呼叫WriteDecmov edx,偏移量除法调
..
该程序的目的是在切换每个字母的大小写的同时反转给定的字符串.字符串不能超过20个字符,如果输入长度超过20个字符,则程序要求用户再次输入字符串.程序在用户输入"enter"时结束,并且在打印结束语句后结束. 为此,我有3个问题: 我试图通过调用ReadString来获取输入字符串,并且由于在输入Enter键后此过程停止,因此当我按Enter键正常完成程序时,控制台冻结结束.如何纠正我的
..
在一些作业中,我必须在Assembly中创建一个Fibonacci Sequence程序.我创建了此代码,但它似乎无法正常工作,并且我不确定原因.我相信我做的正确,但是EAX在每个循环中都保持"2". 包含Irvine32.inc.数据上一个DWORD?下一个DWORD?val DWORD?算DWORD吗?总共DWORD吗?myMsg BYTE“斐波那契序列",0dh,0ah,0.代码主要PRO
..