MATH COPROCESSING
11-2
The core has an Escape Trap (ET) bit in the PCB Relocation Register (Figure 4-1 on page 4-2) to
control the availability of math coprocessing. If the ET bit is set, an attempted numerics execution
results in a Type 7 interrupt. The 80C187 will not work with the 8-bit bus version of the processor
because all 80C187 accesses must be 16-bit. The 80C188 Modular Core automatically traps ESC
(numerics) opcodes to the Type 7 interrupt, regardless of Relocation Register programming.
11.3 THE 80C187 MATH COPROCESSOR
The 80C187’s high performance is due to its 80-bit internal architecture. It contains three units:
a Floating Point Unit, a Data Interface and Control Unit and a Bus Control Logic Unit. The foun-
dation of the Floating Point Unit is an 8-element register file, which can be used either as indi-
vidually addressable registers or as a register stack. The register file allows storage of
intermediate results in the 80-bit format. The Floating Point Unit operates under supervision of
the Data Interface and Control Unit. The Bus Control Logic Unit maintains handshaking and
communications with the host microprocessor. The 80C187 has built-in exception handling.
The 80C187 executes code written for the Intel387™ DX and Intel387 SX math coprocessors.
The 80C187 conforms to ANSI/IEEE Standard 754-1985.
11.3.1 80C187 Instruction Set
80C187 instructions fall into six functional groups: data transfer, arithmetic, comparison, tran-
scendental, constant and processor control. Typical 80C187 instructions accept one or two oper-
ands and produce a single result. Operands are usually located in memory or the 80C187 stack.
Some operands are predefined; for example, FSQRT always takes the square root of the number
in the top stack element. Other instructions allow or require the programmer to specify the oper-
and(s) explicitly along with the instruction mnemonic. Still other instructions accept one explicit
operand and one implicit operand (usually the top stack element).
As with the basic (non-numerics) instruction set, there are two types of operands for coprocessor
instructions, source and destination. Instruction execution does not alter a source operand. Even
when an instruction converts the source operand from one format to another (for example, real to
integer), the coprocessor performs the conversion in a work area to preserve the source operand.
A destination operand differs from a source operand because the 80C187 can alter the register
when it receives the result of the operation. For most destination operands, the coprocessor usu-
ally replaces the destinations with results.
Summary of Contents for 80C186XL
Page 1: ...80C186XL 80C188XL Microprocessor User s Manual...
Page 2: ...80C186XL 80C188XL Microprocessor User s Manual 1995...
Page 18: ...1 Introduction...
Page 19: ......
Page 27: ......
Page 28: ...2 Overview of the 80C186 Family Architecture...
Page 29: ......
Page 79: ......
Page 80: ...3 Bus Interface Unit...
Page 81: ......
Page 127: ......
Page 128: ...4 Peripheral Control Block...
Page 129: ......
Page 137: ......
Page 138: ...5 ClockGenerationand Power Management...
Page 139: ......
Page 154: ...6 Chip Select Unit...
Page 155: ......
Page 178: ...7 Refresh Control Unit...
Page 179: ......
Page 193: ......
Page 194: ...8 Interrupt Control Unit...
Page 195: ......
Page 227: ......
Page 228: ...9 Timer Counter Unit...
Page 229: ......
Page 253: ......
Page 254: ...10 Direct Memory Access Unit...
Page 255: ......
Page 283: ......
Page 284: ...11 Math Coprocessing...
Page 285: ......
Page 302: ...12 ONCE Mode...
Page 303: ......
Page 306: ...A 80C186 Instruction Set Additions and Extensions...
Page 307: ......
Page 318: ...B Input Synchronization...
Page 319: ......
Page 322: ...C Instruction Set Descriptions...
Page 323: ......
Page 371: ......
Page 372: ...D Instruction Set Opcodes and Clock Cycles...
Page 373: ......
Page 396: ...Index...
Page 397: ......