ARM嵌入式——多寄存器寻址

多寄存器寻址

IA: 每次传送后地址加4;
IB: 每次传送前地址加4;
DA: 每次传送后地址减4;
DB: 每次传送前地址减4;
FD: 满递减堆栈;
ED: 空递减堆栈;
FA: 满递增堆栈;
EA: 空递增堆栈。

例:

LDRIA R0!,{
    
    R1-R3,R5}   
//将R0的值作为地址,其连续存储单元的值传送给R1-R3,R5

R0=0x00000000;
地址对应如下:
0x00000000:0x01
0x00000004:0x02
0x00000008:0x03
0x0000000C:0x04
0x00000010:0x05
命令执行后:
R0=0x00000010
R1=0x01 //[R0]
R2=0x02 //[R0+4]
R3=0x03 //[R0+8]
R5=0x04 //[R0+12]

LDRIB R0!,{
    
    R1-R3,R5}

命令执行后:
R0=0x00000010
R1=0x02 //[R0+4]
R2=0x03 //[R0+8]
R3=0x04 //[R0+12]
R5=0x05 //[R0+16]

猜你喜欢

转载自blog.csdn.net/weixin_44044395/article/details/111559312