.386
.MODEL FLAT
ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD
Include io.h
cr equ 0DH
Lf equ 0AH
.STACK 4096
.DATA
string byte 40 Dup (?)
number dword ?
rejected byte cr, Lf, "Rejected", 0
.code
_start:
forever: input string, 40
atod string
mov number, eax
cmp number,0
jne processing
je finish
processing:
cmp number,10
jg message
cmp number,-10
jl message
jmp forever
message: output rejected
jmp forever
finish:
INVOKE ExitProcess, 0
PUBLIC _start
END
我很难调整此任务以满足这个条件:确保你向前跳到循环的底部,并从那里回到顶部,这样每次跳到顶部都完全相同的地方。
我完成了任务,但我似乎从多个地方跳了出来。如何调整程序以满足条件。
答案 0 :(得分:1)
您需要更改完全一个 jmp forever
的代码。使用标签,您可以从多个地方跳转到此jmp forever
。我的建议是:
processing:
cmp number,10
jg message
cmp number,-10
jl message
jmp skipmsg
message: output rejected
skipmsg: jmp forever