FP 通常与 SP(stack pointer)堆栈指针 易混淆
这里讲一下两者的区别与联系
SP:stack pointer 堆栈指针,总是指向栈顶
FP:frame pointer 栈帧指针,每个进程的栈空间为一帧,FP指向 当前进程栈空间的 栈底。
在多进程环境中,每个进程都有自己的栈空间,但所有进程的栈空间都在同一块存储空间,怎么确定各进程的栈呢?这就要看FP和SP,FP指向栈底,SP指向栈顶,这样,一个进程的栈空间就确定了。
R15 | PC | 程序计数器 | |
R14 | LR | 连接寄存器 | 在程序跳转时保存当前地址,即子程序返回地址 |
R13 | SP | 堆栈指针寄存器 | 始终指向栈顶 |
R12 | IP | 中断优先寄存器 | |
R11 | FP | 栈帧指针寄存器 | 指向栈底 |