标题:用汇编语言编程将片内 RAM 中 30H 单元开始的 16 个字节数据,传送到片内 RAM 的 60H 开始的 16 个单元中,并将原数据块区域全部清零。


/*给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单元

 

 

 

 

  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值