MASM32 (Lib: Irvine32) 奇怪的变量行为
MASM32 (Lib: Irvine32) Weird variable behavior
问题是,if 语句多次为真,所以变量“iDATA”
又是 100,但与此同时,当我在 if 语句之后打印 var 时,它并没有说它是 100,而是从 0-x 上升,就像你期望的那样。
.data
iDATA DWORD 0
.code
main PROC
loop0:
mov eax, iDATA
.if eax == 100
call WriteInt
.endif
add iDATA, 1
jmp loop0
main ENDP
INVOKE ExitProcess, 0
END main
输出:+100+100+100+100+100+100+100+100...
请解释我的错误在哪里
它重新循环,因为溢出
问题是,if 语句多次为真,所以变量“iDATA” 又是 100,但与此同时,当我在 if 语句之后打印 var 时,它并没有说它是 100,而是从 0-x 上升,就像你期望的那样。
.data
iDATA DWORD 0
.code
main PROC
loop0:
mov eax, iDATA
.if eax == 100
call WriteInt
.endif
add iDATA, 1
jmp loop0
main ENDP
INVOKE ExitProcess, 0
END main
输出:+100+100+100+100+100+100+100+100...
请解释我的错误在哪里
它重新循环,因为溢出