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 |
. . . | . . . |
廣告