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...

请解释我的错误在哪里

它重新循环,因为溢出