POP

作者:Vesper Vei
1 分钟阅读

目录

  1. POP(pop)
    1. 基本作用
    2. 指令执行过程
    3. 指令格式
    4. 行为特性
    5. 等效展开示例
    6. ASCII 栈示意
    7. 常见用途

POP(pop)

基本作用

POP 指令将栈顶数据弹出到目标操作数中,然后上移栈指针。
与 PUSH 相反,POP 会使 ESP/RSP 增加。

指令执行过程

64 位:

操作数 = [rsp]
rsp = rsp + 8

32 位:

操作数 = [esp]
esp = esp + 4

指令格式

允许以下操作数:

不允许:

行为特性

等效展开示例

pop rax
; 等价于
mov rax, [rsp]
add rsp, 8

ASCII 栈示意

执行前:

rsp → +------------------+
| 要弹出的值 |
+------------------+

执行 pop rax 后:

rsp → +------------------+
| (旧数据) |
+------------------+
; rax = 原栈顶值

image.png ⚠️注意,这里的 0x0012FF88 处的栈数据不会被清空,但程序正常执行时会覆盖

常见用途



关系图谱

Loading graph...