Z-80中的块交换

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

每个块的项目数在位置5000H处给出,而块在位置5050H和5070H处给出。

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

地址
5000小时04小时




5050小时89小时
5051H7AH
5052H2FH
5053H56小时




5070小时美国空军
5071HA9H
5072H跳频
5073H21小时




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

程序

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

输出结果

地址
5000小时04小时




5050小时美国空军
5051HA9H
5052H跳频
5053H21小时




5070小时89小时
5071H7AH
5072H2FH
5073H56小时