1、ARM处理器根据指令中给出的地址信息来寻找物理地址的几种方式:
立即寻址,寄存器寻址,寄存器间接寻址,基址变址寻址,多寄存器寻址,相对寻址,堆栈寻址 。
2、案例分析
AREA Example,CODE,READONLY ;声明代码段Example
ENTRY ;标识程序入口
CODE32 ;声明32位ARM指令
START
MOV SP,#0x300000
MOV R1,#0x11
MOV R2,#0x22
MOV R3,#0x33
扫描二维码关注公众号,回复:
3857775 查看本文章
MOV R4,#0x44
MOV R5,#0x55
STMFA R13!,{R2-R5} ;保存寄存器R2~R5内容保存入堆栈
MOV R2,#0x77 ;改变R2中的值
LDMFA R13!,{R2-R5} ;从堆栈中还原之前保存的寄存器的值
MOV SP,#0x400000
STMEA R13!,{R1-R5} ;将寄存器R1~R5内容存入堆栈,EA是如何存的?
MOV SP,#0x540000
STMFD R13!,{R2-R5} ;将寄存器R2~R5内容存入堆栈
MOV R3,#0x66
LDMFD R13!,{R2-R5} ;以FD的模式从堆栈中还原寄存器的值
MOV SP,#0x600000
STMED R13!,{R2-R4}
B START
END