Intel 8087
The Intel 8087, announced in 1980, was the first x87 floating-point coprocessor for the 8086 line of microprocessors.
The purpose of the 8087 was to speed up computations for floating-point arithmetic, such as addition, subtraction, multiplication, division, and square root. It also computed transcendental functions such as exponential, logarithmic or trigonometric calculations, and besides floating-point it could also operate on large binary and decimal integers. The performance enhancements were from approximately 20% to over 500%, depending on the specific application. The 8087 could perform about 50,000 FLOPS using around 2.4 watts. Only arithmetic operations benefited from installation of an 8087; computers used only with such applications as word processing, for example, would not benefit from the extra expense and power consumption of an 8087.
The 8087 was an advanced IC for its time, pushing the limits of manufacturing technology of the period. Initial yields were extremely low.
The sales of the 8087 received a significant boost when IBM included a coprocessor socket on the IBM PC motherboard. Due to a shortage of chips, IBM did not actually offer the 8087 as an option for the PC until it had been on the market for six months. Development of the 8087 led to the IEEE 754-1985 standard for floating-point arithmetic. There were later x87 coprocessors for the 80186, 80286, 80386, and 80386SX processors. Starting with the 80486, the later Intel x86 processors did not use a separate floating-point coprocessor; floating-point functions were provided integrated with the processor.
Design and development
Intel had previously manufactured the 8231 Arithmetic processing unit, and the 8232 Floating Point Processor. These were designed for use with 8080 or similar processors and used an 8-bit data bus. They were interfaced to a host system either through programmed I/O or a DMA controller.The 8087 was initially conceived by Bill Pohlman, the engineering manager at Intel who oversaw the development of the 8086 chip. Bill took steps to be sure that the 8086 chip could support a yet-to-be-developed math chip.
In 1977 Pohlman got the go ahead to design the 8087 math chip. Bruce Ravenel was assigned as architect, and John Palmer was hired to be co-architect and mathematician for the project. The two came up with a revolutionary design with 64 bits of mantissa and 16 bits of exponent for the longest-format real number, with a stack architecture CPU and 8 80-bit stack registers, with a computationally rich instruction set. The design solved a few outstanding known problems in numerical computing and numerical software: rounding-error problems were eliminated for 64-bit operands, and numerical mode conversions were solved for all 64-bit numbers. Palmer credited William Kahan's writings on floating point as a significant influence on their design.
The 8087 design initially met a cool reception in Santa Clara due to its aggressive design. Eventually, the design was assigned to Intel Israel, and Rafi Nave was assigned to lead the implementation of the chip. Palmer, Ravenel and Nave were awarded patents for the design. Robert Koehler and John Bayliss were also awarded a patent for the technique where some instructions with a particular bit pattern were offloaded to the coprocessor.
The 8087 had 45,000 transistors and was manufactured as a 3 μm depletion-load HMOS circuit. It worked in tandem with the 8086 or 8088 and introduced about 60 new instructions. Most 8087 assembly mnemonics begin with F, such as FADD, FMUL, FCOM and so on, making them easily distinguishable from 8086 instructions. The binary encodings for all 8087 instructions begin with the bit pattern 11011, decimal 27, the same as the ASCII character ESC, although in the higher-order bits of a byte; similar instruction prefixes are also sometimes referred to as "escape codes". The instruction mnemonic assigned by Intel for these coprocessor instructions is "ESC".
When the 8086 or 8088 CPU executed the ESC instruction, if the second byte specified a memory operand, the CPU would execute a bus cycle to read one word from the memory location specified in the instruction, but it would not store the read operand into any CPU register or perform any operation on it; the 8087 would observe the bus and decode the instruction stream in sync with the 8086, recognizing the coprocessor instructions meant for itself. For an 8087 instruction with a memory operand, if the instruction called for the operand to be read, the 8087 would take the word of data read by the main CPU from the data bus. If the operand to be read was longer than one word, the 8087 would also copy the address from the address bus; then, after completion of the data read cycle driven by the CPU, the 8087 would immediately use DMA to take control of the bus and transfer the additional bytes of the operand itself. If an 8087 instruction with a memory operand called for that operand to be written, the 8087 would ignore the read word on the data bus and just copy the address, then request DMA and write the entire operand, in the same way that it would read the end of an extended operand. In this way, the main CPU maintained general control of the bus and bus timing, while the 8087 handled all other aspects of execution of coprocessor instructions, except for brief DMA periods when the 8087 would take over the bus to read or write operands to/from its own internal registers. As a consequence of this design, the 8087 could only operate on operands taken either from memory or from its own registers, and any exchange of data between the 8087 and the 8086 or 8088 was only through RAM.
The main CPU program continued to execute while the 8087 executed an instruction; from the perspective of the main 8086 or 8088 CPU, a coprocessor instruction took only as long as the processing of the opcode and any memory operand cycle, after which the CPU would begin executing the next instruction of the program. Thus, a system with an 8087 was capable of true parallel processing, performing one operation in the integer ALU of the main CPU while at the same time performing a floating-point operation in the 8087 coprocessor. Since the 8086 or 8088 exclusively controlled the instruction flow and timing and had no direct access to the internal status of the 8087, and because the 8087 could execute only one instruction at a time, programs for the combined 8086/8087 or 8088/8087 system had to ensure that the 8087 had time to complete the last instruction issued to it before it was issued another one. The WAIT instruction was provided for this purpose, and most assemblers implicitly asserted a WAIT instruction before each instance of most floating-point coprocessor instructions. The WAIT instruction waited for the −TEST input pin of the 8086/8088 to be asserted, and this pin was connected to the BUSY pin of the 8087 in all systems that had an 8087.
Because the instruction prefetch queues of the 8086 and 8088 make the time when an instruction is executed not always the same as the time it is fetched, a coprocessor such as the 8087 cannot determine when an instruction for itself is the next instruction to be executed purely by watching the CPU bus. The 8086 and 8088 have two queue status signals connected to the coprocessor to allow it to synchronize with the CPU's internal timing of execution of instructions from its prefetch queue. The 8087 maintains its own identical prefetch queue, from which it reads the coprocessor opcodes that it actually executes. Because the 8086 and 8088 prefetch queues have different sizes and different management algorithms, the 8087 determines which type of CPU it is attached to by observing a certain CPU bus line when the system is reset, and the 8087 adjusts its internal instruction queue accordingly. The redundant duplication of prefetch queue hardware in the CPU and the coprocessor is inefficient in terms of power usage and total die area, but it allowed the coprocessor interface to use very few dedicated IC pins, which was important. At the time when the 8086, which defined the coprocessor interface, was introduced, IC packages with more than 40 pins were rare, expensive, and wrangled with problems such as excessive lead capacitance, a major limiting factor for signalling speeds.
The coprocessor operation codes are encoded in 6 bits across 2 bytes, beginning with the escape sequence:
┌───────────┬───────────┐
│ 1101 1xxx │ mmxx xrrr │
└───────────┴───────────┘
The first three "x" bits are the first three bits of the floating-point opcode. Then two "m" bits, then the latter half three bits of the floating-point opcode, followed by three "r" bits. The "m" and "r" bits specify the addressing-mode information.
Application programs had to be written to make use of the special floating-point instructions. At run time, software could detect the coprocessor and use it for floating-point operations. When detected absent, similar floating-point functions had to be calculated in software, or the whole coprocessor could be emulated in software for more precise numerical compatibility.
Registers
The x87 family does not use a directly addressable register set such as the main registers of the x86 processors; instead, the x87 registers form an eight-level deep stack structure ranging from st0 to st7, where st0 is the top. The x87 instructions operate by pushing, calculating, and popping values on this stack. However, dyadic operations such as FADD, FMUL, FCMP, and so on may either implicitly use the topmost st0 and st1 or may use st0 together with an explicit memory operand or register; the st0 register may thus be used as an accumulator and can also be exchanged with any of the eight stack registers using an instruction called FXCH stX. This makes the x87 stack usable as seven freely addressable registers plus an accumulator. This is especially applicable on superscalar x86 processors, where these exchange instructions are optimized down to a zero-clock penalty.IEEE floating-point standard
When Intel designed the 8087, it aimed to make a standard floating-point format for future designs. An important aspect of the 8087 from a historical perspective was that it became the basis for the IEEE 754 floating-point standard. The 8087 did not implement the eventual IEEE 754 standard in all its details, as the standard was not finished until 1985, but the 80387 did. The 8087 provided two basic 32/64-bit floating-point data types and an additional extended 80-bit internal temporary format to improve accuracy over large and complex calculations. Apart from this, the 8087 offered an 80-bit/18-digit packed BCD format and 16-, 32-, and 64-bit integer data types.Infinity
The 8087 handles infinity values by either affine closure or projective closure. With affine closure, positive and negative infinities are treated as different values. With projective closure, infinity is treated as an unsigned representation for very small or very large numbers. These two methods of handling infinity were incorporated into the draft version of the IEEE 754 floating-point standard. However, projective closure was dropped from the later formal issue of IEEE 754-1985. The 80287 retained projective closure as an option, but the 80387 and subsequent floating-point processors only supported affine closure.Coprocessor interface
The 8087 differed from subsequent Intel coprocessors in that it was directly connected to the address and data buses. The 8087 looked for instructions that commenced with the "11011" sequence and acted on them, immediately requesting DMA from the main CPU as necessary to access memory operands longer than one word, then immediately releasing bus control back to the main CPU. The coprocessor did not hold up execution of the program until the coprocessor instruction was complete, and the program had to explicitly synchronize the two processors, as explained above. There was a potential crash problem if the coprocessor instruction failed to decode to one that the coprocessor understood. Intel's later coprocessors did not connect to the buses in the same way, but received instructions through the main processor I/O ports. This yielded an execution time penalty, but the potential crash problem was avoided because the main processor would ignore the instruction if the coprocessor refused to accept it. The 8087 was able to detect whether it was connected to an 8088 or an 8086 by monitoring the data bus during the reset cycle.The 8087 was, in theory, capable of working concurrently while the 8086/8 processes additional instructions. In practice, there was the potential for program failure if the coprocessor issued a new instruction before the last one had completed. The assembler would automatically insert an FWAIT instruction after every coprocessor opcode, forcing the 8086/8 to halt execution until the 8087 signalled that it had finished. This limitation was removed from later designs.
Models and second sources
Intel 8087 coprocessors were fabricated in two variants: one with ceramic side-brazed DIP and one in hermetic DIP, and were designed to operate in the following temperature ranges:- C, D, QC and QD prefixes: 0 °C to +70 °C.
- LC, LD, TC and TD prefixes: −40 °C to +85 °C.
- MC and MD prefixes: −55 °C to +125 °C.
Model number | Frequency |
Intel 8087 | 5 MHz |
Intel 8087-1 | 10 MHz |
Intel 8087-2 | 8 MHz |
Intel 8087-3 | 4 MHz |
Intel 8087-6 | 6 MHz |
The part was second-sourced by AMD as AMD 8087 and by Cyrix as Cyrix 8087.
The clone K1810WM87 of the 8087 was produced in the Soviet Union.
Successors
Just as the 8088 and 8086 processors were superseded by later parts, so was the 8087 superseded. Other Intel coprocessors were the 80287, 80387, and the 80187. Starting with the 80486, the later Intel processors did not use a separate floating-point coprocessor; virtually all included it on the main processor die, with the significant exception of the 80486SX, which was a modified 80486DX with the FPU disabled. The 80487 was in fact a full-blown 80486DX chip with an extra pin. When installed, it disabled the 80486SX CPU. The 80486DX, Pentium, and later processors include floating-point functionality on the CPU core.Complete FPU instruction set of the 8087
Abbreviations:- f32: 32 bit IEEE-754 floating-point number
- f64: 64 bit IEEE-754 floating-point number
- f80: 80 bit IEEE-754 floating-point number
- i16: 16 bit signed integer
- i32: 32 bit signed integer
- i64: 64 bit signed integer
- bcd: 80 bit signed BCD integer
- u16: 16 bit status or control word
- env: FPU environment state
- stt: complete FPU state
Opcode | Mnemo | Opcode | Mnemo | Opcode | Mnemo | Opcode | Mnemo | Opcode | Mnemo | Opcode | Mnemo | Opcode | Mnemo | Opcode | Mnemo |
D800 | FADD f32 | D808 | FMUL f32 | D810 | FCOM f32 | D818 | FCOMP f32 | D820 | FSUB f32 | D828 | FSUBR f32 | D830 | FDIV f32 | D838 | FDIVR f32 |
D801 | FADD f32 | D809 | FMUL f32 | D811 | FCOM f32 | D819 | FCOMP f32 | D821 | FSUB f32 | D829 | FSUBR f32 | D831 | FDIV f32 | D839 | FDIVR f32 |
D802 | FADD f32 | D80A | FMUL f32 | D812 | FCOM f32 | D81A | FCOMP f32 | D822 | FSUB f32 | D82A | FSUBR f32 | D832 | FDIV f32 | D83A | FDIVR f32 |
D803 | FADD f32 | D80B | FMUL f32 | D813 | FCOM f32 | D81B | FCOMP f32 | D823 | FSUB f32 | D82B | FSUBR f32 | D833 | FDIV f32 | D83B | FDIVR f32 |
D804 | FADD f32 | D80C | FMUL f32 | D814 | FCOM f32 | D81C | FCOMP f32 | D824 | FSUB f32 | D82C | FSUBR f32 | D834 | FDIV f32 | D83C | FDIVR f32 |
D805 | FADD f32 | D80D | FMUL f32 | D815 | FCOM f32 | D81D | FCOMP f32 | D825 | FSUB f32 | D82D | FSUBR f32 | D835 | FDIV f32 | D83D | FDIVR f32 |
D806nn | FADD f32 | D80Enn | FMUL f32 | D816nn | FCOM f32 | D81Enn | FCOMP f32 | D826nn | FSUB f32 | D82Enn | FSUBR f32 | D836nn | FDIV f32 | D83Enn | FDIVR f32 |
D807 | FADD f32 | D80F | FMUL f32 | D817 | FCOM f32 | D81F | FCOMP f32 | D827 | FSUB f32 | D82F | FSUBR f32 | D837 | FDIV f32 | D83F | FDIVR f32 |
D840n | FADD f32 | D848n | FMUL f32 | D850n | FCOM f32 | D858n | FCOMP f32 | D860n | FSUB f32 | D868n | FSUBR f32 | D870n | FDIV f32 | D878n | FDIVR f32 |
D841n | FADD f32 | D849n | FMUL f32 | D851n | FCOM f32 | D859n | FCOMP f32 | D861n | FSUB f32 | D869n | FSUBR f32 | D871n | FDIV f32 | D879n | FDIVR f32 |
D842n | FADD f32 | D84An | FMUL f32 | D852n | FCOM f32 | D85An | FCOMP f32 | D862n | FSUB f32 | D86An | FSUBR f32 | D872n | FDIV f32 | D87An | FDIVR f32 |
D843n | FADD f32 | D84Bn | FMUL f32 | D853n | FCOM f32 | D85Bn | FCOMP f32 | D863n | FSUB f32 | D86Bn | FSUBR f32 | D873n | FDIV f32 | D87Bn | FDIVR f32 |
D844n | FADD f32 | D84Cn | FMUL f32 | D854n | FCOM f32 | D85Cn | FCOMP f32 | D864n | FSUB f32 | D86Cn | FSUBR f32 | D874n | FDIV f32 | D87Cn | FDIVR f32 |
D845n | FADD f32 | D84Dn | FMUL f32 | D855n | FCOM f32 | D85Dn | FCOMP f32 | D865n | FSUB f32 | D86Dn | FSUBR f32 | D875n | FDIV f32 | D87Dn | FDIVR f32 |
D846n | FADD f32 | D84En | FMUL f32 | D856n | FCOM f32 | D85En | FCOMP f32 | D866n | FSUB f32 | D86En | FSUBR f32 | D876n | FDIV f32 | D87En | FDIVR f32 |
D847n | FADD f32 | D84Fn | FMUL f32 | D857n | FCOM f32 | D85Fn | FCOMP f32 | D867n | FSUB f32 | D86Fn | FSUBR f32 | D877n | FDIV f32 | D87Fn | FDIVR f32 |
D880nn | FADD f32 | D888nn | FMUL f32 | D890nn | FCOM f32 | D898nn | FCOMP f32 | D8A0nn | FSUB f32 | D8A8nn | FSUBR f32 | D8B0nn | FDIV f32 | D8B8nn | FDIVR f32 |
D881nn | FADD f32 | D889nn | FMUL f32 | D891nn | FCOM f32 | D899nn | FCOMP f32 | D8A1nn | FSUB f32 | D8A9nn | FSUBR f32 | D8B1nn | FDIV f32 | D8B9nn | FDIVR f32 |
D882nn | FADD f32 | D88Ann | FMUL f32 | D892nn | FCOM f32 | D89Ann | FCOMP f32 | D8A2nn | FSUB f32 | D8AAnn | FSUBR f32 | D8B2nn | FDIV f32 | D8BAnn | FDIVR f32 |
D883nn | FADD f32 | D88Bnn | FMUL f32 | D893nn | FCOM f32 | D89Bnn | FCOMP f32 | D8A3nn | FSUB f32 | D8ABnn | FSUBR f32 | D8B3nn | FDIV f32 | D8BBnn | FDIVR f32 |
D884nn | FADD f32 | D88Cnn | FMUL f32 | D894nn | FCOM f32 | D89Cnn | FCOMP f32 | D8A4nn | FSUB f32 | D8ACnn | FSUBR f32 | D8B4nn | FDIV f32 | D8BCnn | FDIVR f32 |
D885nn | FADD f32 | D88Dnn | FMUL f32 | D895nn | FCOM f32 | D89Dnn | FCOMP f32 | D8A5nn | FSUB f32 | D8ADnn | FSUBR f32 | D8B5nn | FDIV f32 | D8BDnn | FDIVR f32 |
D886nn | FADD f32 | D88Enn | FMUL f32 | D896nn | FCOM f32 | D89Enn | FCOMP f32 | D8A6nn | FSUB f32 | D8AEnn | FSUBR f32 | D8B6nn | FDIV f32 | D8BEnn | FDIVR f32 |
D887nn | FADD f32 | D88Fnn | FMUL f32 | D897nn | FCOM f32 | D89Fnn | FCOMP f32 | D8A7nn | FSUB f32 | D8AFnn | FSUBR f32 | D8B7nn | FDIV f32 | D8BFnn | FDIVR f32 |
DC00 | FADD f64 | DC08 | FMUL f64 | DC10 | FCOM f64 | DC18 | FCOMP f64 | DC20 | FSUB f64 | DC28 | FSUBR f64 | DC30 | FDIV f64 | DC38 | FDIVR f64 |
DC01 | FADD f64 | DC09 | FMUL f64 | DC11 | FCOM f64 | DC19 | FCOMP f64 | DC21 | FSUB f64 | DC29 | FSUBR f64 | DC31 | FDIV f64 | DC39 | FDIVR f64 |
DC02 | FADD f64 | DC0A | FMUL f64 | DC12 | FCOM f64 | DC1A | FCOMP f64 | DC22 | FSUB f64 | DC2A | FSUBR f64 | DC32 | FDIV f64 | DC3A | FDIVR f64 |
DC03 | FADD f64 | DC0B | FMUL f64 | DC13 | FCOM f64 | DC1B | FCOMP f64 | DC23 | FSUB f64 | DC2B | FSUBR f64 | DC33 | FDIV f64 | DC3B | FDIVR f64 |
DC04 | FADD f64 | DC0C | FMUL f64 | DC14 | FCOM f64 | DC1C | FCOMP f64 | DC24 | FSUB f64 | DC2C | FSUBR f64 | DC34 | FDIV f64 | DC3C | FDIVR f64 |
DC05 | FADD f64 | DC0D | FMUL f64 | DC15 | FCOM f64 | DC1D | FCOMP f64 | DC25 | FSUB f64 | DC2D | FSUBR f64 | DC35 | FDIV f64 | DC3D | FDIVR f64 |
DC06nn | FADD f64 | DC0Enn | FMUL f64 | DC16nn | FCOM f64 | DC1Enn | FCOMP f64 | DC26nn | FSUB f64 | DC2Enn | FSUBR f64 | DC36nn | FDIV f64 | DC3Enn | FDIVR f64 |
DC07 | FADD f64 | DC0F | FMUL f64 | DC17 | FCOM f64 | DC1F | FCOMP f64 | DC27 | FSUB f64 | DC2F | FSUBR f64 | DC37 | FDIV f64 | DC3F | FDIVR f64 |
DC40n | FADD f64 | DC48n | FMUL f64 | DC50n | FCOM f64 | DC58n | FCOMP f64 | DC60n | FSUB f64 | DC68n | FSUBR f64 | DC70n | FDIV f64 | DC78n | FDIVR f64 |
DC41n | FADD f64 | DC49n | FMUL f64 | DC51n | FCOM f64 | DC59n | FCOMP f64 | DC61n | FSUB f64 | DC69n | FSUBR f64 | DC71n | FDIV f64 | DC79n | FDIVR f64 |
DC42n | FADD f64 | DC4An | FMUL f64 | DC52n | FCOM f64 | DC5An | FCOMP f64 | DC62n | FSUB f64 | DC6An | FSUBR f64 | DC72n | FDIV f64 | DC7An | FDIVR f64 |
DC43n | FADD f64 | DC4Bn | FMUL f64 | DC53n | FCOM f64 | DC5Bn | FCOMP f64 | DC63n | FSUB f64 | DC6Bn | FSUBR f64 | DC73n | FDIV f64 | DC7Bn | FDIVR f64 |
DC44n | FADD f64 | DC4Cn | FMUL f64 | DC54n | FCOM f64 | DC5Cn | FCOMP f64 | DC64n | FSUB f64 | DC6Cn | FSUBR f64 | DC74n | FDIV f64 | DC7Cn | FDIVR f64 |
DC45n | FADD f64 | DC4Dn | FMUL f64 | DC55n | FCOM f64 | DC5Dn | FCOMP f64 | DC65n | FSUB f64 | DC6Dn | FSUBR f64 | DC75n | FDIV f64 | DC7Dn | FDIVR f64 |
DC46n | FADD f64 | DC4En | FMUL f64 | DC56n | FCOM f64 | DC5En | FCOMP f64 | DC66n | FSUB f64 | DC6En | FSUBR f64 | DC76n | FDIV f64 | DC7En | FDIVR f64 |
DC47n | FADD f64 | DC4Fn | FMUL f64 | DC57n | FCOM f64 | DC5Fn | FCOMP f64 | DC67n | FSUB f64 | DC6Fn | FSUBR f64 | DC77n | FDIV f64 | DC7Fn | FDIVR f64 |
DC80nn | FADD f64 | DC88nn | FMUL f64 | DC90nn | FCOM f64 | DC98nn | FCOMP f64 | DCA0nn | FSUB f64 | DCA8nn | FSUBR f64 | DCB0nn | FDIV f64 | DCB8nn | FDIVR f64 |
DC81nn | FADD f64 | DC89nn | FMUL f64 | DC91nn | FCOM f64 | DC99nn | FCOMP f64 | DCA1nn | FSUB f64 | DCA9nn | FSUBR f64 | DCB1nn | FDIV f64 | DCB9nn | FDIVR f64 |
DC82nn | FADD f64 | DC8Ann | FMUL f64 | DC92nn | FCOM f64 | DC9Ann | FCOMP f64 | DCA2nn | FSUB f64 | DCAAnn | FSUBR f64 | DCB2nn | FDIV f64 | DCBAnn | FDIVR f64 |
DC83nn | FADD f64 | DC8Bnn | FMUL f64 | DC93nn | FCOM f64 | DC9Bnn | FCOMP f64 | DCA3nn | FSUB f64 | DCABnn | FSUBR f64 | DCB3nn | FDIV f64 | DCBBnn | FDIVR f64 |
DC84nn | FADD f64 | DC8Cnn | FMUL f64 | DC94nn | FCOM f64 | DC9Cnn | FCOMP f64 | DCA4nn | FSUB f64 | DCACnn | FSUBR f64 | DCB4nn | FDIV f64 | DCBCnn | FDIVR f64 |
DC85nn | FADD f64 | DC8Dnn | FMUL f64 | DC95nn | FCOM f64 | DC9Dnn | FCOMP f64 | DCA5nn | FSUB f64 | DCADnn | FSUBR f64 | DCB5nn | FDIV f64 | DCBDnn | FDIVR f64 |
DC86nn | FADD f64 | DC8Enn | FMUL f64 | DC96nn | FCOM f64 | DC9Enn | FCOMP f64 | DCA6nn | FSUB f64 | DCAEnn | FSUBR f64 | DCB6nn | FDIV f64 | DCBEnn | FDIVR f64 |
DC87nn | FADD f64 | DC8Fnn | FMUL f64 | DC97nn | FCOM f64 | DC9Fnn | FCOMP f64 | DCA7nn | FSUB f64 | DCAFnn | FSUBR f64 | DCB7nn | FDIV f64 | DCBFnn | FDIVR f64 |
DE00 | FIADD i16 | DE08 | FIMUL i16 | DE10 | FICOM i16 | DE18 | FICOMP i16 | DE20 | FISUB i16 | DE28 | FISUBR i16 | DE30 | FIDIV i16 | DE38 | FIDIVR i16 |
DE01 | FIADD i16 | DE09 | FIMUL i16 | DE11 | FICOM i16 | DE19 | FICOMP i16 | DE21 | FISUB i16 | DE29 | FISUBR i16 | DE31 | FIDIV i16 | DE39 | FIDIVR i16 |
DE02 | FIADD i16 | DE0A | FIMUL i16 | DE12 | FICOM i16 | DE1A | FICOMP i16 | DE22 | FISUB i16 | DE2A | FISUBR i16 | DE32 | FIDIV i16 | DE3A | FIDIVR i16 |
DE03 | FIADD i16 | DE0B | FIMUL i16 | DE13 | FICOM i16 | DE1B | FICOMP i16 | DE23 | FISUB i16 | DE2B | FISUBR i16 | DE33 | FIDIV i16 | DE3B | FIDIVR i16 |
DE04 | FIADD i16 | DE0C | FIMUL i16 | DE14 | FICOM i16 | DE1C | FICOMP i16 | DE24 | FISUB i16 | DE2C | FISUBR i16 | DE34 | FIDIV i16 | DE3C | FIDIVR i16 |
DE05 | FIADD i16 | DE0D | FIMUL i16 | DE15 | FICOM i16 | DE1D | FICOMP i16 | DE25 | FISUB i16 | DE2D | FISUBR i16 | DE35 | FIDIV i16 | DE3D | FIDIVR i16 |
DE06nn | FIADD i16 | DE0Enn | FIMUL i16 | DE16nn | FICOM i16 | DE1Enn | FICOMP i16 | DE26nn | FISUB i16 | DE2Enn | FISUBR i16 | DE36nn | FIDIV i16 | DE3Enn | FIDIVR i16 |
DE07 | FIADD i16 | DE0F | FIMUL i16 | DE17 | FICOM i16 | DE1F | FICOMP i16 | DE27 | FISUB i16 | DE2F | FISUBR i16 | DE37 | FIDIV i16 | DE3F | FIDIVR i16 |
DE40n | FIADD i16 | DE48n | FIMUL i16 | DE50n | FICOM i16 | DE58n | FICOMP i16 | DE60n | FISUB i16 | DE68n | FISUBR i16 | DE70n | FIDIV i16 | DE78n | FIDIVR i16 |
DE41n | FIADD i16 | DE49n | FIMUL i16 | DE51n | FICOM i16 | DE59n | FICOMP i16 | DE61n | FISUB i16 | DE69n | FISUBR i16 | DE71n | FIDIV i16 | DE79n | FIDIVR i16 |
DE42n | FIADD i16 | DE4An | FIMUL i16 | DE52n | FICOM i16 | DE5An | FICOMP i16 | DE62n | FISUB i16 | DE6An | FISUBR i16 | DE72n | FIDIV i16 | DE7An | FIDIVR i16 |
DE43n | FIADD i16 | DE4Bn | FIMUL i16 | DE53n | FICOM i16 | DE5Bn | FICOMP i16 | DE63n | FISUB i16 | DE6Bn | FISUBR i16 | DE73n | FIDIV i16 | DE7Bn | FIDIVR i16 |
DE44n | FIADD i16 | DE4Cn | FIMUL i16 | DE54n | FICOM i16 | DE5Cn | FICOMP i16 | DE64n | FISUB i16 | DE6Cn | FISUBR i16 | DE74n | FIDIV i16 | DE7Cn | FIDIVR i16 |
DE45n | FIADD i16 | DE4Dn | FIMUL i16 | DE55n | FICOM i16 | DE5Dn | FICOMP i16 | DE65n | FISUB i16 | DE6Dn | FISUBR i16 | DE75n | FIDIV i16 | DE7Dn | FIDIVR i16 |
DE46n | FIADD i16 | DE4En | FIMUL i16 | DE56n | FICOM i16 | DE5En | FICOMP i16 | DE66n | FISUB i16 | DE6En | FISUBR i16 | DE76n | FIDIV i16 | DE7En | FIDIVR i16 |
DE47n | FIADD i16 | DE4Fn | FIMUL i16 | DE57n | FICOM i16 | DE5Fn | FICOMP i16 | DE67n | FISUB i16 | DE6Fn | FISUBR i16 | DE77n | FIDIV i16 | DE7Fn | FIDIVR i16 |
DE80nn | FIADD i16 | DE88nn | FIMUL i16 | DE90nn | FICOM i16 | DE98nn | FICOMP i16 | DEA0nn | FISUB i16 | DEA8nn | FISUBR i16 | DEB0nn | FIDIV i16 | DEB8nn | FIDIVR i16 |
DE81nn | FIADD i16 | DE89nn | FIMUL i16 | DE91nn | FICOM i16 | DE99nn | FICOMP i16 | DEA1nn | FISUB i16 | DEA9nn | FISUBR i16 | DEB1nn | FIDIV i16 | DEB9nn | FIDIVR i16 |
DE82nn | FIADD i16 | DE8Ann | FIMUL i16 | DE92nn | FICOM i16 | DE9Ann | FICOMP i16 | DEA2nn | FISUB i16 | DEAAnn | FISUBR i16 | DEB2nn | FIDIV i16 | DEBAnn | FIDIVR i16 |
DE83nn | FIADD i16 | DE8Bnn | FIMUL i16 | DE93nn | FICOM i16 | DE9Bnn | FICOMP i16 | DEA3nn | FISUB i16 | DEABnn | FISUBR i16 | DEB3nn | FIDIV i16 | DEBBnn | FIDIVR i16 |
DE84nn | FIADD i16 | DE8Cnn | FIMUL i16 | DE94nn | FICOM i16 | DE9Cnn | FICOMP i16 | DEA4nn | FISUB i16 | DEACnn | FISUBR i16 | DEB4nn | FIDIV i16 | DEBCnn | FIDIVR i16 |
DE85nn | FIADD i16 | DE8Dnn | FIMUL i16 | DE95nn | FICOM i16 | DE9Dnn | FICOMP i16 | DEA5nn | FISUB i16 | DEADnn | FISUBR i16 | DEB5nn | FIDIV i16 | DEBDnn | FIDIVR i16 |
DE86nn | FIADD i16 | DE8Enn | FIMUL i16 | DE96nn | FICOM i16 | DE9Enn | FICOMP i16 | DEA6nn | FISUB i16 | DEAEnn | FISUBR i16 | DEB6nn | FIDIV i16 | DEBEnn | FIDIVR i16 |
DE87nn | FIADD i16 | DE8Fnn | FIMUL i16 | DE97nn | FICOM i16 | DE9Fnn | FICOMP i16 | DEA7nn | FISUB i16 | DEAFnn | FISUBR i16 | DEB7nn | FIDIV i16 | DEBFnn | FIDIVR i16 |
DA00 | FIADD i32 | DA08 | FIMUL i32 | DA10 | FICOM i32 | DA18 | FICOMP i32 | DA20 | FISUB i32 | DA28 | FISUBR i32 | DA30 | FIDIV i32 | DA38 | FIDIVR i32 |
DA01 | FIADD i32 | DA09 | FIMUL i32 | DA11 | FICOM i32 | DA19 | FICOMP i32 | DA21 | FISUB i32 | DA29 | FISUBR i32 | DA31 | FIDIV i32 | DA39 | FIDIVR i32 |
DA02 | FIADD i32 | DA0A | FIMUL i32 | DA12 | FICOM i32 | DA1A | FICOMP i32 | DA22 | FISUB i32 | DA2A | FISUBR i32 | DA32 | FIDIV i32 | DA3A | FIDIVR i32 |
DA03 | FIADD i32 | DA0B | FIMUL i32 | DA13 | FICOM i32 | DA1B | FICOMP i32 | DA23 | FISUB i32 | DA2B | FISUBR i32 | DA33 | FIDIV i32 | DA3B | FIDIVR i32 |
DA04 | FIADD i32 | DA0C | FIMUL i32 | DA14 | FICOM i32 | DA1C | FICOMP i32 | DA24 | FISUB i32 | DA2C | FISUBR i32 | DA34 | FIDIV i32 | DA3C | FIDIVR i32 |
DA05 | FIADD i32 | DA0D | FIMUL i32 | DA15 | FICOM i32 | DA1D | FICOMP i32 | DA25 | FISUB i32 | DA2D | FISUBR i32 | DA35 | FIDIV i32 | DA3D | FIDIVR i32 |
DA06nn | FIADD i32 | DA0Enn | FIMUL i32 | DA16nn | FICOM i32 | DA1Enn | FICOMP i32 | DA26nn | FISUB i32 | DA2Enn | FISUBR i32 | DA36nn | FIDIV i32 | DA3Enn | FIDIVR i32 |
DA07 | FIADD i32 | DA0F | FIMUL i32 | DA17 | FICOM i32 | DA1F | FICOMP i32 | DA27 | FISUB i32 | DA2F | FISUBR i32 | DA37 | FIDIV i32 | DA3F | FIDIVR i32 |
DA40n | FIADD i32 | DA48n | FIMUL i32 | DA50n | FICOM i32 | DA58n | FICOMP i32 | DA60n | FISUB i32 | DA68n | FISUBR i32 | DA70n | FIDIV i32 | DA78n | FIDIVR i32 |
DA41n | FIADD i32 | DA49n | FIMUL i32 | DA51n | FICOM i32 | DA59n | FICOMP i32 | DA61n | FISUB i32 | DA69n | FISUBR i32 | DA71n | FIDIV i32 | DA79n | FIDIVR i32 |
DA42n | FIADD i32 | DA4An | FIMUL i32 | DA52n | FICOM i32 | DA5An | FICOMP i32 | DA62n | FISUB i32 | DA6An | FISUBR i32 | DA72n | FIDIV i32 | DA7An | FIDIVR i32 |
DA43n | FIADD i32 | DA4Bn | FIMUL i32 | DA53n | FICOM i32 | DA5Bn | FICOMP i32 | DA63n | FISUB i32 | DA6Bn | FISUBR i32 | DA73n | FIDIV i32 | DA7Bn | FIDIVR i32 |
DA44n | FIADD i32 | DA4Cn | FIMUL i32 | DA54n | FICOM i32 | DA5Cn | FICOMP i32 | DA64n | FISUB i32 | DA6Cn | FISUBR i32 | DA74n | FIDIV i32 | DA7Cn | FIDIVR i32 |
DA45n | FIADD i32 | DA4Dn | FIMUL i32 | DA55n | FICOM i32 | DA5Dn | FICOMP i32 | DA65n | FISUB i32 | DA6Dn | FISUBR i32 | DA75n | FIDIV i32 | DA7Dn | FIDIVR i32 |
DA46n | FIADD i32 | DA4En | FIMUL i32 | DA56n | FICOM i32 | DA5En | FICOMP i32 | DA66n | FISUB i32 | DA6En | FISUBR i32 | DA76n | FIDIV i32 | DA7En | FIDIVR i32 |
DA47n | FIADD i32 | DA4Fn | FIMUL i32 | DA57n | FICOM i32 | DA5Fn | FICOMP i32 | DA67n | FISUB i32 | DA6Fn | FISUBR i32 | DA77n | FIDIV i32 | DA7Fn | FIDIVR i32 |
DA80nn | FIADD i32 | DA88nn | FIMUL i32 | DA90nn | FICOM i32 | DA98nn | FICOMP i32 | DAA0nn | FISUB i32 | DAA8nn | FISUBR i32 | DAB0nn | FIDIV i32 | DAB8nn | FIDIVR i32 |
DA81nn | FIADD i32 | DA89nn | FIMUL i32 | DA91nn | FICOM i32 | DA99nn | FICOMP i32 | DAA1nn | FISUB i32 | DAA9nn | FISUBR i32 | DAB1nn | FIDIV i32 | DAB9nn | FIDIVR i32 |
DA82nn | FIADD i32 | DA8Ann | FIMUL i32 | DA92nn | FICOM i32 | DA9Ann | FICOMP i32 | DAA2nn | FISUB i32 | DAAAnn | FISUBR i32 | DAB2nn | FIDIV i32 | DABAnn | FIDIVR i32 |
DA83nn | FIADD i32 | DA8Bnn | FIMUL i32 | DA93nn | FICOM i32 | DA9Bnn | FICOMP i32 | DAA3nn | FISUB i32 | DAABnn | FISUBR i32 | DAB3nn | FIDIV i32 | DABBnn | FIDIVR i32 |
DA84nn | FIADD i32 | DA8Cnn | FIMUL i32 | DA94nn | FICOM i32 | DA9Cnn | FICOMP i32 | DAA4nn | FISUB i32 | DAACnn | FISUBR i32 | DAB4nn | FIDIV i32 | DABCnn | FIDIVR i32 |
DA85nn | FIADD i32 | DA8Dnn | FIMUL i32 | DA95nn | FICOM i32 | DA9Dnn | FICOMP i32 | DAA5nn | FISUB i32 | DAADnn | FISUBR i32 | DAB5nn | FIDIV i32 | DABDnn | FIDIVR i32 |
DA86nn | FIADD i32 | DA8Enn | FIMUL i32 | DA96nn | FICOM i32 | DA9Enn | FICOMP i32 | DAA6nn | FISUB i32 | DAAEnn | FISUBR i32 | DAB6nn | FIDIV i32 | DABEnn | FIDIVR i32 |
DA87nn | FIADD i32 | DA8Fnn | FIMUL i32 | DA97nn | FICOM i32 | DA9Fnn | FICOMP i32 | DAA7nn | FISUB i32 | DAAFnn | FISUBR i32 | DAB7nn | FIDIV i32 | DABFnn | FIDIVR i32 |
D8C0 | FADD ST,ST0 | D8C8 | FMUL ST,ST0 | D8D0 | FCOM ST0 | D8D8 | FCOMP ST0 | D8E0 | FSUB ST,ST0 | D8E8 | FSUBR ST,ST0 | D8F0 | FDIV ST,ST0 | D8F8 | FDIVR ST,ST0 |
D8C1 | FADD ST,ST1 | D8C9 | FMUL ST,ST1 | D8D1 | FCOM ST1 | D8D9 | FCOMP ST1 | D8E1 | FSUB ST,ST1 | D8E9 | FSUBR ST,ST1 | D8F1 | FDIV ST,ST1 | D8F9 | FDIVR ST,ST1 |
D8C2 | FADD ST,ST2 | D8CA | FMUL ST,ST2 | D8D2 | FCOM ST2 | D8DA | FCOMP ST2 | D8E2 | FSUB ST,ST2 | D8EA | FSUBR ST,ST2 | D8F2 | FDIV ST,ST2 | D8FA | FDIVR ST,ST2 |
D8C3 | FADD ST,ST3 | D8CB | FMUL ST,ST3 | D8D3 | FCOM ST3 | D8DB | FCOMP ST3 | D8E3 | FSUB ST,ST3 | D8EB | FSUBR ST,ST3 | D8F3 | FDIV ST,ST3 | D8FB | FDIVR ST,ST3 |
D8C4 | FADD ST,ST4 | D8CC | FMUL ST,ST4 | D8D4 | FCOM ST4 | D8DC | FCOMP ST4 | D8E4 | FSUB ST,ST4 | D8EC | FSUBR ST,ST4 | D8F4 | FDIV ST,ST4 | D8FC | FDIVR ST,ST4 |
D8C5 | FADD ST,ST5 | D8CD | FMUL ST,ST5 | D8D5 | FCOM ST5 | D8DD | FCOMP ST5 | D8E5 | FSUB ST,ST5 | D8ED | FSUBR ST,ST5 | D8F5 | FDIV ST,ST5 | D8FD | FDIVR ST,ST5 |
D8C6 | FADD ST,ST6 | D8CE | FMUL ST,ST6 | D8D6 | FCOM ST6 | D8DE | FCOMP ST6 | D8E6 | FSUB ST,ST6 | D8EE | FSUBR ST,ST6 | D8F6 | FDIV ST,ST6 | D8FE | FDIVR ST,ST6 |
D8C7 | FADD ST,ST7 | D8CF | FMUL ST,ST7 | D8D7 | FCOM ST7 | D8DF | FCOMP ST7 | D8E7 | FSUB ST,ST7 | D8EF | FSUBR ST,ST7 | D8F7 | FDIV ST,ST7 | D8FF | FDIVR ST,ST7 |
DCC0 | FADD ST0,ST | DCC8 | FMUL ST0,ST | DCE0 | FSUBR ST0,ST | DCE8 | FSUB ST0,ST | DCF0 | FDIVR ST0,ST | DCF8 | FDIV ST0,ST | ||||
DCC1 | FADD ST1,ST | DCC9 | FMUL ST1,ST | DCE1 | FSUBR ST1,ST | DCE9 | FSUB ST1,ST | DCF1 | FDIVR ST1,ST | DCF9 | FDIV ST1,ST | ||||
DCC2 | FADD ST2,ST | DCCA | FMUL ST2,ST | DCE2 | FSUBR ST2,ST | DCEA | FSUB ST2,ST | DCF2 | FDIVR ST2,ST | DCFA | FDIV ST2,ST | ||||
DCC3 | FADD ST3,ST | DCCB | FMUL ST3,ST | DCE3 | FSUBR ST3,ST | DCEB | FSUB ST3,ST | DCF3 | FDIVR ST3,ST | DCFB | FDIV ST3,ST | ||||
DCC4 | FADD ST4,ST | DCCC | FMUL ST4,ST | DCE4 | FSUBR ST4,ST | DCEC | FSUB ST4,ST | DCF4 | FDIVR ST4,ST | DCFC | FDIV ST4,ST | ||||
DCC5 | FADD ST5,ST | DCCD | FMUL ST5,ST | DCE5 | FSUBR ST5,ST | DCED | FSUB ST5,ST | DCF5 | FDIVR ST5,ST | DCFD | FDIV ST5,ST | ||||
DCC6 | FADD ST6,ST | DCCE | FMUL ST6,ST | DCE6 | FSUBR ST6,ST | DCEE | FSUB ST6,ST | DCF6 | FDIVR ST6,ST | DCFE | FDIV ST6,ST | ||||
DCC7 | FADD ST7,ST | DCCF | FMUL ST7,ST | DCE7 | FSUBR ST7,ST | DCEF | FSUB ST7,ST | DCF7 | FDIVR ST7,ST | DCFF | FDIV ST7,ST | ||||
DEC0 | FADDP ST0,ST | DEC8 | FMULP ST0,ST | DED0 | FCOMP ST0 | DEE0 | FSUBRP ST0,ST | DEE8 | FSUBP ST0,ST | DEF0 | FDIVRP ST0,ST | DEF8 | FDIVP ST0,ST | ||
DEC1 | FADDP ST1,ST | DEC9 | FMULP ST1,ST | DED1 | FCOMP ST1 | DED9 | FCOMPP ST1 | DEE1 | FSUBRP ST1,ST | DEE9 | FSUBP ST1,ST | DEF1 | FDIVRP ST1,ST | DEF9 | FDIVP ST1,ST |
DEC2 | FADDP ST2,ST | DECA | FMULP ST2,ST | DED2 | FCOMP ST2 | DEE2 | FSUBRP ST2,ST | DEEA | FSUBP ST2,ST | DEF2 | FDIVRP ST2,ST | DEFA | FDIVP ST2,ST | ||
DEC3 | FADDP ST3,ST | DECB | FMULP ST3,ST | DED3 | FCOMP ST3 | DEE3 | FSUBRP ST3,ST | DEEB | FSUBP ST3,ST | DEF3 | FDIVRP ST3,ST | DEFB | FDIVP ST3,ST | ||
DEC4 | FADDP ST4,ST | DECC | FMULP ST4,ST | DED4 | FCOMP ST4 | DEE4 | FSUBRP ST4,ST | DEEC | FSUBP ST4,ST | DEF4 | FDIVRP ST4,ST | DEFC | FDIVP ST4,ST | ||
DEC5 | FADDP ST5,ST | DECD | FMULP ST5,ST | DED5 | FCOMP ST5 | DEE5 | FSUBRP ST5,ST | DEED | FSUBP ST5,ST | DEF5 | FDIVRP ST5,ST | DEFD | FDIVP ST5,ST | ||
DEC6 | FADDP ST6,ST | DECE | FMULP ST6,ST | DED6 | FCOMP ST6 | DEE6 | FSUBRP ST6,ST | DEEE | FSUBP ST6,ST | DEF6 | FDIVRP ST6,ST | DEFE | FDIVP ST6,ST | ||
DEC7 | FADDP ST7,ST | DECF | FMULP ST7,ST | DED7 | FCOMP ST7 | DEE7 | FSUBRP ST7,ST | DEEF | FSUBP ST7,ST | DEF7 | FDIVRP ST7,ST | DEFF | FDIVP ST7,ST | ||
DAC0 | FCMOVB ST0 | DAC8 | FCMOVE ST0 | DAD0 | FCMOVB ST0 | DAD8 | FCMOVU ST0 | ||||||||
DAC1 | FCMOVB ST1 | DAC9 | FCMOVE ST1 | DAD1 | FCMOVB ST1 | DAD9 | FCMOVU ST1 | DAE9 | FUCOMP | ||||||
DAC2 | FCMOVB ST2 | DACA | FCMOVE ST2 | DAD2 | FCMOVB ST2 | DADA | FCMOVU ST2 | ||||||||
DAC3 | FCMOVB ST3 | DACB | FCMOVE ST3 | DAD3 | FCMOVB ST3 | DADB | FCMOVU ST3 | ||||||||
DAC4 | FCMOVB ST4 | DACC | FCMOVE ST4 | DAD4 | FCMOVB ST4 | DADC | FCMOVU ST4 | ||||||||
DAC5 | FCMOVB ST5 | DACD | FCMOVE ST5 | DAD5 | FCMOVB ST5 | DADD | FCMOVU ST5 | ||||||||
DAC6 | FCMOVB ST6 | DACE | FCMOVE ST6 | DAD6 | FCMOVB ST6 | DADE | FCMOVU ST6 | ||||||||
DAC7 | FCMOVB ST7 | DACF | FCMOVE ST7 | DAD7 | FCMOVB ST7 | DADF | FCMOVU ST7 | ||||||||
Opcode | Mnemo | Opcode | Mnemo | Opcode | Mnemo | Opcode | Mnemo | Opcode | Mnemo | Opcode | Mnemo | Opcode | Mnemo | Opcode | Mnemo |
D900 | FLD f32 | D910 | FST f32 | D918 | FSTP f32 | D938 | FSTCW u16 | D920 | FLDENV env | D930 | FSTENV env | D928 | FLDCW u16 | ||
D901 | FLD f32 | D911 | FST f32 | D919 | FSTP f32 | D939 | FSTCW u16 | D921 | FLDENV env | D931 | FSTENV env | D929 | FLDCW u16 | ||
D902 | FLD f32 | D912 | FST f32 | D91A | FSTP f32 | D93A | FSTCW u16 | D922 | FLDENV env | D932 | FSTENV env | D92A | FLDCW u16 | ||
D903 | FLD f32 | D913 | FST f32 | D91B | FSTP f32 | D93B | FSTCW u16 | D923 | FLDENV env | D933 | FSTENV env | D92B | FLDCW u16 | ||
D904 | FLD f32 | D914 | FST f32 | D91C | FSTP f32 | D93C | FSTCW u16 | D924 | FLDENV env | D934 | FSTENV env | D92C | FLDCW u16 | ||
D905 | FLD f32 | D915 | FST f32 | D91D | FSTP f32 | D93D | FSTCW u16 | D925 | FLDENV env | D935 | FSTENV env | D92D | FLDCW u16 | ||
D906nn | FLD f32 | D916nn | FST f32 | D91Enn | FSTP f32 | D93Enn | FSTCW u16 | D926nn | FLDENV env | D936nn | FSTENV env | D92Enn | FLDCW u16 | ||
D907 | FLD f32 | D917 | FST f32 | D91F | FSTP f32 | D93F | FSTCW u16 | D927 | FLDENV env | D937 | FSTENV env | D92F | FLDCW u16 | ||
D940n | FLD f32 | D950n | FST f32 | D958n | FSTP f32 | D978n | FSTCW u16 | D960n | FLDENV env | D970n | FSTENV env | D968n | FLDCW u16 | ||
D941n | FLD f32 | D951n | FST f32 | D959n | FSTP f32 | D979n | FSTCW u16 | D961n | FLDENV env | D971n | FSTENV env | D969n | FLDCW u16 | ||
D942n | FLD f32 | D952n | FST f32 | D95An | FSTP f32 | D97An | FSTCW u16 | D962n | FLDENV env | D972n | FSTENV env | D96An | FLDCW u16 | ||
D943n | FLD f32 | D953n | FST f32 | D95Bn | FSTP f32 | D97Bn | FSTCW u16 | D963n | FLDENV env | D973n | FSTENV env | D96Bn | FLDCW u16 | ||
D944n | FLD f32 | D954n | FST f32 | D95Cn | FSTP f32 | D97Cn | FSTCW u16 | D964n | FLDENV env | D974n | FSTENV env | D96Cn | FLDCW u16 | ||
D945n | FLD f32 | D955n | FST f32 | D95Dn | FSTP f32 | D97Dn | FSTCW u16 | D965n | FLDENV env | D975n | FSTENV env | D96Dn | FLDCW u16 | ||
D946n | FLD f32 | D956n | FST f32 | D95En | FSTP f32 | D97En | FSTCW u16 | D966n | FLDENV env | D976n | FSTENV env | D96En | FLDCW u16 | ||
D947n | FLD f32 | D957n | FST f32 | D95Fn | FSTP f32 | D97Fn | FSTCW u16 | D967n | FLDENV env | D977n | FSTENV env | D96Fn | FLDCW u16 | ||
D980nn | FLD f32 | D990nn | FST f32 | D998nn | FSTP f32 | D9B8nn | FSTCW u16 | D9A0nn | FLDENV env | D9B0nn | FSTENV env | D9A8nn | FLDCW u16 | ||
D981nn | FLD f32 | D991nn | FST f32 | D999nn | FSTP f32 | D9B9nn | FSTCW u16 | D9A1nn | FLDENV env | D9B1nn | FSTENV env | D9A9nn | FLDCW u16 | ||
D982nn | FLD f32 | D992nn | FST f32 | D99Ann | FSTP f32 | D9BAnn | FSTCW u16 | D9A2nn | FLDENV env | D9B2nn | FSTENV env | D9AAnn | FLDCW u16 | ||
D983nn | FLD f32 | D993nn | FST f32 | D99Bnn | FSTP f32 | D9BBnn | FSTCW u16 | D9A3nn | FLDENV env | D9B3nn | FSTENV env | D9ABnn | FLDCW u16 | ||
D984nn | FLD f32 | D994nn | FST f32 | D99Cnn | FSTP f32 | D9BCnn | FSTCW u16 | D9A4nn | FLDENV env | D9B4nn | FSTENV env | D9ACnn | FLDCW u16 | ||
D985nn | FLD f32 | D995nn | FST f32 | D99Dnn | FSTP f32 | D9BDnn | FSTCW u16 | D9A5nn | FLDENV env | D9B5nn | FSTENV env | D9ADnn | FLDCW u16 | ||
D986nn | FLD f32 | D996nn | FST f32 | D99Enn | FSTP f32 | D9BEnn | FSTCW u16 | D9A6nn | FLDENV env | D9B6nn | FSTENV env | D9AEnn | FLDCW u16 | ||
D987nn | FLD f32 | D997nn | FST f32 | D99Fnn | FSTP f32 | D9BFnn | FSTCW u16 | D9A7nn | FLDENV env | D9B7nn | FSTENV env | D9AFnn | FLDCW u16 | ||
DD00 | FLD f64 | DD10 | FST f64 | DD18 | FSTP f64 | DD38 | FSTSW u16 | DD20 | FRSTOR stt | DD30 | FSAVE stt | ||||
DD01 | FLD f64 | DD11 | FST f64 | DD19 | FSTP f64 | DD39 | FSTSW u16 | DD21 | FRSTOR stt | DD31 | FSAVE stt | ||||
DD02 | FLD f64 | DD12 | FST f64 | DD1A | FSTP f64 | DD3A | FSTSW u16 | DD22 | FRSTOR stt | DD32 | FSAVE stt | ||||
DD03 | FLD f64 | DD13 | FST f64 | DD1B | FSTP f64 | DD3B | FSTSW u16 | DD23 | FRSTOR stt | DD33 | FSAVE stt | ||||
DD04 | FLD f64 | DD14 | FST f64 | DD1C | FSTP f64 | DD3C | FSTSW u16 | DD24 | FRSTOR stt | DD34 | FSAVE stt | ||||
DD05 | FLD f64 | DD15 | FST f64 | DD1D | FSTP f64 | DD3D | FSTSW u16 | DD25 | FRSTOR stt | DD35 | FSAVE stt | ||||
DD06nn | FLD f64 | DD16nn | FST f64 | DD1Enn | FSTP f64 | DD3Enn | FSTSW u16 | DD26nn | FRSTOR stt | DD36nn | FSAVE stt | ||||
DD07 | FLD f64 | DD17 | FST f64 | DD1F | FSTP f64 | DD3F | FSTSW u16 | DD27 | FRSTOR stt | DD37 | FSAVE stt | ||||
DD40n | FLD f64 | DD50n | FST f64 | DD58n | FSTP f64 | DD78n | FSTSW u16 | DD60n | FRSTOR stt | DD70n | FSAVE stt | ||||
DD41n | FLD f64 | DD51n | FST f64 | DD59n | FSTP f64 | DD79n | FSTSW u16 | DD61n | FRSTOR stt | DD71n | FSAVE stt | ||||
DD42n | FLD f64 | DD52n | FST f64 | DD5An | FSTP f64 | DD7An | FSTSW u16 | DD62n | FRSTOR stt | DD72n | FSAVE stt | ||||
DD43n | FLD f64 | DD53n | FST f64 | DD5Bn | FSTP f64 | DD7Bn | FSTSW u16 | DD63n | FRSTOR stt | DD73n | FSAVE stt | ||||
DD44n | FLD f64 | DD54n | FST f64 | DD5Cn | FSTP f64 | DD7Cn | FSTSW u16 | DD64n | FRSTOR stt | DD74n | FSAVE stt | ||||
DD45n | FLD f64 | DD55n | FST f64 | DD5Dn | FSTP f64 | DD7Dn | FSTSW u16 | DD65n | FRSTOR stt | DD75n | FSAVE stt | ||||
DD46n | FLD f64 | DD56n | FST f64 | DD5En | FSTP f64 | DD7En | FSTSW u16 | DD66n | FRSTOR stt | DD76n | FSAVE stt | ||||
DD47n | FLD f64 | DD57n | FST f64 | DD5Fn | FSTP f64 | DD7Fn | FSTSW u16 | DD67n | FRSTOR stt | DD77n | FSAVE stt | ||||
DD80nn | FLD f64 | DD90nn | FST f64 | DD98nn | FSTP f64 | DDB8nn | FSTSW u16 | DDA0nn | FRSTOR stt | DDB0nn | FSAVE stt | ||||
DD81nn | FLD f64 | DD91nn | FST f64 | DD99nn | FSTP f64 | DDB9nn | FSTSW u16 | DDA1nn | FRSTOR stt | DDB1nn | FSAVE stt | ||||
DD82nn | FLD f64 | DD92nn | FST f64 | DD9Ann | FSTP f64 | DDBAnn | FSTSW u16 | DDA2nn | FRSTOR stt | DDB2nn | FSAVE stt | ||||
DD83nn | FLD f64 | DD93nn | FST f64 | DD9Bnn | FSTP f64 | DDBBnn | FSTSW u16 | DDA3nn | FRSTOR stt | DDB3nn | FSAVE stt | ||||
DD84nn | FLD f64 | DD94nn | FST f64 | DD9Cnn | FSTP f64 | DDBCnn | FSTSW u16 | DDA4nn | FRSTOR stt | DDB4nn | FSAVE stt | ||||
DD85nn | FLD f64 | DD95nn | FST f64 | DD9Dnn | FSTP f64 | DDBDnn | FSTSW u16 | DDA5nn | FRSTOR stt | DDB5nn | FSAVE stt | ||||
DD86nn | FLD f64 | DD96nn | FST f64 | DD9Enn | FSTP f64 | DDBEnn | FSTSW u16 | DDA6nn | FRSTOR stt | DDB6nn | FSAVE stt | ||||
DD87nn | FLD f64 | DD97nn | FST f64 | DD9Fnn | FSTP f64 | DDBFnn | FSTSW u16 | DDA7nn | FRSTOR stt | DDB7nn | FSAVE stt | ||||
DF00 | FILD i16 | DF10 | FIST i16 | DF18 | FISTP i16 | DF38 | FISTP i64 | DF20 | FBLD bcd | DF30 | FBSTP bcd | DF28 | FILD i64 | ||
DF01 | FILD i16 | DF11 | FIST i16 | DF19 | FISTP i16 | DF39 | FISTP i64 | DF21 | FBLD bcd | DF31 | FBSTP bcd | DF29 | FILD i64 | ||
DF02 | FILD i16 | DF12 | FIST i16 | DF1A | FISTP i16 | DF3A | FISTP i64 | DF22 | FBLD bcd | DF32 | FBSTP bcd | DF2A | FILD i64 | ||
DF03 | FILD i16 | DF13 | FIST i16 | DF1B | FISTP i16 | DF3B | FISTP i64 | DF23 | FBLD bcd | DF33 | FBSTP bcd | DF2B | FILD i64 | ||
DF04 | FILD i16 | DF14 | FIST i16 | DF1C | FISTP i16 | DF3C | FISTP i64 | DF24 | FBLD bcd | DF34 | FBSTP bcd | DF2C | FILD i64 | ||
DF05 | FILD i16 | DF15 | FIST i16 | DF1D | FISTP i16 | DF3D | FISTP i64 | DF25 | FBLD bcd | DF35 | FBSTP bcd | DF2D | FILD i64 | ||
DF06nn | FILD i16 | DF16nn | FIST i16 | DF1Enn | FISTP i16 | DF3Enn | FISTP i64 | DF26nn | FBLD bcd | DF36nn | FBSTP bcd | DF2Enn | FILD i64 | ||
DF07 | FILD i16 | DF17 | FIST i16 | DF1F | FISTP i16 | DF3F | FISTP i64 | DF27 | FBLD bcd | DF37 | FBSTP bcd | DF2F | FILD i64 | ||
DF40n | FILD i16 | DF50n | FIST i16 | DF58n | FISTP i16 | DF78n | FISTP i64 | DF60n | FBLD bcd | DF70n | FBSTP bcd | DF68n | FILD i64 | ||
DF41n | FILD i16 | DF51n | FIST i16 | DF59n | FISTP i16 | DF79n | FISTP i64 | DF61n | FBLD bcd | DF71n | FBSTP bcd | DF69n | FILD i64 | ||
DF42n | FILD i16 | DF52n | FIST i16 | DF5An | FISTP i16 | DF7An | FISTP i64 | DF62n | FBLD bcd | DF72n | FBSTP bcd | DF6An | FILD i64 | ||
DF43n | FILD i16 | DF53n | FIST i16 | DF5Bn | FISTP i16 | DF7Bn | FISTP i64 | DF63n | FBLD bcd | DF73n | FBSTP bcd | DF6Bn | FILD i64 | ||
DF44n | FILD i16 | DF54n | FIST i16 | DF5Cn | FISTP i16 | DF7Cn | FISTP i64 | DF64n | FBLD bcd | DF74n | FBSTP bcd | DF6Cn | FILD i64 | ||
DF45n | FILD i16 | DF55n | FIST i16 | DF5Dn | FISTP i16 | DF7Dn | FISTP i64 | DF65n | FBLD bcd | DF75n | FBSTP bcd | DF6Dn | FILD i64 | ||
DF46n | FILD i16 | DF56n | FIST i16 | DF5En | FISTP i16 | DF7En | FISTP i64 | DF66n | FBLD bcd | DF76n | FBSTP bcd | DF6En | FILD i64 | ||
DF47n | FILD i16 | DF57n | FIST i16 | DF5Fn | FISTP i16 | DF7Fn | FISTP i64 | DF67n | FBLD bcd | DF77n | FBSTP bcd | DF6Fn | FILD i64 | ||
DF80nn | FILD i16 | DF90nn | FIST i16 | DF98nn | FISTP i16 | DFB8nn | FISTP i64 | DFA0nn | FBLD bcd | DFB0nn | FBSTP bcd | DFA8nn | FILD i64 | ||
DF81nn | FILD i16 | DF91nn | FIST i16 | DF99nn | FISTP i16 | DFB9nn | FISTP i64 | DFA1nn | FBLD bcd | DFB1nn | FBSTP bcd | DFA9nn | FILD i64 | ||
DF82nn | FILD i16 | DF92nn | FIST i16 | DF9Ann | FISTP i16 | DFBAnn | FISTP i64 | DFA2nn | FBLD bcd | DFB2nn | FBSTP bcd | DFAAnn | FILD i64 | ||
DF83nn | FILD i16 | DF93nn | FIST i16 | DF9Bnn | FISTP i16 | DFBBnn | FISTP i64 | DFA3nn | FBLD bcd | DFB3nn | FBSTP bcd | DFABnn | FILD i64 | ||
DF84nn | FILD i16 | DF94nn | FIST i16 | DF9Cnn | FISTP i16 | DFBCnn | FISTP i64 | DFA4nn | FBLD bcd | DFB4nn | FBSTP bcd | DFACnn | FILD i64 | ||
DF85nn | FILD i16 | DF95nn | FIST i16 | DF9Dnn | FISTP i16 | DFBDnn | FISTP i64 | DFA5nn | FBLD bcd | DFB5nn | FBSTP bcd | DFADnn | FILD i64 | ||
DF86nn | FILD i16 | DF96nn | FIST i16 | DF9Enn | FISTP i16 | DFBEnn | FISTP i64 | DFA6nn | FBLD bcd | DFB6nn | FBSTP bcd | DFAEnn | FILD i64 | ||
DF87nn | FILD i16 | DF97nn | FIST i16 | DF9Fnn | FISTP i16 | DFBFnn | FISTP i64 | DFA7nn | FBLD bcd | DFB7nn | FBSTP bcd | DFAFnn | FILD i64 | ||
DB00 | FILD i32 | DB10 | FIST i32 | DB18 | FISTP i32 | DB38 | FSTP f80 | DB28 | FLD f80 | ||||||
DB01 | FILD i32 | DB11 | FIST i32 | DB19 | FISTP i32 | DB39 | FSTP f80 | DB29 | FLD f80 | ||||||
DB02 | FILD i32 | DB12 | FIST i32 | DB1A | FISTP i32 | DB3A | FSTP f80 | DB2A | FLD f80 | ||||||
DB03 | FILD i32 | DB13 | FIST i32 | DB1B | FISTP i32 | DB3B | FSTP f80 | DB2B | FLD f80 | ||||||
DB04 | FILD i32 | DB14 | FIST i32 | DB1C | FISTP i32 | DB3C | FSTP f80 | DB2C | FLD f80 | ||||||
DB05 | FILD i32 | DB15 | FIST i32 | DB1D | FISTP i32 | DB3D | FSTP f80 | DB2D | FLD f80 | ||||||
DB06nn | FILD i32 | DB16nn | FIST i32 | DB1Enn | FISTP i32 | DB3Enn | FSTP f80 | DB2Enn | FLD f80 | ||||||
DB07 | FILD i32 | DB17 | FIST i32 | DB1F | FISTP i32 | DB3F | FSTP f80 | DB2F | FLD f80 | ||||||
DB40n | FILD i32 | DB50n | FIST i32 | DB58n | FISTP i32 | DB78n | FSTP f80 | DB68n | FLD f80 | ||||||
DB41n | FILD i32 | DB51n | FIST i32 | DB59n | FISTP i32 | DB79n | FSTP f80 | DB69n | FLD f80 | ||||||
DB42n | FILD i32 | DB52n | FIST i32 | DB5An | FISTP i32 | DB7An | FSTP f80 | DB6An | FLD f80 | ||||||
DB43n | FILD i32 | DB53n | FIST i32 | DB5Bn | FISTP i32 | DB7Bn | FSTP f80 | DB6Bn | FLD f80 | ||||||
DB44n | FILD i32 | DB54n | FIST i32 | DB5Cn | FISTP i32 | DB7Cn | FSTP f80 | DB6Cn | FLD f80 | ||||||
DB45n | FILD i32 | DB55n | FIST i32 | DB5Dn | FISTP i32 | DB7Dn | FSTP f80 | DB6Dn | FLD f80 | ||||||
DB46n | FILD i32 | DB56n | FIST i32 | DB5En | FISTP i32 | DB7En | FSTP f80 | DB6En | FLD f80 | ||||||
DB47n | FILD i32 | DB57n | FIST i32 | DB5Fn | FISTP i32 | DB7Fn | FSTP f80 | DB6Fn | FLD f80 | ||||||
DB80nn | FILD i32 | DB90nn | FIST i32 | DB98nn | FISTP i32 | DBB8nn | FSTP f80 | DBA8nn | FLD f80 | ||||||
DB81nn | FILD i32 | DB91nn | FIST i32 | DB99nn | FISTP i32 | DBB9nn | FSTP f80 | DBA9nn | FLD f80 | ||||||
DB82nn | FILD i32 | DB92nn | FIST i32 | DB9Ann | FISTP i32 | DBBAnn | FSTP f80 | DBAAnn | FLD f80 | ||||||
DB83nn | FILD i32 | DB93nn | FIST i32 | DB9Bnn | FISTP i32 | DBBBnn | FSTP f80 | DBABnn | FLD f80 | ||||||
DB84nn | FILD i32 | DB94nn | FIST i32 | DB9Cnn | FISTP i32 | DBBCnn | FSTP f80 | DBACnn | FLD f80 | ||||||
DB85nn | FILD i32 | DB95nn | FIST i32 | DB9Dnn | FISTP i32 | DBBDnn | FSTP f80 | DBADnn | FLD f80 | ||||||
DB86nn | FILD i32 | DB96nn | FIST i32 | DB9Enn | FISTP i32 | DBBEnn | FSTP f80 | DBAEnn | FLD f80 | ||||||
DB87nn | FILD i32 | DB97nn | FIST i32 | DB9Fnn | FISTP i32 | DBBFnn | FSTP f80 | DBAFnn | FLD f80 | ||||||
D9C0 | FLD ST0 | D9F8 | FPREM | D9E0 | FCHS | D9F0 | F2XM1 | D9E8 | FLD1 | D9C8 | FXCH ST0 | ||||
D9C1 | FLD ST1 | D9F9 | FYL2XP | D9E1 | FABS | D9F1 | FYL2X | D9E9 | FLDL2T | D9C9 | FXCH ST1 | ||||
D9C2 | FLD ST2 | D9FA | FSQRT | D9F2 | FPTAN | D9EA | FLDL2E | D9CA | FXCH ST2 | ||||||
D9C3 | FLD ST3 | D9FB | FSINCO | D9F3 | FPATAN | D9EB | FLDPI | D9CB | FXCH ST3 | ||||||
D9C4 | FLD ST4 | D9FC | FRNDIN | D9E4 | FTST | D9F4 | FXTRAC | D9EC | FLDLG2 | D9CC | FXCH ST4 | ||||
D9C5 | FLD ST5 | D9FD | FSCALE | D9E5 | FXAM | D9F5 | FPREM1 | D9ED | FLDLN2 | D9CD | FXCH ST5 | ||||
D9C6 | FLD ST6 | D9FE | FSIN | D9F6 | FDECST | D9EE | FLDZ | D9CE | FXCH ST6 | ||||||
D9C7 | FLD ST7 | D9FF | FCOS | D9F7 | FINCST | D9CF | FXCH ST7 | ||||||||
DDC0 | FFREE ST0 | DDD0 | FST ST0 | DDD8 | FSTP ST0 | DDE0 | FCOM ST0 | DDE8 | FCOMP ST0 | ||||||
DDC1 | FFREE ST1 | DDD1 | FST ST1 | DDD9 | FSTP ST1 | DDE1 | FCOM ST1 | DDE9 | FCOMP ST1 | ||||||
DDC2 | FFREE ST2 | DDD2 | FST ST2 | DDDA | FSTP ST2 | DDE2 | FCOM ST2 | DDEA | FCOMP ST2 | ||||||
DDC3 | FFREE ST3 | DDD3 | FST ST3 | DDDB | FSTP ST3 | DDE3 | FCOM ST3 | DDEB | FCOMP ST3 | ||||||
DDC4 | FFREE ST4 | DDD4 | FST ST4 | DDDC | FSTP ST4 | DDE4 | FCOM ST4 | DDEC | FCOMP ST4 | ||||||
DDC5 | FFREE ST5 | DDD5 | FST ST5 | DDDD | FSTP ST5 | DDE5 | FCOM ST5 | DDED | FCOMP ST5 | ||||||
DDC6 | FFREE ST6 | DDD6 | FST ST6 | DDDE | FSTP ST6 | DDE6 | FCOM ST6 | DDEE | FCOMP ST6 | ||||||
DDC7 | FFREE ST7 | DDD7 | FST ST7 | DDDF | FSTP ST7 | DDE7 | FCOM ST7 | DDEF | FCOMP ST7 | ||||||
DFC0 | FFREEP ST0 | DFE0 | FSTSW AX | DFF0 | FCOMIP ST0 | ||||||||||
DFC1 | FFREEP ST1 | DFF1 | FCOMIP ST1 | ||||||||||||
DFC2 | FFREEP ST2 | DFF2 | FCOMIP ST2 | ||||||||||||
DFC3 | FFREEP ST3 | DFF3 | FCOMIP ST3 | ||||||||||||
DFC4 | FFREEP ST4 | DFF4 | FCOMIP ST4 | ||||||||||||
DFC5 | FFREEP ST5 | DFF5 | FCOMIP ST5 | ||||||||||||
DFC6 | FFREEP ST6 | DFF6 | FCOMIP ST6 | ||||||||||||
DFC7 | FFREEP ST7 | DFF7 | FCOMIP ST7 | ||||||||||||
DBC0 | FCMOVN ST0 | DBD0 | FCMOVN ST0 | DBD8 | FCMOVN ST0 | DBE0 | FENI | DBF0 | FCOMI ST0 | DBC8 | FCMOVN ST0 | ||||
DBC1 | FCMOVN ST1 | DBD1 | FCMOVN ST1 | DBD9 | FCMOVN ST1 | DBE1 | FDISI | DBF1 | FCOMI ST1 | DBC9 | FCMOVN ST1 | ||||
DBC2 | FCMOVN ST2 | DBD2 | FCMOVN ST2 | DBDA | FCMOVN ST2 | DBE2 | FCLEX | DBF2 | FCOMI ST2 | DBCA | FCMOVN ST2 | ||||
DBC3 | FCMOVN ST3 | DBD3 | FCMOVN ST3 | DBDB | FCMOVN ST3 | DBE3 | FINIT | DBF3 | FCOMI ST3 | DBCB | FCMOVN ST3 | ||||
DBC4 | FCMOVN ST4 | DBD4 | FCMOVN ST4 | DBDC | FCMOVN ST4 | DBE4 | FSETPM | DBF4 | FCOMI ST4 | DBCC | FCMOVN ST4 | ||||
DBC5 | FCMOVN ST5 | DBD5 | FCMOVN ST5 | DBDD | FCMOVN ST5 | DBF5 | FCOMI ST5 | DBCD | FCMOVN ST5 | ||||||
DBC6 | FCMOVN ST6 | DBD6 | FCMOVN ST6 | DBDE | FCMOVN ST6 | DBF6 | FCOMI ST6 | DBCE | FCMOVN ST6 | ||||||
DBC7 | FCMOVN ST7 | DBD7 | FCMOVN ST7 | DBDF | FCMOVN ST7 | DBF7 | FCOMI ST7 | DBCF | FCMOVN ST7 | ||||||
Opcode | Mnemo | Opcode | Mnemo | Opcode | Mnemo | Opcode | Mnemo | Opcode | Mnemo | Opcode | Mnemo | Opcode | Mnemo | Opcode | Mnemo |