THE
80286
INSTRUCTION SET
PUSH-Push a Word onto the Stack
Opcode
Instruction
Clocks
Description
06
PUSH
ES
3
Push
ES
OE
PUSH
CS
3
Push
CS
16
PUSH
SS
3
Push
SS
1E
PUSH
DS
3
Push
DS
50+
rw
PUSH
rw
3
Push word register
FF
/6
PUSH mw
5
Push memory word
68
dw
PUSH
dw
3
Push immediate word
6A
db
PUSH
db
3
Push immediate sign-extended byte
FLAGS MODIFIED
None
FLAGS UNDEFINED
None
OPERATION
The stack pointer SP
is
decremented
by
2,
and the operand
is
placed
on
the
new
top of stack, which
is
pointed to
by
SS:SP.
The
80286 PUSH
SP
instruction pushes the value of SP
as
it existed before the instruction. This differs
from the
8086, which pushes the
new
(decremented by
2)
value.
PROTECTED MODE EXCEPTIONS
#SS(O)
if the
new
value of SP
is
outside the stack segment limit.
#GP(O) for an illegal memory operand effective address
in
the CS, DS, or ES segments;
#SS(O)
for an
illegal address
in
the SS segment.
REAL ADDRESS MODE EXCEPTIONS
None; the 80286
will
shut
down
if
SP
=
I-due
to
lack of stack space.
8-87