首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

小疑点,不清楚

2012-03-29 
小问题,不清楚7f+1h标志显示溢出,而80h+1h则显示不溢出,为什么?AF到底是半子节(也就是除2)进位或借位为1还

小问题,不清楚
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


热点排行