小问题,不清楚
7f+1h标志显示溢出,而80h+1h则显示不溢出,为什么?
AF到底是半子节(也就是除2)进位或借位为1还是第三位借位或进位为1?
[解决办法]
溢出的判定原则:
次高位(bit 6)向最高位(bit 7)有进位,最高位(bit 8)向上无进位。
7f+1h
0111 1111(正数)
+0000 0001(正数)
----------
1000 0000(负数);两个正数相加,结果是负数,所以溢出。
结果:bit 6向bit 7有进位,bit 7向bit 8没有进位。所以没有溢出,只有进位。OF=0,CF=1
80h+1h
1000 0000(负数)
+0000 0001(正数)
----------
1000 0001(负数)负数与正数相加,结果仍然是负数,所以没有溢出
结果没有进位和溢出。
》AF到底是半子节(也就是除2)进位或借位为1还是第三位借位或进位为1?
都是,
0000 0000
bit 3到bit 4的进位,或者是bit 4到bit 3的借位,都将设置辅助进位或借位标志
如
0001 0000
-0000 0001
----------
0000 1110 AF=1
0000 1111
+0000 0001
----------
0001 0000 AF=1