Intel 堆栈指针指向最新项还是下一项?
Is the Intel stack pointer pointing to the latest item or next item?
%esp 指向堆栈中的当前项还是下一条 PUSH 指令将使用的空闲地址?
英特尔手册中对PUSH
的描述回答得很好:
ESP ← ESP – 4;
Memory[SS:ESP] ← SRC;
如您所见,堆栈指针是预先递减的,因此在 PUSH
之后,堆栈指针将指向您刚刚压入的值。
%esp 指向堆栈中的当前项还是下一条 PUSH 指令将使用的空闲地址?
英特尔手册中对PUSH
的描述回答得很好:
ESP ← ESP – 4;
Memory[SS:ESP] ← SRC;
如您所见,堆栈指针是预先递减的,因此在 PUSH
之后,堆栈指针将指向您刚刚压入的值。