汇编语言中的PUSH的用法
3个回答
展开全部
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
(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
展开全部
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位)。
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位)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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位)。
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位)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询