/*给30H-40H单元赋初始值操作*/
MAIN1: MOV R2,#10H ;设置循环次数(16次)
MOV R1,#30H ;设置数据开始单元位置
MOV R0,#11H ;设置默认数据
LOOP1: MOV A,R0 ;将初始数据赋给A
MOV @R1,A ;将A (初始数据)赋给30H,31H,32H...
INC R1 ;将地址位增
INC R0 ;默认数据增
DJNZ R2,LOOP1;若循环次数不达16次则跳转L0OP1循环
/*将30H-40H的数据转移到60H-70H操作*/
MAIN2: MOV R2,#10H ;设置循环次数
MOV R1,#30H ;设置数据开始位置
MOV R0,#60H ;设置要转移数据的位置
LOOP2: MOV A,@R1 ;将R1的地址中的数据赋给A
MOV @R0,A ;将A (30H)的数据赋给R0指向的地址( 60H);将A清零
CLR A ;将A清零
MOV @R1,A ;将原始数据单元清零
INC R1 ;原始地址位增一
INC R0 ;目标地址位增一
DJNZ R2,LOOP2;循环16次
SJMP $
END
搬移前的30H单元
搬移前的60H单元
搬移后的30H单元
搬移后的60H单元