![](http://datasheet.mmic.net.cn/230000/INTEL387DX_datasheet_15584970/INTEL387DX_12.png)
Intel387
TM
DX MATH COPROCESSOR
2.3.4 INSTRUCTION AND DATA POINTERS
Because the MCP operates in parallel with the CPU,
any errors detected by the MCP may be reported
after the CPU has executed the ESC instruction
which caused it. To allow identification of the failing
numeric instruction, the Intel386 DX Microprocessor
and Intel387 DX Math CoProcessor contains two
pointer registers that supply the address of the fail-
ing numeric instruction and the address of its numer-
ic memory operand (if appropriate).
The instruction and data pointers are provided for
user-written error handlers. These registers are ac-
tually located in the Intel386 DX CPU, but appear to
be located in the MCP because they are accessed
by the ESC instructions FLDENV, FSTENV, FSAVE,
and FRSTOR. (In the 8086/8087 and 80286/80287,
these registers are located in the MCP.) Whenever
the Intel386 DX CPU decodes a new ESC instruc-
tion, it saves the address of the instruction (including
any prefixes that may be present), the address of
the operand (if present), and the opcode.
The instruction and data pointers appear in one of
four formats depending on the operating mode of
the Intel386 DX Microprocessor (protected mode or
real-address mode) and depending on the operand-
size attribute in effect (32-bit operand or 16-bit oper-
and). When the Intel386 DX Microprocessor is in vir-
tual-8086 mode, the real-address mode formats are
used. (See Figures 2.3 through 2.6.) The ESC in-
structions FLDENV, FSTENV, FSAVE, and FRSTOR
are used to transfer these values between the In-
tel386 DX Microprocessor registers and memory.
Note that the value of the data pointer isundefined if
the prior ESC instruction did not have a memory op-
erand.
32-BIT PROTECTED MODE FORMAT
15
31
23
7
0
RESERVED
CONTROL WORD
0
RESERVED
STATUS WORD
4
RESERVED
TAG WORD
8
IP OFFSET
C
00000
OPCODE
10..0
CS SELECTOR
10
DATA OPERAND OFFSET
14
RESERVED
OPERAND SELECTOR
18
Figure 2.3. Protected Mode Intel387
TM
DX MCP Instruction and
Data Pointer Image in Memory, 32-Bit Format
12
12