8085程序:将位块从源位置移动到目标位置


问题陈述 − 将从8050H到805FH存储的16个数据块移动到从8070H到807FH的目标位置。

Algorithm
地址 十六进制代码 标签 助记符 T状态 注释
8000

21

50

80

START LXI H, 8050H 10 将HL寄存器对设置为源内存指针。
8003

11

70

80

LXI D, 8070H 10 将DE寄存器对设置为目标内存指针
8006

06

10

MVI B, 10H 7 将B寄存器设置为计数器,计数16个字节
8008 7E LOOP MOV A, M 7 从源获取数据字节。
8009 12 STAX D 7 将数据字节存储到目标位置
800A 23 INX H 6 将HL指向下一个源位置
800B 13 INX D 6 将DE指向下一个目标位置
800C 05 DCR B 4 计数器减1
800D

C2

08

80

JNZ LOOP 10 如果计数器不为0,则返回传输下一个字节。
8010 76 HLT 5 停止
总共17个字节 总共69个T状态

总T状态 = T循环外 + T循环内

T循环外 = (10+10+7+5) = 32

T循环内 = ((7+7+6+6+4+10) * 16 - 3) = (40 * 16 - 3) = 637

所以总T状态 = 32 + 637 = 669

主程序从8000H – 8010H位置开始。

源数据块从8050H – 805FH。

目标块从8070H – 807FH

输入 输出
地址 地址
8050H 00 8070H 00
8051H 11 8071H 11
8052H 22 8072H 22
8053H 33 8073H 33
8054H 44 8074H 44
8055H 55 8075H 55
8056H 66 8076H 66
8057H 77 8077H 77
8058H 88 8078H 88
8059H 99 8079H 99
805AH AA 807AH AA
805BH BB 807BH BB
805CH CC 807CH CC
805DH DD 807DH DD
805EH EE 807EH EE
805FH FF 807FH FF

更新于:2019年7月30日

5K+浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告