代码设计:
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]!
- 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寄存器的地址。