2014-02-26 38 views
0

有没有办法将两个数字存储在寄存器中,而不使用JE/JNE以外的条件跳转? 只有以下指令:ADD,SUB,AND,OR,XOR,NEG,左右算术移位,CMP和MOV。比较两个数字没有jle

+1

什么汇编语言是什么?哪个架构? – MByD

+0

“比较”是什么意思? 'JE'和'JNE'本身不会比较数字;他们只是看着'Z'标志。所有您命名的算术指令和“CMP”都会根据需要设置或清除“Z”标志。你需要更彻底地解释你需要做的事情。 –

+0

这是一个简化的指令集汇编语言,我仍然有Z标志,但它只是说如果最后的操作给出0或不。 我说的命令设置了Z标志,正如我所说的那样,它表示真或假。 – Green

回答

1
cmp EAX,EDX 
jle xxx 

相当于

sub EDX,EAX 
shr EDX,31 
jz xxx 
+0

谢谢,这正是我正在寻找的。 – Green