汇编语言中的PUSH的用法

PUSHsrc首先,堆栈指针-2送给堆栈指针,再把源操作数(字)推入堆栈中。我想问的是减2是什么意思?减是的2的十六进制吗??设(ax)=1234H,(sp)=0010H... PUSH src 首先,堆栈指针-2送给堆栈指针,再把源操作数(字)推入堆栈中。我想问的是减2是什么意思?减是的2的十六进制吗??设(ax)=1234H,(sp)=0010H,执行指令"push ax",寄存器和堆栈中的情况如何?重点就在于如何SP-2,如何减。帮忙算一下吧。sp-2j是如何计算的?这一步请高手具体的说一下吧。我先谢过了。不好意思,没分了。 展开
 我来答
小星星教育知识分享
高粉答主

2019-12-08 · 用教师的智慧点燃学生的智慧火花
小星星教育知识分享
采纳数:202 获赞数:67136

向TA提问 私信TA
展开全部

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

匿名用户
推荐于2017-09-01
展开全部
  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位)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fromhead
2008-12-16 · TA获得超过3197个赞
知道答主
回答量:259
采纳率:0%
帮助的人:190万
展开全部
减2就是指针上移2个单元, 题中例子里, push ax后, sp=000EH。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
文刀舍予
2008-12-17 · TA获得超过5715个赞
知道小有建树答主
回答量:1196
采纳率:0%
帮助的人:0
展开全部
相当于
SUB SP,2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黑云巫者
2008-12-16 · TA获得超过176个赞
知道答主
回答量:311
采纳率:0%
帮助的人:125万
展开全部
有点难度。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式