一个很基本的问题~~
OF的判断:
比如(补码表示): 10101011+11111111=110101010 OF=0;(这个丢弃最高位,结果没超过补码范围)
又如:10101011+10001011=100110110 OF=1;(这个丢弃最高位怎么就超过补码表示范围而溢出了?)
[解决办法]
不好意思,想当然了
判断溢出是使用双符号位,就是结果的9 8这两位
00 结果正数,无溢出
11 结果负数,无溢出
01 正溢出
10 负溢出
[解决办法]
你要根据CF位跟OF位共同判断溢出情况的,符号位变了那溢出,符号位没变说明是进位,只要设置CF位就行了