80x86汇编语言中,有无溢出与有无进位有什么区别?如题 谢谢了

2025-05-15 16:15:24
推荐回答(4个)
回答1:

溢出,是个通用的词汇,其含义,不用多说。


在计算机中,二进制代码,可以表示的数值,是有一定范围的。


运算结果,如果超出了预定的范围,就是:溢出。


--------------------


但是,在计算机中,被 Intel 规定下来了。


  无符号数运算的溢出,被称为:进位。


  有符号数运算的溢出,才叫做:溢出。


参考下图:

是否进(借)位,要在 0、255 位置上判断。

是否溢出,则要在-128、+127 处判断。

回答2:

因为有符号数和无符号数的情况处理不一样,需要有溢出和进位两个标志配合才能区分. 以8位二进制为例,有符号数,最高位7位为符号位,第6-0位的数据溢出时是到溢到符号位的,而符号位再有溢出才会置进位,;对无符号数,你还要看进位位,不用关心溢出位.

回答3:

进位标志表示无符号数运算结果是否超出范围,运算结果仍然正确;
溢出标志表示有符号数运算结果是否超出范围,运算结果已经不正确。

回答4:

8086中用标志寄存器的cf位和of位区分有无进位与溢出!\ 以上贴图来自,王爽汇编语言