ARM状态下各模式寄存器小结
所有的37个寄存器分两大类:
- 31个通用32位寄存器(实际所有对应物理物理寄存器)
- 6个状态寄存器
R8与R8_fig是不同的寄存器
R0-R7为未分组寄存器,对于任何处理器模式,这些寄存器都对应相同的32位物理寄存器
R8-R12有2个分组的物理寄存器,一个用于FIQ模式,一个用于其他模式(这样可以加快FIQ的处理速度)
R13-R14有6个分组的物理寄存器,一个用于用户和系统模式,其余模式分别用于5种异常模式
- R13作为堆栈指针(sp)
- R14作为链接寄存器(LR),用于子程序或异常返回地址
R15程序计数器(PC)
CPSR程序状态寄存器
SPSR程序状态保存寄存器,只存在异常模式(只有进入异常模式才需要备份程序状态)