我正在尝试在Windows Vista下运行的masm32中进行循环,但是我是这样做的,即使它实际上完成了循环,它还是崩溃了,我看不出有什么明显的原因...任何想法?
.386
.model flat, stdcall
option casemap :none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\masm32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\masm32.lib
.data
ProgramText db "Looping!", 0
.data?
loop_stopper dd ?
.code
start:
mov loop_stopper,2
loop_start:
invoke StdOut, addr ProgramText
cmp loop_stopper, 0
dec loop_stopper
jg loop_start
end start
编辑
做过
invoke StdOut, offset ProgramText
仍然崩溃...
最佳答案
您需要有一个“退出”才能结束您的应用程序。另外,我的个人风格是将所有内容放在子例程中,但这就是我。 start: main proc main endp
就像是:.code
call main
inkey
exit
mov loop_stopper,2
loop_start:
invoke StdOut, addr ProgramText
cmp loop_stopper, 0
dec loop_stopper
jg loop_start
ret
end start