IA-32 Assembly Language Reference Manual

Push Word/Long onto Stack (push)

push{wl}		r/m[16|32]
push{wl}		imm[8|16|32]
push{l}		[%cs|%ds|%ss|%es|%fs|%gs]
Operation

r/m[16|32] -> stack segment register -> stack

Description

For a word, SP - 2; for a long, SP - 4. Replaces the new top of stack, pointed to by SP, with the register, memory, immediate, or segment register operand.

Example

Replaces the new top of stack with the 16-bit immediate value, -126:

pushw $-126

Replaces the new top of stack with the 32-bit immediate value, 23456789:

pushl $23456789

Replaces the new top of stack with the content of the AX register:

pushw %ax

Replaces the new top of stack with the content of the EBX register:

pushl %ebx