當兩個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...