使用直接定址方式交換兩個16位數的8085程式
在這個程式中,我們將學習如何使用直接定址模式交換兩個16位數。
問題陳述
編寫一個8085組合語言程式,使用直接定址模式交換儲存在8000H-8001H和8002H-8003H位置的兩個16位數。
討論
在這裡,我們使用XCHG指令交換值。此指令交換DE和HL暫存器對的內容。我們將第一個數字放入DE暫存器對,然後將第二個數字放入HL暫存器對,然後透過XCHG交換它們。
輸入
地址 | 資料 |
---|---|
. . . | . . . |
8000 | CD |
8001 | AB |
8002 | 34 |
8003 | 12 |
. . . | . . . |
流程圖
程式
地址 | 十六進位制程式碼 | 助記符 | 註釋 |
---|---|---|---|
F000 | 2A, 00, 80 | LHLD 8000H | 將第一個數字載入到HL暫存器 |
F003 | EB | XCHG | 交換DE和HL暫存器 |
F004 | 2A, 02, 80 | LHLD 8002H | 將第二個數字載入到DE暫存器 |
F007 | 22, 00, 80 | SHLD 8000H | 將第二個數字儲存在第一個位置 |
F00A | EB | XCHG | 交換DE和HL暫存器 |
F00B | 22, 02, 80 | SHLD 8002H | 將第一個數字儲存在第二個位置 |
F00E | 76 | HLT | 終止程式 |
輸出
地址 | 資料 |
---|---|
. . . | . . . |
8000 | 34 |
8001 | 12 |
8002 | CD |
8003 | AB |
. . . | . . . |
廣告