12
Combinations of these three address elements define the six
memory addressing modes, described below.
DIRECT MODE: The operand's offset is contained in the
instruction as an 8 or 16-bit displacement element.
REGISTER INDIRECT MODE: The operand's offset is in
one of the registers SI, Dl, BX or BP.
BASED MODE: The operand's offset is the sum of an 8 or
16-bit displacement and the contents of a base register (BX
or BP).
INDEXED MODE: The operand's offset is the sum of an 8 or 16-
bit displacement and the contents of an index register (SI or Dl).
BASED INDEXED MODE: The operand's offset is the sum
of the contents of a base register and an index register.
BASED INDEXED MODE WITH DISPLACEMENT: The
operand's offset is the sum of a base register's contents, an
index register's contents, and an 8 or 16-bit displacement.
Data Types
The 80C286 directly supports the following data types:
Integer:
A signed binary numeric value contained in an 8-
bit byte or a 16-bit word. All operations assume a
2's complement representation. Signed 32 and
64-bit integers are supported using the 80287
Numeric Data Processor.
Ordinal:
An unsigned binary numeric value contained in an
8-bit byte or 16-bit word.
Pointer:
A 32-bit quantity, composed of a segment selec-
tor component and an offset component. Each
component is a 16-bit word.
String:
A contiguous sequence of bytes or words. A string
may contain from 1 byte to 64K bytes.
ASClI:
A byte representation of alphanumeric and control
characters using the ASClI standard of character
representation.
BCD:
A byte (unpacked) representation of the decimal
digits 0-9.
Packed
A byte (packed) representation of two decimal
BCD:
digits 0-9 storing one digit in each nibble of the
byte.
Floating A signed 32, 64 or 80-bit real number representa-
Point:
tion. (Floating point operands are supported using
the 80287 Numeric Processor extension).
Figure 5 graphically represents the data types supported by
the 80C286.
NOTE: Supported by 80C286/80C287 Numeric Data Processor
Configuration
SIGNED
BYTE
UNSIGNED
BYTE
SIGNED
WORD
SIGNED
DOUBLE
WORD
(NOTE)
SIGN BIT
SIGNED
QUAD
WORD
(NOTE)
SIGN BIT
UNSIGNED
WORD
BINARY
CODED
DECIMAL
(BCD)
ASCII
STRING
PACKED
BCD
POINTER
FLOATING
POINT (NOTE)
SIGN BIT
MAGNITUDE
70
MAGNITUDE
70
MSB
15
MAGNITUDE
MSB
14 +1
0
87
0
SIGN BIT
31
+3
+2 16
+1
0
15
0
MAGNITUDE
MSB
63
+6
+7
+5
+4
+3
+2
+1
0
48 47
32 31
16 15
0
MAGNITUDE
MSB
15
+1
0
BCD
7
+N
0
DIGIT N
BCD
7
+1
0
DIGIT 1
BCD
7
0
DIGIT 0
ASCII
7
+N
0
CHARACTERN
ASCII
7
+1
0
CHARACTER1
ASCII
7
0
CHARACTER0
7
+N
0
MOST
SIGNIFICANT DIGIT
7
+1
07
0
LEAST
SIGNIFICANT DIGIT
BYTE/WORD N BYTE/WORD 1 BYTE/WORD 0
7/15 +N
07/15 +1
07/15 0
0
SELECTOR
OFFSET
31
+3
16
+1
0
EXPONENT
MAGNITUDE
79 +9
+8
+7
+6
+5
+4
+3
+2
+1
0 0
+1
15
FIGURE 5. 80C286 SUPPORTED DATA TYPES
80C286