Z-80 中的块交换


在本节中,我们将了解如何使用 Zilog Z-80 微处理器交换两个不同块中每个元素的内容。

每个块中的项目数量在 5000H 位置给出,块位于 5050H 和 5070H 位置。

因此,在交换内存中的项目之前,看起来像这样

地址
5000H04H

.
.
.
5050H89H
5051H7AH
5052H2FH
5053H56H

.
.
.
5070HAFH
5071HA9H
5072HFBH
5073H21H

.
.
.

现在,我们正在 8000H 位置编写一个程序来交换块内容。

程序

地址十六进制代码标签助记符注释
800021 00 50
LD HL, 5000H将 HL 对加载为 5000H
8003DD 21 50 50
LD IX, 5050H将索引寄存器设置为 5050H
8007DD 7E 00
LD A, (IX+00H)将累加器加载为 IX + 00H
800ADD 46 20
LD B, (IX+20H)将 B 加载为 IX + 20H
800DDD 70 00LOOPLD (IX+00H), B将 B 寄存器内容加载到 IX + 00H
8010DD 77 20
LD (IX+20H), A将累加器内容加载到 IX + 20H
8013DD 23
INC IX增加 IX 寄存器
801535
DEC (HL)减少内存内容,由 HL 对指向的指针
8016C2 07 80
JP NZ, LOOP当零标志关闭时,跳转到循环
801976
HALT停止程序

输出

地址
5000H04H

.
.
.
5050HAFH
5051HA9H
5052HFBH
5053H21H

.
.
.
5070H89H
5071H7AH
5072H2FH
5073H56H

.
.
.

更新于: 2019-07-30

168 次查看

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告