我在编写汇编程序和麻烦区域是我的比较指令的结尾,它似乎并没有工作,我似乎没有做任何工作,所以所有输入被读取在被发送到拒绝汇编 - 比较指令不工作
代码:
loop_top:
input string,40 ; read ASCII characters
atod string ; convert to integer
mov number1, eax ; store in memory
jz done
cmp number1, 50 ; number1>50?
jg rejected
cmp number1, -50 ; number1<-50?
jl rejected
rejected:
dtoa number1ch,eax ; convert to ASCII characters
output number1ch ; print value and message to screen
output reject
jmp loop_top
mov eax, number1 ; store in register
cmp eax,0 ; eax > 0?
jnl isPositive
问题区域? :
cmp number1, 50 ; number1>50?
jg rejected
cmp number1, -50 ; number1<-50?
jl rejected
rejected:
dtoa number1ch,eax ; convert to ASCII characters
output number1ch ; print value and message to screen
output reject
jmp loop_top
因此,任何数量的例如:4,50,51,-3,-50,-51 ..都被发送到拒绝。 有人可以向我解释为什么?谢谢!
您希望哪个范围有效? – 2013-05-01 06:26:27
我希望50和-50之间的任何内容都有效@PaulR – 2013-05-01 06:35:43
顺便说一句,我不认为这是MARIE组装?这只是x86,不是? – 2013-05-01 08:14:34