ARM寻址方式

1、ARM处理器根据指令中给出的地址信息来寻找物理地址的几种方式:

立即寻址,寄存器寻址,寄存器间接寻址,基址变址寻址,多寄存器寻址,相对寻址,堆栈寻址 。

2、案例分析

AREA Example,CODE,READONLY  ;声明代码段Example

  ENTRY  ;标识程序入口

  CODE32  ;声明32ARM指令

START

  MOV  SP,#0x300000

  MOV  R1,#0x11

  MOV  R2,#0x22

  MOV  R3,#0x33

  MOV  R4,#0x44

  MOV  R5,#0x55

  STMFA  R13!,{R2-R5}  ;保存寄存器R2R5内容保存入堆栈

  MOV  R2,#0x77  ;改变R2中的值

  LDMFA  R13!,{R2-R5}  ;从堆栈中还原之前保存的寄存器的值

  MOV  SP,#0x400000

  STMEA  R13!,{R1-R5}  ;将寄存器R1R5内容存入堆栈,EA是如何存的?

  MOV  SP,#0x540000

  STMFD  R13!,{R2-R5}  ;将寄存器R2R5内容存入堆栈

  MOV  R3,#0x66

  LDMFD  R13!,{R2-R5}  ;FD的模式从堆栈中还原寄存器的值

  MOV  SP,#0x600000

  STMED  R13!,{R2-R4} 

  B START

  END

猜你喜欢

转载自blog.csdn.net/xiezhi123456/article/details/83154846