8085程式查詢兩個數中的最小數
在這個程式中,我們將瞭解如何找到兩個數中的最小數。
問題陳述
編寫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 | DA, 0B, F0 | JC STORE | 如果CY=1,跳轉到Store | |
F00A | 78 | MOV A,B | 將A載入為第二個數字 | |
F00B | 32, 50, 80 | STORE | STA 8050H | 將數字儲存到記憶體中 |
F00E | 76 | HLT | 終止程式 |
輸出
第一個輸出
地址 | 資料 |
---|---|
. . . | . . . |
8050 | 23 |
. . . | . . . |
第二個輸出
地址 | 資料 |
---|---|
. . . | . . . |
8050 | 59 |
. . . | . . . |
廣告