当前位置:  开发笔记 > 开发工具 > 正文

MASM32循环

如何解决《MASM32循环》经验,为你挑选了1个好方法。

我正在尝试在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

仍然崩溃......



1> 小智..:

您需要有一个"退出"来结束您的申请.另外,我的个人风格是将所有内容都放在子程序中,但那只是我.

就像是:
.code

start:

call main
inkey        
exit

main proc

mov loop_stopper,2
loop_start:

invoke StdOut, addr ProgramText
cmp loop_stopper, 0 
dec loop_stopper
jg loop_start
ret

main endp

end start

.code

start:

call main
inkey        
exit

main proc

mov loop_stopper,2
loop_start:

invoke StdOut, addr ProgramText
cmp loop_stopper, 0 
dec loop_stopper
jg loop_start
ret

main endp

end start

.code

start:

call main
inkey        
exit

main proc

mov loop_stopper,2
loop_start:

invoke StdOut, addr ProgramText
cmp loop_stopper, 0 
dec loop_stopper
jg loop_start
ret

main endp

end start

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有