Arm指令之传送指令与内存寻址(定义数据段,从中读取数据,验证三种形式)

代码设计:

mov r0,#4

mov r1,#2

mov r2,#8

定义数据段src用来取数据:

src

dcd 0x12ab1f11,0x1ab2,0x123496f8,4,5,6,7,8,9

寻址方法:

1.寄存器间接寻址

ldr r1,=src

ldr r3,[r1]

2.前变址不回写:

ldr r4,[r1,#4]

ldr r5,[r1,r2]

3.前变址回写:

ldr r6,[r1,#4]!

ldr r7,[r1,r2]!

  1. 4.后变址回写:

ldr r8,[r1],#4

ldr r9,[r1],r2

结果及分析:

分析总结:首先定义一个数据段src用来取数据, 将数据段src的地址给r1寄存器。寄存器间接寻址是将r1寄存器中的第一个值取出来给r3寄存器。

前变址不回写:将r1寄存器的第一个值+4送给r4寄存器;将r1寄存器+r2送给r5寄存器。

前变址回写:将r1寄存器的第一个值+4送给r6,同时r1+4; 将r1寄存器的第一个值+r2寄存器的值送给r7,同时r1+r2,更新r1寄存器的地址。

后变址回写:先把r1的第一个值给r8,接着r1+4更新地址; 将r1存储的第一个值给r9,接着r1+r2,更新r1寄存器的地址。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值