Z-80 中的塊交換
在本節中,我們將瞭解如何使用 Zilog Z-80 微處理器交換兩個不同塊中每個元素的內容。
每個塊中的專案數量在 5000H 位置給出,塊位於 5050H 和 5070H 位置。
因此,在交換記憶體中的專案之前,看起來像這樣
| 地址 | 值 |
|---|---|
| 5000H | 04H |
| . . . | |
| 5050H | 89H |
| 5051H | 7AH |
| 5052H | 2FH |
| 5053H | 56H |
| . . . | |
| 5070H | AFH |
| 5071H | A9H |
| 5072H | FBH |
| 5073H | 21H |
| . . . |
現在,我們正在 8000H 位置編寫一個程式來交換塊內容。
程式
| 地址 | 十六進位制程式碼 | 標籤 | 助記符 | 註釋 |
|---|---|---|---|---|
| 8000 | 21 00 50 | LD HL, 5000H | 將 HL 對載入為 5000H | |
| 8003 | DD 21 50 50 | LD IX, 5050H | 將索引暫存器設定為 5050H | |
| 8007 | DD 7E 00 | LD A, (IX+00H) | 將累加器載入為 IX + 00H | |
| 800A | DD 46 20 | LD B, (IX+20H) | 將 B 載入為 IX + 20H | |
| 800D | DD 70 00 | LOOP | LD (IX+00H), B | 將 B 暫存器內容載入到 IX + 00H |
| 8010 | DD 77 20 | LD (IX+20H), A | 將累加器內容載入到 IX + 20H | |
| 8013 | DD 23 | INC IX | 增加 IX 暫存器 | |
| 8015 | 35 | DEC (HL) | 減少記憶體內容,由 HL 對指向的指標 | |
| 8016 | C2 07 80 | JP NZ, LOOP | 當零標誌關閉時,跳轉到迴圈 | |
| 8019 | 76 | HALT | 停止程式 |
輸出
| 地址 | 值 |
|---|---|
| 5000H | 04H |
| . . . | |
| 5050H | AFH |
| 5051H | A9H |
| 5052H | FBH |
| 5053H | 21H |
| . . . | |
| 5070H | 89H |
| 5071H | 7AH |
| 5072H | 2FH |
| 5073H | 56H |
| . . . |
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP