8086汇编条件转移指令问题

来源:百度知道 编辑:UC知道 时间:2024/06/13 21:10:21
请问条件转移指令类 大于等于JGE 与 高于等于JAG 有什么不同. 用法一样吗.谢谢!

等于就无所谓了。关键是大于与高于、小于与低于的区别。

大于、小于用于有符号数比较的条件转移,大于用JG,小于用JL;高于、低于用于无符号数比较的条件转移,大于用JA,小于用JB。

无论是有符号数比较还是无符号数比较,涉及到等于的,在条件转移指令里面加上一个“E”便是。如JGE、JBE、JAE、JLE等。

例。设M=(EDX:EAX),N=(EBX:ECX),比较这两个64位“带符号数”,若M>=N,则转向DMAX,否则转向DMIN。
则程序片断为:
CMP EDX,EBX ; 比较高32位 (EDX),(EBX),均为有符号数
JGE MORE ; 如果 (EDX) >= (EBX) 则转向 MORE
JMP DMIN ; 如果并非 (EDX) >= (EBX) 则转向 DMIN
MORE:
CMP EAX,ECX ; 再比较低32位 (EAX),(ECX),均为无符号数
JAE DMAX ; 如果继续 (EAX) >= (ECX) 则转向DMAX
DMIN: ; 否则仍然运行到标号DMIN
; 代码片断
DMAX: ; 标号DMAX

a b是对应无符号整型的
g l是对应带符号整型的