stack pointer(栈指针):在计算机体系结构中,用来指向当前栈顶位置的寄存器或内存地址。它随着函数调用、返回、入栈(push)与出栈(pop)等操作而变化。常见缩写为 SP。(在不同架构里也可能有相关变体,如帧指针 FP。)
/ˈstæk ˌpɔɪntər/
The stack pointer moves when you push or pop values.
当你将数值入栈或出栈时,栈指针会移动。
After the function call, the stack pointer is adjusted to reserve space for local variables, which must be restored before returning.
函数调用后,栈指针会被调整以为局部变量预留空间,并且在返回前必须恢复。
stack 原指“堆叠的一摞”,在计算机术语中借用来表示“后进先出(LIFO)的数据结构:栈”;pointer 来自“指向者/指示器”的含义。在计算机体系结构里,“stack pointer”字面意思就是“指向栈位置的指针”,逐渐固定为“指向栈顶的寄存器/地址”这一专业含义。
RSP/ESP 等寄存器与栈操作指令时系统性出现 stack pointer。