ARM共有37个寄存器。其中31个通用寄存器和6个状态寄存器。
一般通用寄存器R0-R12
R0-7为未分组寄存器;R8-12为分组寄存器。
未分组寄存器:在任何模式下,指向的都是同一个32位的物理寄存器。
分组寄存器:在不同的模式下,同一个寄存器名称对应这不同的物理寄存器。
堆栈指针R13(SP:Stack Pointer)
程序进入异常模式时,可以将需要保护的寄存器数据放入R13中。当程序从异常模式返回时,则从对应的堆栈中恢复数据。
链接寄存器R14(LR:Link Register)
程序计数器R15(PC:Programm Counter)
指向下一条要读取指令的地址
当前程序状态寄存器(CPSR:Current Programm Status Register)
用来存储当前程序状态寄存器的内容:条件标志位、中断禁止位、当前处理器模式和其他状态和控制信息。
条件标志位
模式标志位
原文:https://www.cnblogs.com/foggia2004/p/10701538.html