BCD碼加法的步驟及其原因

2021-10-12 10:06:14 字數 684 閱讀 1721

當兩個bcd碼相加,如果和等於或小於 1001(即十進位制數9),不需要修正;

如果相加之和在 1010 到1111(即十六進製制數 0ah~0fh)之間bai,則需加 6 進行修正;

如果相加時,本位產生了進製,也需加 6 進行修正。

這樣做的原因是,機器按二進位制相加,所以 4 位二進位制數相加時,是按「逢十六進一」的原則進行運算的,而實質上是 2 個十進位制數相加,應該按「逢十進一」的原則相加。

16 與10相差 6,所以當和超過 9或有進製時,都要加 6 進行修正。下面舉例說明。

①需要修正 bcd碼運算值的舉例。

計算 5+8:

解:將 5 和 8 以 8421 bcd輸入機器,則運算如下:

0 1 0 1

+) 1 0 0 0

1 1 0 1 結果大於 9

+) 0 1 1 0 加 6 修正

1 0 0 1 1 即13 的 bcd碼

結果是 0011,即十進位制數3,還產生了進製。5+8=13。

②不需要修正 bcd碼運算值的舉例。

計算3+6:

解: 0011

+) 0110

1 0 0 1

這個時候我們再加6修正(二進位制的0110)

結果是1111

並沒有發生進製,所以說我們要進行修正,把6減去

結果是1001也就是十進位制的9

BCD碼的加法和減法

bcd碼以四位二進位制數視作乙個十進位制位 例 bcd碼0011 0100 二進位制 34h 十六進製制 表示34 十進位制 bcd碼修正規則如下 1 若兩個8421碼數相加之和等於或小於1001,不需修正。2 若相加和在10 15之間,一方面應向高位產生進製,本身還要進行加6修正,進製是在加6修正...

COP2000實現BCD碼的加法

mov a,29h 輸入六位數的被加數存入三個位元組中 mov 0f0h,a mov a,99h mov 0f1h,a mov a,99h mov 0f2h,a mov a,99h 輸入六位數的加數存入三個位元組中 mov 0f3h,a mov a,99h mov 0f4h,a mov a,99h ...

BCD 碼的加減法及其混合運算

a 熟悉 掌握十進位制調整指令 bcd 碼 b 實現 bcd 碼的加減及其混合運算 a 重點 進行 bcd 碼加減法運算時,需要利用十進位制調整指令,所以要熟悉其指令格式。1.daa 指令 指令格式 daa daa為無目操作,用以完成對bcd碼加運算校正 用法 al 2.das 指令 指令格式 da...