User's Manual

THE
80286
INSTRUCTION SET
+
rw:
A register code from ° through 7 which
is
added to the hexadecimal byte given at the left of
the plus sign to form a single opcode
byte~
The codes are:
AX=O,
CX=I,
DX=2,
BX=3,
SP=4,
BP=5,
SI=6,
and
DI=7.
Instruction
This column gives the instruction mnemonic and possible operands. The type of operand used will
determine the opcode and operand encodings. The following entries list the type of operand which can
be encoded
in
the format shown
in
the instruction column. The Intel convention
is
to place the desti-
nation operand as the left hand operand. Source-only operands follow the destination operand.
In many cases, the same instruction can be encoded several ways.
It
is
recommended that you use the
shortest encoding. The short encodings are provided to save memory space.
cb: a destination instruction offset
in
the range of
128
bytes before the end of this instruction to 127
bytes after the end of this instruction.
cw: a destination offset within the same code segment as this instruction. Some instructions allow a
short form of destination offset.
See cb type for more information.
cd: a destination address, typically
in
a different code segment from this instruction. Using the cd:
address form with call instructions saves the code segment selector.
db: a signed value between
-128
and + 127 inclusive which
is
an operand of the instruction. For
instructions in which the
db
is
to be combined
in
some
way
with a word operand, the immediate value
is
sign"extended to form a word. The upper byte of the word
is
filled with the topmost bit of the
immediate value.
dw: an immediate word value which
is
an operand
of
the instruction.
eb: a byte-sized oPllrand. This
is
either a byte register or a (possibly indexed) byte memory variable.
Either operand location may be encoded in the ModRM field. Any memory addressing
mode
may be
used.
ed: a memory-based pointer operand. Any memory addressing mode may be used. Use
of
a register
addressing mode will cause exception
6.
ew: a word-sized operand. This
is
either a word register or a (possibly index!!d) word memory variable.
Either operand location may be encoded in the ModRM field. Any memory 'addressing
mode
may be
used.
m: a memory location. Operands
in
registers do not have a memory address. Any memory addressing
mode may be used.
Use of a register addressing mode will cause exception
6.
mb: a memory-based byte-sized operand. Any memory addressing mode may be used.
mw:
a memory-based word operand. Any memory addressing mode may be used.
rb: one of the byte registers AL, CL, DL, BL, AH, CH, DH, or
BH;
rb has the value 0,1,2,3,4,5,6,
and
7,
respectively. . "
rw:
one of the word registers
AX,CX,
DX, BX, SP, BP, SI, or DI;
rw
has the value 0,1,2,3,4,5,6; and
7,
respectively.
8-5