8085程式用於加兩個8位數
在這個程式中,我們將看到如何使用8085微處理器來加兩個8位數。
問題陳述
編寫8085組合語言程式,將兩個8位數相加,並將結果儲存在8050H和8051H位置。
討論
為了執行此任務,我們使用了8085微處理器的ADD操作。當加法的結果是1位元組結果時,進位標誌將不會被啟用。當結果超出1位元組範圍時,進位標誌將為1。
我們使用8000H和8001H位置的兩個數字。當數字為6CH和24H時,結果將為(6C + 24 = 90),當數字為FCH和2FH時,結果將為(FC + 2F = 12B)。這裡結果超出了1位元組的範圍。
輸入
第一個輸入
| 地址 | 資料 |
|---|---|
| . . . | . . . |
| 8000 | 6C |
| 8001 | 24 |
| . . . | . . . |
第二個輸入
| 地址 | 資料 |
|---|---|
| . . . | . . . |
| 8000 | FC |
| 8001 | 2F |
| . . . | . . . |
流程圖

程式
| 地址 | 十六進位制程式碼 | 標籤 | 助記符 | 註釋 |
|---|---|---|---|---|
| F000 | 0E,00 | MVIC,00H | 清零C暫存器 | |
| F002 | 21,00, 80 | LXIH,8000H | 載入初始地址以獲取運算元 | |
| F005 | 7E | MOVA, M | 將Acc載入到記憶體單元 | |
| F006 | 23 | INX H | 指向下一個位置 | |
| F007 | 46 | MOVB, M | 將B載入到第二個運算元 | |
| F008 | 80 | SUB B | 將B與A相加 | |
| F009 | D2,0D, F0 | JNC STORE | 當CY = 0時,跳轉到STORE | |
| F00C | 0C | INR C | 將C加1 | |
| F00D | 21,50, 80 | STORE | LXIH,8050H | 載入目標地址 |
| F010 | 77 | MOVM, A | 儲存結果 | |
| F011 | 23 | INX H | 指向下一個位置 | |
| F012 | 71 | MOVM, C | 儲存進位 | |
| F013 | 76 | HLT | 終止程式 |
輸出
第一個輸出
| 地址 | 資料 |
|---|---|
| . . . | . . . |
| 8050 | 90 |
| 8051 | 00 |
| . . . | . . . |
第二個輸出
| 地址 | 資料 |
|---|---|
| . . . | . . . |
| 8050 | 2B |
| 8051 | 01 |
| . . . | . . . |
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP