汇编语言中溢出和进位的区别

of的设置,以加法为例,如果两数符号相同,结果却相反,则of=1;否则of=0;(如果两数符号相反,是不会溢出的)。 
cf的设置,最高有效位(bit7,比如)向高位进位则为1,否则为0。所以实际上of是表示有符号数的溢出,cf是表示无符号数的溢出。 
理解进位,从af位的设置更为容易。

其他回答

A的补码与B的补码计算后(   加减)为C的补码 
把C的补码看成无符号数,意义与C相同就是CF=0否则CF=1 
把C的补码看成有符号数,意义与C相同就是OF=0否则OF=1

对于非符号数来说,不存在溢出的问题,它的进位就相当于符号数中的溢出. 
而对于符号数来说,不存在进位的问题.两个正数相加(或一个正数减一个负数)得到负数,或是两个负数相加得到正数,就是溢出了.一个正数和一个负数相加不可能溢出
最佳答案
对于非符号数来说,不存在溢出的问题,它的进位就相当于符号数中的溢出. 
而对于符号数来说,不存在进位的问题.两个正数相加(或一个正数减一个负数)得到负数,或是两个负数相加得到正数,就是溢出了.一个正数和一个负数相加不可能溢出
最佳答案
对于非符号数来说,不存在溢出的问题,它的进位就相当于符号数中的溢出. 
而对于符号数来说,不存在进位的问题.两个正数相加(或一个正数减一个负数)得到负数,或是两个负数相加得到正数,就是溢出了.一个正数和一个负数相加不可能溢出

溢出……值不能太大。太大就会溢出。 

比如在内存里计算一个数据, 
这个数据只在一个字节里计算。 
那这个数据就不能大于255,就会溢出 


1+1=10,10中的1就是从个位上进上来的

汇编语言中溢出是指结束超出数据所表示的范围,通俗地说是装不下了,比如,两个带符号的字节数127和2相加,结果为-1,因为带符号的字节数最大正数为127,所以超过范围,溢出标志位为1,说明出错了。 
进位表示最高位有没有向上形成进位,或向个形成借位,如果有则进位标志为1,但结果没错。

汇编语言中存储的数是有一定范围的,无符号字节存储的范围为0~255,带符号字节存储范围为-128~+127。溢出是指结束超出数据所表示的范围,说明出错了。 
进位表示相加时最高位有没有向上形成进位,或相减时向上形成借位,如果有则进位标志为1,但结果没错

 

 

 

摘自:http://hi.baidu.com/yesdo/blog/item/079f49e92872823bb90e2d63.html

转载于:https://www.cnblogs.com/yangzhong/archive/2011/02/27/1966494.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值