bcd码加法调整原因和加法?
答案:1 悬赏:60 手机版
解决时间 2021-12-04 06:23
- 提问者网友:骨子里的高雅
- 2021-12-03 17:31
bcd码加法调整原因和加法?
最佳答案
- 五星知识达人网友:愁杀梦里人
- 2021-12-03 17:50
用一个例子加以说明:用BCD码计算8+9,见下式 0000 1000 + 0000 1001 0001 0001 = (11)BCD结果应为17,而实际运算结果为11,这是什么原因呢?仔细分析一下,我们可以发现计算机在二进制运算过程中,如遇到低4位向高4位产生进位时(此时AF=1)是按逢十六进一的规则,但BCD码运算要求逢十进一。因此只要产生进位,BCD码的个位(低4位)就会丢失6,因此需要进行加6调正。如对上例的结果用AAA指令进行加6调整: 0001 0001 11 + 0000 0110 6 0001 0111 17 ∧ 0000 1111 0000 0111 AH←1,CF←1调整的结果AH=1,AL=7,CF=1。即BCD运算结果为17,个位向十位有进位。实际上当低4位的结果>9(即在A~F之间)时,也应进行加6调正。其原因是逢十没有产生进位,故需要用加6的方法强行产生进位。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯