1、寄存器
ARM微处理器共有
37个
32位寄存器,其中
31
个位通用寄存器,
6
个为状态寄存器
。但是这些寄存器不能同时被访问,具体哪些寄存器是可以访问的,取决于ARM处理器的工作状态及具体的运行模式。
但在任何时候,通用寄存器
R14~R0
、程序计数器
PC(即R15)
、一个状态寄存器都是可以访问的。
2、
寄存器(ARM状态)
在ARM工作状态下,任一时刻都可以访问16个通用寄存器和一到两个状态寄存器。在非用户模式(特权模式)下,则可访问到特定模式分组寄存器,具体如图:
![](https://i-blog.csdnimg.cn/blog_migrate/0d35777462876b147b06e4d2bf22d2cb.png)
3、
寄存器(Thumb状态)
Thumb状态下的寄存器集是ARM状态下寄存器集的一个子集,程序可以直接访问8个通用寄存器(R7~R0)、程序计数器(PC)、堆栈指针(SP)、连接寄存器(LR)和CPSR。具体如图:
![](https://i-blog.csdnimg.cn/blog_migrate/be8fc2a0d2fb5ab8802bbc7df6517173.png)
4、寄存器对应
Thumb状态下的寄存器组织与ARM状态下的寄存器组织的关系: