Assembly 比较两个没有jle的数字

Assembly 比较两个没有jle的数字,assembly,Assembly,有没有一种方法可以在不使用JE/JNE以外的条件跳转的情况下比较存储在寄存器中的两个数字? 仅适用于以下指令:ADD、SUB和OR、XOR、NEG、左右算术移位、CMP和MOV cmp EAX,EDX jle xxx 相当于 sub EDX,EAX shr EDX,31 jz xxx 那是什么汇编语言?哪种架构?你说的“比较”是什么意思JE和JNE本身不比较数字;他们只需查看Z标志。您指定的所有算术指令,以及CMP,根据需要设置或清除Z标志。你需要更透彻地解释你需要做什么。这是一种精简指令集

有没有一种方法可以在不使用JE/JNE以外的条件跳转的情况下比较存储在寄存器中的两个数字? 仅适用于以下指令:ADD、SUB和OR、XOR、NEG、左右算术移位、CMP和MOV

cmp EAX,EDX
jle xxx
相当于

sub EDX,EAX
shr EDX,31
jz xxx

那是什么汇编语言?哪种架构?你说的“比较”是什么意思
JE
JNE
本身不比较数字;他们只需查看
Z
标志。您指定的所有算术指令,以及
CMP
,根据需要设置或清除
Z
标志。你需要更透彻地解释你需要做什么。这是一种精简指令集汇编语言,我仍然有Z标志,但它只说明最后一次操作是否给出了0。正如我所说,我命名的指令设置了Z标志,它可以表示为真或假。假设在下溢时环绕,您可以通过减去两个值来比较相等,然后测试零标志是否设置。这是真的,但实际上我正在搜索以执行以下操作:a