【笔记】CPU是如何检测溢出的?

问题:CPU是如何检测溢出的?

    在加法和减法运算完成后,CPU使用一种非常有趣的方法确定溢出标志的值:运算结果最高有效位的进位值(即CF的值)与到最高有效位的进位值异或,其结果放到溢出标志中。例如8位二进制数 1000 0000 和 1111 1110 相加,第6位向最高有效位(第7位)无进位,但是第7位向高位有进位值(CF=1):

        第6位到第7位没有进位

CF = 1 ←   1000 0000

          +    1111 1110

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

          =    0111 1110

由于1 XOR 0 = 1,因此:OF = 1

 

 

注:《Intel汇编语言程序设计》第五版

posted on 2012-02-27 22:04  克劳德曼  阅读(563)  评论(0编辑  收藏  举报