8086 程式,帶有進位的兩位 16 位元 BCD 數
在這個程式中,我們將看到如何計算帶有進位的兩個 16 位 BCD 數。
問題陳述
編寫 8086 組合語言程式,將儲存在記憶體位移量 500H - 501H 和 502H - 503H 中的兩個 16 位 BCD 數相加。
討論
在這裡,我們將逐位元組相加 16 位資料。首先,我們相加低位元組並執行 DAA 指令,再將高位元組與進位相加,最後再執行 DAA 以調整。最終結果將儲存在位置位移量 600H,如果出現進位,則將儲存在 601H。
我們取兩個數字 8523 + 7496 = 16019
輸入
地址 | 資料 |
---|---|
… | … |
500 | 23 |
501 | 85 |
502 | 96 |
503 | 74 |
… | … |
流程圖
程式
輸出
地址 | 資料 |
---|---|
… | … |
600 | 19 |
601 | 60 |
602 | 01 |
… | … |
廣告