Z-80中的滑块运动没有重叠

在本节中,我们将看到如何使用Zilog Z-80微处理器将数据块移动到另一个位置。有一个假设,即源和目标之间有足够的距离。因此,块是不重叠的。基本上,块移动不是精确的移动,它是将数据复制到其他位置。

块中的项目数在位置5000H处给出,而块在位置5050H处给出。

因此,在移动之前,内存中的项目看起来像这样。

地址
5000小时04小时




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




现在,我们正在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 77 20
LD(IX + 20H),AIX + 20H时Acc的负载量
800DDD 23
第九届增加索引寄存器
800F35
DEC(HL)减少存储位置的内容,以HL对指向
8010C2 07 80
JP NZ,LOOP零标志关闭时跳转到循环
801376
停止停止程序

输出结果

地址
5000小时04小时




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




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