汇编 push ,pop指令

Posted whzym111

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编 push ,pop指令相关的知识,希望对你有一定的参考价值。

知识点:
? 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

 

以上是关于汇编 push ,pop指令的主要内容,如果未能解决你的问题,请参考以下文章

汇编中push指令后面可以直接加数字吗 比如push

关于汇编中push ebp和pop ebp指令的解释

Android 逆向x86 汇编 ( push / pop 入栈 / 出栈 指令 | ret / retn 函数调用返回指令 | set 设置目标值指令 )

Android 逆向x86 汇编 ( push / pop 入栈 / 出栈 指令 | ret / retn 函数调用返回指令 | set 设置目标值指令 )

《Linux内核 核心知识全解析(完)》

汇编效率优化:指令处理机制