ARM总共有37个寄存器
ARM寄存器物理分类
通用寄存器:
1:不分组寄存器(R0--R7)
2:分组寄存器(R8-R14)
3:程序计数器(R15)(注意:又名pc指针)
程序状态寄存器:
1:CPSR
2: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 的不同模式