PUSH             Push Word onto Stack                Flags: not altered

PUSH source

Logic:    SP   SP - 2
(SP)   source

PUSH decrements SP by 2, then copies the operand to the new top of
stack. The source of a PUSH instruction cannot be an 8-bit register.

Operands                  Clocks   Transfers  Bytes   Example
register                    15         1        1     PUSH BX
seg-reg (CS illegal)        14         1        1     PUSH ES
memory                   24 + EA       2       2-4    PUSH PARAMETERS

Notes:         Even if the source refers to a byte in memory, a
full word is always pushed.

The 80286 and 80386 microprocessors will push a
different value on the stack for the instruction
PUSH SP than will the 8086/8088.  The 80286 and
80386 push the value of SP before SP is incremented,
while the 8086/8088 increments SP first, then pushes
SP on the stack.  Use the following code instead of
a PUSH SP in order to obtain the same results on all

MOV     BP, SP
XCHG    BP, [BP]

This code functions in the same manner as a PUSH SP
on the 8088/8086.

See also: POP
See also: POPF
See also: PUSHF
See also: MOV
See also: XCHG
See also: EA

PUSH Push Word onto Stack