知识点: PUSH POP CALL堆栈平衡 RETN指令 一、PUSH入栈指令 (压栈指令): 格式: PUSH 操作数 //sub esp,4 ;mov [esp],EBP 操作数可以是寄存器,存储器,或者立即数 二、POP出栈指令 (弹栈指令) 格式:POP 操作数 //mov EBP,[esp] ;add esp,4 操作数是寄存器,或者存储器,不能是立即数 三、代码分析 1、测试PUSH和POP 与ESP栈顶指针的关系 2、CALL与ESP的关系 3、总结栈的特点(后进先出) [EBP-??] // 局部变量 [ EBP+??] //上一个CALL 局部变量, 上一个CALL传入参数 CALL PUSH EIP RETN POP EIP