ARM寄存器:
ARM 共有37个寄存器,分为:
l 31个通用寄存器。包括程序计数器PC在内。这些寄存器都是32位的。
l 6个状态寄存器。这些寄存器都是32位寄存器,但目前只使用了其中的12位。
ARM有七种不同的处理器模式。在每一种处理模式中都有一组对应的寄存器组。任意时刻可见的寄存器组包括15个通用寄存器R0~R14,一个或者两个状态寄存器及程序计数器PC。
通用寄存器:
l 未备份寄存器包括R0到R7
l 备份寄存器R8到R14
l 程序计数器PC即R15
对于未备份寄存器来说,在所有的处理器模式下指的都是同一个物理寄存器。
对于备份寄存器来说每个寄存器对应不同的物理寄存器。中断模式下R8和R9分别记为R8_fiq,R9_fiq,当在用户模式下时为R8_usr,R9_usr。
R14又称连接寄存器LR.
程序状态寄存器
CPSR(当前程序状态寄存器)可以在任何处理模式下被访问,它包含了条件标志位,中断禁止位,当前处理器模式标志以及其他的一些控制和状态位。
每一种处理模式下都有一个专用的物理状态寄存器称为SPSR(备份程序状态寄存器)。
ARM