R0~R数据操作中有32个通用寄存器:
- R0~R7是低组寄存器,所有指令都可以访问。
- R8~R只有32个高组寄存器Thumb很少有16位指令和16位指令Thumb可访问指令。
Cortex-M3有两个堆栈指针,但它们是banked,其中一个只能在任何时候使用。
- 主堆栈指针(MSP):复位后缺少的堆栈指针用于操作系统核心和异常处理(包括中断服务)。
- 堆栈指针的过程(PSP):使用用户的应用程序代码。
连接寄存器LR用于在调用子程序时存储返回地址。例如,在使用中BL(分支变连接,Branch and Link)自动填写指令LR的值。
程序计数寄存器PC指向当前的程序地址。若修改其值,则可改变程序行流。