什么是OF
表面意思:进行有符号数运算(假如是-128到+127),如果结果超出了这个有符号数的范围,什么溢出,OF置1,否则置0。
判断规则:最高位与次高位进行异或后的结果即是OF;
有符号数运算:实际上是用补码表示后进行运算。
补码最高位是符号位,是负的权值,即1000 0000=-128,0111 1111=+127;
溢出:正数加负数不可能溢出,因此下面只讨论符号位是00/11相加的情况
00:正数相加符号位应该是0,所以次高位有进位则破坏正负性,有溢出
11:符号位溢出变0,因此需要次高位也有进位才能不破坏正负
以上关键是把补码看成十进制数后判断溢出,只要符号位不错,符号位溢出不影响可舍去