0
.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
我有困难,调整此分配,以满足此条件:确保你向前跳转到循环的底部,并从那里回顶,让每跳顶部来自完全相同的地方。汇编语言MASM跳跃
我已经完成了任务,但我似乎是从多个地方跳。如何调整程序以符合条件。
在'message'(也就是'jmp forever')之后创建一个标签,并且让你之前的'jmp forever'跳转到该标签。 – Jester 2014-12-05 19:28:46
如果数字为0,那么'je finish'将跳转到'finish'标签。否则,它将落入'处理'中。所以'处理'是不必要的。 – 2014-12-06 05:51:59