进行比较操作时 机器寄存器的状态

主要用到三个寄存器

CF (carry flag)       进位借位标志寄存器

OF(overflow flag) 溢出标志寄存器

SF(sign flag)         符号标志寄存器

在执行计算操作之后,会影响寄存器的值,符号寄存器会保存最高位符号位的值,计算结果超过一个字节表示会把溢出寄存器置为1(对于8086处理器)

1. 两个无符号数比较

      两个无符号数相减,CF是借位标志。如果比较完成后CF=0,表示没有借位,说明被减数(目的操作数)比减数更大。

2. 两个有符号数的比较

      有符号数的最高位表示符号,符号标志位SF总是和计算结果的最高位相同。所以当两个正数相比较或者两个负数相比较时,可以用SF来判断被减数比减数大还是比减数小。如果SF为0,则表示被减数比减数大。

如果SF为1,则表示被减数比减数小。

如果一个为正数,另一个为负数,当两者相比较或者相减时,可能会出现计算溢出的情况。也就是说如果两个数异号 比如127 和-50相比较,两者相减结果溢出,虽然应该时正数,但是由于溢出会导致结果是负数结果,此时SF=1,OF=1,两者相同,被减数比减数大。 如果SF=1,OF=0时,两者不同,被减数比减数小。

所以总结来说,如果溢出标志和符号标志不同说明,被减数比减数小,两者相同,被减数比减数大。

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值