User's Manual

OVERVIEW
OF
NUMERIC PROCESSING
15
I B I
Co
I
ST
I
c"
I
c,
I
eoJEsl
X I PE
IUEIOEIZEIDEIIE
I
I
EXCE
PTION
FLAGS
(1
~
EXCEPTION HAS OCCURRED)
INVALID
OPERATION'
DENORMALIZED
OPERAND'
ZERO
DIVIDE'
OVERFLOW'
UNDERFLOW'
PRECISION'
(RESE
RVED)
ERRO
R SUMMARY STATUS(1)
ITION
CODE(2)
COND
STAC
K
TOP
POINTER(3)
BUSY NEU
(1)
ES
IS
SET IF
ANY
UNMASKED EXCEPTION BIT
IS
SET, CLEARED OTHERWISE.
(2) SEE TABLE 1-4
FOR
CONDITION CODE INTERPRETATION.
(3)
ST VALUES
000
~ REGISTER 0 IS TOP
OF
STACK
00
1
~
REGISTER 1 IS TOP
OF
STACK
111 ~ REGISTER 7
IS
TOP
OF
STACK
'FOR DEFINITIONS,
SEE
THE
SECTION
ON
EXCEPTION HANDLING
Figure 1-4.
80287
Status
Word
G30108
The Busy bit (bit 15) and the BUSY pin indicate whether the 80287's execution unit
is
idle (B=O) or
is
executing a numeric instruction or signalling an exception
(B=
1).
(The instructions FNSTSW,
FNSTSW
AX, FNSTENV, and FNSAVE
do
not set the Busy bit themselves, nor
do
they require the
Busy bit to be clear in order to execute.)
The four
NPX
condition code bits (C
O
-C
3
)
are similar to the flags
in
a CPU: the 80287 updates these
bits to reflect the outcome of arithmetic operations. The effect of these instructions
on
the condition
code bits
is
summarized in table
1-4.
These condition code bits are used principally for conditional
branching. The FSTW AX instruction stores the
NPX
status word directly into the
CPU
AX register,
allowing these condition codes to be inspected efficiently by
80286 code.
Bits 12-14 of the status word point to the
80287 register that
is
the
currentStack
Top (ST). The
significance of the stack top has been described in the section
on
the Register Stack.
Figure
1-4
shows the six error flags in bits
0-5
of the status word. Bit 7
is
the error summary status
(ES) bit.
ES
is
set if any unmasked exception bits are set, and
is
cleared otherwise.
If
this bit
is
set,
the
ERROR
signal
is
asserted. Bits
0-5
indicate whether the
NPX
has detected one of six possible
:::i:::::pti~!),
c~!),d!t!a!!~
~im:o:'
tho:'5o:'
5t~hl~
hit~
were last cleared or reset.
Control Word
The
NPX
provides the programmer with several processing options, which are selected by loading a
word from memory into the control word. Figure
1-5
shows the format and encoding of the fields in
the control word.
1-10