8086汇编条件转移指令问题
答案:3 悬赏:50 手机版
解决时间 2021-02-28 06:10
- 提问者网友:城市野鹿
- 2021-02-27 06:40
8086汇编条件转移指令问题
最佳答案
- 五星知识达人网友:洎扰庸人
- 2021-02-27 07:52
等于就无所谓了。关键是大于与高于、小于与低于的区别。
大于、小于用于有符号数比较的条件转移,大于用JG,小于用JL;高于、低于用于无符号数比较的条件转移,大于用JA,小于用JB。
无论是有符号数比较还是无符号数比较,涉及到等于的,在条件转移指令里面加上一个“E”便是。如JGE、JBE、JAE、JLE等。
大于、小于用于有符号数比较的条件转移,大于用JG,小于用JL;高于、低于用于无符号数比较的条件转移,大于用JA,小于用JB。
无论是有符号数比较还是无符号数比较,涉及到等于的,在条件转移指令里面加上一个“E”便是。如JGE、JBE、JAE、JLE等。
全部回答
- 1楼网友:老鼠爱大米
- 2021-02-27 08:35
a b是对应无符号整型的
g l是对应带符号整型的
g l是对应带符号整型的
- 2楼网友:行雁书
- 2021-02-27 08:13
例。设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
则程序片断为:
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
参考资料:汇编语言程序设计 北京理工大学出版社 P63
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯