.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
'je finish' перейдет на метку' finish', если число равно 0. В противном случае оно перейдет в 'processing'. Поэтому 'jne processing' не требуется. –