汇编语言中的PUSH的用法

2025-02-26 12:48:00
推荐回答(1个)
回答1:

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