8085程式:兩個BCD數的加法
在這個程式中,我們將學習如何新增兩個8位BCD數。
問題陳述
編寫8085組合語言程式,將儲存在記憶體位置8000H-8001H中的兩個8位BCD數相加。
討論
這項任務非常簡單。我們從記憶體中獲取數字,然後新增DAA指令以將累加器內容調整為十進位制形式。DAA將檢查AC和CY標誌以將數字調整為其十進位制形式。
輸入
| 地址 | 資料 |
|---|---|
| ... | ... |
| 8000 | 99 |
| 8001 | 25 |
| ... | ... |
流程圖

程式
| 地址 | 十六進位制程式碼 | 標籤 | 助記符 | 註釋 |
|---|---|---|---|---|
| F000 | 21, 00, 80 | LXI H,8000H | 指向第一個運算元 | |
| F003 | 7E | MOV A, M | 將第一個運算元載入到A暫存器 | |
| F004 | 23 | INX H | 指向下一個運算元 | |
| F005 | 86 | ADD M | 將累加器和記憶體元素相加 | |
| F006 | 27 | DAA | 調整為十進位制 | |
| F007 | 21, 50, 80 | LXI H,8050H | 定位目標地址 | |
| F00A | 77 | MOV M, A | 將結果儲存到記憶體中 | |
| F00B | D2, 12, F0 | JNC DONE | 如果CY=0,則跳轉到DONE | |
| F00E | 3E, 01 | MVI A, 01H | 將01H載入到A暫存器 | |
| F010 | 23 | INX H | 指向下一個位置 | |
| F011 | 77 | MOV M,A | 儲存進位 | |
| F012 | 76 | DONE | HLT | 終止程式 |
輸出
| 地址 | 資料 |
|---|---|
| ... | ... |
| 8050 | 25 |
| 8051 | 01 |
| ... | ... |
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP