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.
Seealso:
This page last updated on Fri Nov 30 10:49:50 MSK 2001
Copyright © 1992-2001, Vitaly Filatov, Moscow, Russia
Webmaster