我正在學習彙編語言(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]',它從**地址加載**,而不是隻加載地址本身。另外,你的第一條指令不存在。如果不涉及註冊表,您無法移動值。 –