Intel 80386 DJ Equipment User Manual


 
80386
Table 2-3. BASE and INDEX Registers
for
16- and 32-Bit Addresses
16·Bit Addressing 32-Bit Addressing
BASE REGISTER BX,BP
INDEX REGISTER SI,DI
SCALE FACTOR none
DISPLACEMENT 0,8, 16 bits
The
OPERAND LENGTH and Address Length Pre-
fixes
can
be
applied separately or
in
combination to
any instruction. The Address Length Prefix does not
allow addresses over 64K bytes to be accessed
in
Real Mode. A memory address which exceeds
FFFFH
will result
in
a General Protection Fault.
An
Address Length Prefix only allows the use of the ad-
ditional
80386 addressing modes.
When executing 32-bit code, the 80386 uses either
8-,
or 32-bit displacements, and any register can be
used
as
base or index registers. When executing 16-
bit code, the displacements are either
8,
or 16 bits,
and the base and index register conform to the 286
model. Table 2-3 illustrates the differences.
2.6 DATA TYPES
The 80386 supports all of the data types commonly
used
in
high level languages:
Bit: A
single bit quantity.
Bit
Field: A group of
up
to 32 contiguous bits,
which spans a maximum of four bytes.
Bit String: A set of contiguous bits,
on
the 80386
bit strings can be
up
to 4 gigabits long.
Byte: A signed 8-bit quantity.
Unsigned Byte:
An
unsigned 8-bit quantity.
Integer (Word): A signed 16-bit quantity.
Long
Integer (Double Word): A signed 32-bit quan-
tity.
All
operations assume a 2's complement rep-
resentation.
Unsigned
Integer (Word):
An
unsigned 16-bit
quantity.
Unsigned Long
Integer (Double Word):
An
un-
signed 32-bit quantity.
19
Any 32-bit
GP
Register
Any 32-bit
GP
Register
Except
ESP
1,2,4,8
0,8,32
bits
Signed Quad Word: A signed 64-bit quantity.
Unsigned Quad Word:
An
unsigned 64-bit quanti-
ty.
Offset: A 16- or 32-bit offset only quantity which
indirectly references another memory
location.
Pointer: A full pointer which consists of a 16-bit
segment
selector and either a 16- or 32-bit offset.
Char: A byte representation of an
ASCII
Alphanu-
meric or control character.
String: A contiguous sequence of bytes, words or
dwords. A string may contain between 1 byte and
4 Gbytes.
BCD:
A byte (unpacked) representation of decimal
digits
0-9.
Packed
BCD:
A byte (packed) representation of
two
decimal digits
0-9
storing one digit
in
each
nibble.
When the 80386 is coupled with a numerics Coproc-
essor such
as
the 80287 or the 80387 then the fol-
lowing
common Floating Point types are supported.
Floating Point: A signed 32-, 64-, or 80-bit real
number representation. Floating point numbers
are supported by the 80287
and
80387 numerics
coprocessor.
Figure 2-10 illustrates the data types supported by
the 80386 and the
80387/80287.