我正在学习汇编语言(x86),我需要弄清楚如何使用变量而不是中间值来实现寄存器溢出。如何使用汇编语言中的变量使寄存器溢出
我用溢出AX
寄存器通过将FFFF放入一个变量,将该变量移动到AX
,然后递增AX
。但是,我遇到了问题。首先,我去声明WORD
变量是这样的:
limitReg WORD 0
再后来就在.code
我这样做:
MOV limitReg, FFFFh
MOV ax, limitReg
不过,我得到以下错误:
Error 1 error MSB3721: The command "ml.exe /c /nologo /Zi /Fo"Debug\pa2.obj" /Fl"PA2.lst" /I "C:\Irvine" /W3 /errorReport:prompt /Ta..\..\..\..\..\..\..\Irvine\Examples\ch03\pa2.asm" exited with code 1. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\masm.targets 50
有人可以帮我解决这个问题吗?
控制台中是否还有其他错误消息?有些指向无法组装的实际代码行。 – Michael
@Michael Nope。我得到的唯一信息就是所陈述的。 – jshapy8
在masm中,您从内存中加载了像'mov ax,[limitReg]',它从**地址加载**,而不是只加载地址本身。另外,你的第一条指令不存在。如果不涉及注册表,您无法移动值。 –