ARM 总共有 37 个寄存器
ARM 寄存器物理分类
通用寄存器:
1: 不分组寄存器 (R0--R7)
2: 分组寄存器 (R8-R14)
3: 程序计数器 (R15)(注意: 又名 pc 指针)
程序状态寄存器:
- CPSR
- SPSR
应用分类:(有一部分是相同寄存器在不同状态下的不同功能)
31 个通用寄存器:
未分组寄存器 (R0-R7)
分组寄存器 (R8 -R14 )
R15(PC 指针)
注意: 其中 R13 R14 R15 最为特殊
R13 通常被用来充当堆栈指针 (SP)
R14 通常被用作链接寄存器, 有两种功能 (1: 在每种模式下下用于保存函数调用子函数, 子函数调用完毕返回的主函数的地 2: 用于保存在处理完中断后的返回的处理中断时的地址)
R15 通常用于程序计数器
6 个状态寄存器
CPSR 用于保存程序任意时刻的状态可以被覆盖
SPSR 用于保存处理中断之前的所用状态, 处理完中断后复制到 CPSR 中
程序状态寄存器中的各个位的功能
重要的是 NZIFM 这 4 个位
N: 用于比较两个数的比较
Z: 也是用于比较两个数的大小, 但是只有两个数一样大时才为零
I: 用于屏蔽中断
M:M 主要用于表明 CPU 的不同模式
来源: http://www.bubuko.com/infodetail-2529783.html