Z-80 中無重疊的塊移動


在本節中,我們將瞭解如何使用 Zilog Z-80 微處理器將一段資料塊移動到另一個位置。有一個假設,源地址和目標地址之間有足夠的距離。因此,塊是不重疊的。基本上,塊移動不是精確的移動,而是將資料複製到其他位置。

塊中專案的數量位於 5000H 位置,該塊位於 5050H 位置。

因此,在移動之前,記憶體中的專案如下所示。

地址
5000H04H

.
.
.
5050H89H
5051H7AH
5052H2FH
5053H56H

.
.
.

現在,我們正在 8000H 位置編寫一個程式以將塊內容移動到其他位置。

程式

地址十六進位制程式碼標籤助記符註釋
800021 00 50
LD HL, 5000H將 HL 對載入為 5000H
8003DD 21 50 50
LD IX, 5050H將索引暫存器設定為 5050H
8007DD 7E 00LOOPLD A, (IX+00H)將累加器載入為 IX + 00H
800ADD 77 20
LD (IX+20H), A將累加器的內容載入到 IX + 20H
800DDD 23
INC IX增加索引暫存器
800F35
DEC (HL)減少由 HL 對指向的記憶體位置的內容
8010C2 07 80
JP NZ, LOOP當零標誌關閉時跳轉到 Loop
801376
HALT停止程式

輸出

地址
5000H04H

.
.
.
5050H89H
5051H7AH
5052H2FH
5053H56H

.
.
.
5070H89H
5071H7AH
5072H2FH
5073H56H

.
.
.

更新於: 2020-06-26

117 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.