8085程式,使用直接定址方式交換兩個8位數
在這個程式中,我們將學習如何在直接定址模式下交換兩個數字。
問題陳述
編寫8085組合語言程式,使用直接定址模式交換儲存在8000H和8001H位置的兩個8位數。
討論
在本例中,我們使用HL對從記憶體中獲取數字。HL對儲存資料項的地址。我們將第一個數字載入到B暫存器,第二個數字載入到A暫存器,然後將B暫存器的內容儲存到下一個位置,並將A暫存器的值儲存到第一個位置。
輸入
地址 | 資料 |
---|---|
. . . | . . . |
8000 | CD |
8001 | 34 |
. . . | . . . |
流程圖
程式
地址 | 十六進位制程式碼 | 助記符 | 註釋 |
---|---|---|---|
F000 | 21, 00, 80 | LXI H,8000H | 指向第一個數字 |
F003 | 46 | MOV B,M | 將第一個數字載入到B暫存器 |
F004 | 23 | INX H | 指向下一個數字 |
F005 | 7E | MOV A,M | 將第二個數字載入到A暫存器 |
F006 | 70 | MOV M,B | 將第一個數字儲存到第二個位置 |
F007 | 2B | DCX H | 指向前一個位置 |
F008 | 77 | MOV M,A | 將第二個數字儲存到第一個位置 |
F009 | 76 | HLT | 終止程式 |
輸出
地址 | 資料 |
---|---|
. . . | . . . |
8000 | 34 |
8001 | CD |
. . . | . . . |
廣告