[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
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
microprocessors.
PUSH BP
MOV BP, SP
XCHG BP, [BP]
This code functions in the same manner as a PUSH SP
on the 8088/8086.
See Also:
POP
POPF
PUSHF
MOV
XCHG
EA
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson