寄存器组(堆栈指针寄存器小解)
寄存器组
主堆栈指针(MSP):这是缺省的堆栈指针,它由 OS 内核、异常服务例程以及所有需要特权访问的
应用程序代码来使用。
进程堆栈指针(PSP):用于常规的应用程序代码(不处于异常服务例程中时)。
另外以下两点要注意:
大多数情况下的应用,只需使用指针 MSP,而 PSP 多用于 RTOS 中。
R13 的最低两位被硬线连接到 0,并且总是读出 0,这意味着堆栈总是 4 字节对齐的。
栈是向下伸长的
出入栈操作时候的SP寄存器
这里对入栈和出栈做个简单的介绍。PUSH 入栈操作:SP 先自减 4,再存入新的数值:
POP 出栈操作:先从 SP 指针处读出上一次被压入的值,再把 SP 指针自增 4。
例子
uint32_t a = 0<