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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编中push指令后面可以直接加数字吗 比如push相关的知识,希望对你有一定的参考价值。

参考技术A PUSH后面是可以直接加数字的,相当于将后面这个数字压入当前栈顶。使用格式为:
PUSH
DATA
比如:PUSH
50
当SP=0100H时,执行该语句后0100H这个地址中就存入了50这个数据。
与之对应的是POP语句,这个语句后面是不能跟数字的,因为POP后面是目标地址。

汇编 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指令后面可以直接加数字吗 比如push的主要内容,如果未能解决你的问题,请参考以下文章

汇编指令学习(寻址方式)

汇编指令,INC指令的操作数都可以是啥

汇编语言中CALL可以用啥代替

我可以先执行“ PUSH”指令使用其他指令执行的相同任务吗?

C语言 push和pop函数可以直接用吗?

汇编语言语句类型格式