8085程式查詢兩個8位數的最大值


在本程式中,我們將瞭解如何查詢兩個數字中的最大值。

問題陳述

編寫8085組合語言程式,查詢儲存在8000H和8001H位置的兩個8位數中的最大數。

討論

此檢查是透過使用CMP指令完成的。此指令與SUB指令非常相似。唯一的區別在於它在執行後不更新累加器的值。因此,比較後,如果CY標誌被設定,則表示第一個數字較小,第二個數字較大。

輸入

第一個輸入

地址
資料
.
.
.
.
.
.
8000
FD
8001
23
.
.
.
.
.
.

第二個輸入

地址
資料
.
.
.
.
.
.
8000
59
8001
75
.
.
.
.
.
.


流程圖

程式

地址
十六進位制程式碼
標籤
助記符
註釋
F000
21, 00, 80


LXI H, 8000H
指向第一個數字
F003
46


MOV B,M
將第一個數字載入到B中
F004
23


INX H
指向下一個位置
F005
7E


MOV A,M
將第二個數字獲取到A中
F006
B8


CMP B
將B與A比較
F007
D2, 0B, F0


JNC STORE
如果CY=0,跳轉到Store
F00A
78


MOV A,B
將A載入為第二個數字
F00B
32, 50, 80
STORE
STA 8050H
將數字儲存到記憶體中
F00E
76


HLT
終止程式


輸出

第一個輸出

地址
資料
.
.
.
.
.
.
8050
FD
.
.
.
.
.
.


第二個輸出

地址
資料
.
.
.
.
.
.
8050
75
.
.
.
.
.
.

更新於: 2019年7月30日

704 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告