Appearance
ARM v7 架构寄存器组织

- 每一种工作模式下只能使用自己这个模式下的寄存器
- Uesr 和 Sys 模式下可以使用的寄存器是 17 个,这 17 个寄存器是通用寄存器
- 除了 sys 模式,其他特权模式都有自己特有的寄存器
- 寄存器没有地址,想访问这个寄存器直接通过寄存器编号进行访问
ARM 有 37 个 32 bits 长的寄存器:
- 1 个用作
PC(protram counter) - 1 个用作
CPSR(current program status register) - 5 个用作
SPSR(saved program status register) - 30 个通用寄存器
Cortex 体系结构下有 40 个 32 bites 长的寄存器:
- Cortex-A 多出三个寄存器:
- Mointer 模式:r13_mon, r14_mon, spsr_mon
当前处理器的模式决定着哪组寄存器可操作,任何模式都可以存取:
- 相对的
r0-r12子集 - 相对的
r13(the stack pointer, sp)andr14(the link register, lr) - 相对的
r15(the program counter, pc)相应的CPSR(current program status register) - 特权模式(除 system 模式)还可以存取,相应的
SPSR(saved program status register)
ARM v8 架构的寄存器组织
