Skip to content
On this page

ARM汇编_ARM寄存器组织


标签:ARM32汇编/基础  

ARM v7 架构寄存器组织

  1. 每一种工作模式下只能使用自己这个模式下的寄存器
  2. Uesr 和 Sys 模式下可以使用的寄存器是 17 个,这 17 个寄存器是通用寄存器
  3. 除了 sys 模式,其他特权模式都有自己特有的寄存器
  4. 寄存器没有地址,想访问这个寄存器直接通过寄存器编号进行访问

ARM 有 37 个 32 bits 长的寄存器:

  1. 1 个用作 PC(protram counter)
  2. 1 个用作 CPSR(current program status register)
  3. 5 个用作 SPSR(saved program status register)
  4. 30 个通用寄存器

Cortex 体系结构下有 40 个 32 bites 长的寄存器:

  • Cortex-A 多出三个寄存器:
  • Mointer 模式:r13_mon, r14_mon, spsr_mon

当前处理器的模式决定着哪组寄存器可操作,任何模式都可以存取:

  1. 相对的 r0-r12 子集
  2. 相对的 r13 (the stack pointer, sp)and r14 (the link register, lr)
  3. 相对的 r15 (the program counter, pc)相应的 CPSR (current program status register)
  4. 特权模式(除 system 模式)还可以存取,相应的 SPSR (saved program status register)

ARM v8 架构的寄存器组织

Last updated: