汇编语言中的PUSH的用法

 我来答
长孙梅花干冬
2020-03-15 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:34%
帮助的人:785万
展开全部
PUSH的操作过程是:
(SP)<--(SP)-2,((sp))<--OPRD
即先修改堆栈指针SP(压入时为自动减2),然后,将指定
的操作数送入新的栈顶位置。
此处的((SP))<--OPRD,也可以理解为:
[(SS)*16+(SP)]<--OPRD

[SS:SP]<--OPRD
示例:
PUSH
DX
PUSH
BP
PUSH
CS
PUSH
DATA1
PUSH
ALFA[BX][SI]
注意:
每进行一次压入操作,都压入一个字(16位)。

扩展资料
PUSH
指令
PUSH
指令首先减少ESP的值,再将源操作数复制到堆栈。操作数是16位的,则ESP减
2,操作数是32位的,则
ESP减4,PUSH指令有3种格式:
PUSH
reg/mem16
PUSH
reg/mem32
PUSH
inm32
铁合英御溪
2020-03-11 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:30%
帮助的人:812万
展开全部
push,汇编术语,实现压入操作的指令是PUSH指令;实现弹出操作的指令是POP指令。
  PUSH的操作过程是:
  (SP)<--(SP)-2,((sp))<--OPRD
即先修改堆栈指针SP(压入时为自动减2),然后,将指定
的操作数送入新的栈顶位置,简单来说:减2就是指针上移2个单元。
  此处的((SP))<--OPRD,也可以理解为:
  [(SS)*16+(SP)]<--OPRD

[SS:SP]<--OPRD
  3.
示例:
PUSH
DX
  PUSH
BP
  PUSH
CS
  PUSH
DATA1
  PUSH
ALFA[BX][SI]
  注意:
每进行一次压入操作,都压入一个字(16位)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金蔚逮忻欢
2020-03-13 · TA获得超过3723个赞
知道大有可为答主
回答量:3112
采纳率:30%
帮助的人:184万
展开全部
  push,汇编术语,实现压入操作的指令是PUSH指令;实现弹出操作的指令是POP指令。
  PUSH的操作过程是:
  (SP)<--(SP)-2,((sp))<--OPRD
即先修改堆栈指针SP(压入时为自动减2),然后,将指定
的操作数送入新的栈顶位置,简单来说:减2就是指针上移2个单元。
  此处的((SP))<--OPRD,也可以理解为:
  [(SS)*16+(SP)]<--OPRD

[SS:SP]<--OPRD
  3.
示例:
PUSH
DX
  PUSH
BP
  PUSH
CS
  PUSH
DATA1
  PUSH
ALFA[BX][SI]
  注意:
每进行一次压入操作,都压入一个字(16位)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式