Intel 80386 DJ Equipment User Manual


 
APPLICATION ARCHITECTURE
prevent application programs from inadvertently
altering the system flags.
The 80386 Instruction Pointer, called
EIP,
is
32
bits
wide.
The Instruction Pointer controls instruc-
tion fetching (including prefetching) and the
processor automatically increments it after exe-
cuting
an
instruction. Interrupts, exceptions, and
control transfer instructions, such as jumps and
calls, alter the Instruction Pointer.
2.1.3
Numeric
Coprocessor
Registers
The numeric coprocessor registers shown
in
Figure
2-3
improve the performance of numeric
applications. Connecting
an
80287 or 80387
Numeric Coprocessor to
an
80386 effectively
STATUS FLAGS
CARRY
PARITY
AUXILIARY CARRY
ZERO
SIGN
OVERFLOW
I
adds these registers to the 80386. While a
numeric coprocessor recognizes integers, packed
decimal, and floating point formats of various
lengths, internally it holds all values in
an
eight-
deep 80-bit-wide floating point
register stack.
Numeric instructions may implicitly refer to the
top element(s)
of
the stack,
or
explicitly to other
registers. The Status Register maintains the top
of
stack pointer, flags
that
identify exceptions
(for example, overflow), and condition codes
that reflect the result
of
the last instruction. The
Control Register contains option and mask bits
that the programmer can set
to
select the
rounding algorithm, how infinity
is
to
be
modeled,
and whether exceptions are to be handled by the
coprocessor
or
by software.
I
~
17 16 15
14 13
12
11
10 9 8 7 6 5 4 3 2 1 0
_ VM I
RF
~
NT
I 10PL I OF I OF
IIF
I TF I
SF
I ZF
~
AF
~
PF
~
CF I
lJ
SYSTEM
FL
AGS
VIRTUAL 86 M
ODE
RESUME
NESTED TAS K
1/0 PRIVILEG E LEVEL
INTERRUPTS
ENABLED
FLAGS
I
CONTROL
DIRECTION
TRAP
Figure 2-2. Flags Register
2-2