
8087/80287 NDP Coprocessor Opcodes             PGS - Page  1
[Prefixed with 9B = WAIT for 8087]

| WT | OP AM xx xx | OP | Direct Memory References         |
+----+-------------+----+----------------------------------+
|    | D8 06 dl dh | 00 | FADD    real_dword               |
|    | D8 0E dl dh | 01 | FMUL    real_dword               |
|    | D8 16 dl dh | 02 | FCOM    real_dword               |
|    | D8 1E dl dh | 03 | FCOMP   real_dword               |
|    | D8 26 dl dh | 04 | FSUB    real_dword               |
|    | D8 2E dl dh | 05 | FSUBR   real_dword               |
|    | D8 36 dl dh | 06 | FDIV    real_dword               |
|    | D8 3E dl dh | 07 | FDIVR   real_dword               |
+----+-------------+----+----------------------------------+
|    | D9 06 dl dh | 08 | FLD     real_dword               |
|    | D9 0E dl dh | 09 | ???                              |
|    | D9 16 dl dh | 0A | FST     real_dword               |
|    | D9 1E dl dh | 0B | FSTP    real_dword               |
| 9B | D9 26 dl dh | 0C | FLDENV  env_14_byte              |
| 9B | D9 2E dl dh | 0D | FLDCW   ctl_word                 |
| 9B | D9 36 dl dh | 0E | FSTENV  env_14_byte              |
| 9B | D9 3E dl dh | 0F | FSTCW   ctl_word                 |
+----+-------------+----+----------------------------------+
|    | DA 06 dl dh | 10 | FIADD   int_dword                |
|    | DA 0E dl dh | 11 | FIMUL   int_dword                |
|    | DA 16 dl dh | 12 | FICOM   int_dword                |
|    | DA 1E dl dh | 13 | FICOMP  int_dword                |
|    | DA 26 dl dh | 14 | FISUB   int_dword                |
|    | DA 2E dl dh | 15 | FISUBR  int_dword                |
|    | DA 36 dl dh | 16 | FIDIV   int_dword                |
|    | DA 3E dl dh | 17 | FIDIVR  int_dword                |
+----+-------------+----+----------------------------------+
|    | DB 06 dl dh | 18 | FILD    int_dword                |
|    | DB 0E dl dh | 19 | ???                              |
|    | DB 16 dl dh | 1A | FIST    int_dword                |
|    | DB 1E dl dh | 1B | FISTP   int_dword                |
|    | DB 26 dl dh | 1C | ???                              |
|    | DB 2E dl dh | 1D | FLD     real_tbyte               |
|    | DB 36 dl dh | 1E | ???                              |
|    | DB 3E dl dh | 1F | FSTP    real_tbyte               |
+----+-------------+----+----------------------------------+
|    | DC 06 dl dh | 20 | FADD    real_qword               |
|    | DC 0E dl dh | 21 | FMUL    real_qword               |
|    | DC 16 dl dh | 22 | FCOM    real_qword               |
|    | DC 1E dl dh | 23 | FCOMP   real_qword               |
|    | DC 26 dl dh | 24 | FSUB    real_qword               |
|    | DC 2E dl dh | 25 | FSUBR   real_qword               |
|    | DC 36 dl dh | 26 | FDIV    real_qword               |
|    | DC 3E dl dh | 27 | FDIVR   real_qword               |
+----+-------------+----+----------------------------------+
|    | DD 06 dl dh | 28 | FLD     real_qword               |
|    | DD 0E dl dh | 29 | ???                              |
|    | DD 16 dl dh | 2A | FST     real_qword               |
|    | DD 1E dl dh | 2B | FSTP    real_qword               |
| 9B | DD 26 dl dh | 2C | FRSTOR  sav_94_byte              |
|    | DD 2E dl dh | 2D | ???                              |
| 9B | DD 36 dl dh | 2E | FSAVE   sav_94_byte              |
| 9B | DD 3E dl dh | 2F | FSTSW   sta_word                 |
+----+-------------+----+----------------------------------+

8087/80287 NDP Coprocessor Opcodes             PGS - Page  2
[Prefixed with 9B = WAIT for 8087]

| WT | OP AM xx xx | NDP| Direct Memory References         |
+----+-------------+----+----------------------------------+
|    | DE 06 dl dh | 30 | FIADD   int_word                 |
|    | DE 0E dl dh | 31 | FIMUL   int_word                 |
|    | DE 16 dl dh | 32 | FICOM   int_word                 |
|    | DE 1E dl dh | 33 | FICOMP  int_word                 |
|    | DE 26 dl dh | 34 | FISUB   int_word                 |
|    | DE 2E dl dh | 35 | FISUBR  int_word                 |
|    | DE 36 dl dh | 36 | FIDIV   int_word                 |
|    | DE 3E dl dh | 37 | FIDIVR  int_word                 |
+----+-------------+----+----------------------------------+
|    | DF 06 dl dh | 38 | FILD    int_word                 |
|    | DF 0E dl dh | 39 | ???                              |
|    | DF 16 dl dh | 3A | FIST    int_word                 |
|    | DF 1E dl dh | 3B | FISTP   int_word                 |
|    | DF 26 dl dh | 3C | FBLD    bcd_tbyte                |
|    | DF 2E dl dh | 3D | FILD    int_qword                |
|    | DF 36 dl dh | 3E | FBSTP   bcd_tbyte                |
|    | DF 3E dl dh | 3F | FISTP   int_qword                |
+----+-------------+----+----------------------------------+


|    |          |          | Indirect Memory References -  |
| WT | OP AM dl | MMxxxR/M | Example Explicit Attributes   |
+----+----------+----------+-------------------------------+
|    | DF 68    | 01xxx000 | FILD    QWORD PTR [BX][SI]    |
|    | DF 68 02 | 01xxx000 | FILD    QWORD PTR [BX][SI]+2  |
|    | D9 19    | 00xxx001 | FSTP    DWORD PTR [BX][DI]    |
|    | DD 19    | 00xxx001 | FSTP    QWORD PTR [BX+DI]     |
|    | DB 7A    | 01xxx010 | FSTP    TBYTE PTR [BP][SI]    |
|    | D9 5A 02 | 01xxx010 | FSTP    DWORD PTR [BP+SI+2]   |
|    | DD 5A 02 | 01xxx010 | FSTP    QWORD PTR [BP+SI]+2   |
|    | DF 22    | 00xxx010 | FBLD    TBYTE PTR [SI+BP]     |
|    | DB 7B    | 01xxx011 | FSTP    TBYTE PTR [BP][DI]    |
|    | DD 1C    | 00xxx100 | FSTP    QWORD PTR [SI]        |
|    | DB 3D    | 00xxx101 | FSTP    TBYTE PTR [DI]        |
|    | D9 5E 00 | 01xxx110 | FSTP    DWORD PTR [BP+0]      |
|    | D9 1F    | 00xxx111 | FSTP    DWORD PTR [BX]        |
|    | DD 1F    | 00xxx111 | FSTP    QWORD PTR [BX]        |
|    | DB 3F    | 00xxx111 | FSTP    TBYTE PTR [BX]        |
|    | DB 07    | 00xxx111 | FILD    DWORD PTR [BX]        |
|    | DF 47 02 | 01xxx111 | FILD    WORD PTR [BX+2]       |
+----+----------+----------+-------------------------------+

| MM | Meaning                        |    EA   |
|----+--------------------------------+---------+
| 00 | Direct memory disp.(R/M = 110) | 0x - 3x |
|    | Indirect, disp = 0 (R/M ! 110) |         |
| 01 | Indirect, 8-bit disp.          | 4x - 7x |
| 10 | Indirect, 16-bit disp.         | 8x - Bx |
| 11 | Stack reference                | Cx - Fx |
+----+--------------------------------+---------+

8087/80287 NDP Coprocessor Opcodes             PGS - Page  3
[Prefixed with 9B = WAIT for 8087]

| R/M | Indirect Memory References         |
+-----+------------------------------------+
| 000 | DS:[BX+SI+disp]                    |
| 001 | DS:[BX+DI+disp]                    |
| 010 | SS:[BP+SI+disp]                    |
| 011 | SS:[BP+DI+disp]                    |
| 100 | DS:[SI+disp]                       |
| 101 | DS:[DI+disp]                       |
| 110 | DS:[BP+disp] (MM = 00, DS:[BP+0])  |
| 111 | DS:[BX+disp]                       |
+-----+------------------------------------+

| WT | OP AM XX XX | OP | Simple Stack References          |
+----+-------------+----+----------------------------------+
|    | DE C1       | 30 | FADD          [FADDP   ST(1),ST] |
|    | DE C9       | 31 | FMUL          [FMULP   ST(1),ST] |
|    | D8 D1       | 02 | FCOM          [FCOM    ST(1)]    |
|    | D8 D9       | 03 | FCOMP         [FCOMP   ST(1)]    |
|    | DE E1       | 34 | FSUBR         [FSUBRP  ST(1),ST] |
|    | DE E9       | 35 | FSUB          [FSUBP   ST(1),ST] |
|    | DE F1       | 36 | FDIVR         [FDIVRP  ST(1),ST] |
|    | DE F9       | 37 | FDIV          [FDIVP   ST(1),ST] |
|    | D9 C8       | 09 | FXCH          [FXCH    ST(0)]    |
+----+-------------+----+----------------------------------+

8087/80287 NDP Coprocessor Opcodes             PGS - Page  4
[Prefixed with 9B = WAIT for 8087]

| WT | OP AM XX XX | OP | Stack References / NDP Control   |
+----+-------------+----+----------------------------------+
|    | D8 CO+i     | 00 | FADD    ST,ST(i)                 |
|    | D8 C8+i     | 01 | FMUL    ST,ST(i)                 |
|    | D8 D0+i     | 02 | FCOM    ST(i)                    |
|    | D8 D8+i     | 03 | FCOMP   ST(i)                    |
|    | D8 E0+i     | 04 | FSUB    ST,ST(i)                 |
|    | D8 E8+i     | 05 | FSUBR   ST(i)                    |
|    | D8 F0+i     | 06 | FDIV    ST,ST(i)                 |
|    | D8 F8+i     | 07 | FDIVR   ST(i)                    |
+----+-------------+----+----------------------------------+
|    | D9 C0+i     | 08 | FLD     ST(i)                    |
|    | D9 C8+i     | 09 | FXCH    ST(i)                    |
|    | D9 D0       | 0A | FNOP                             |
|    | D9 D8+i     | 0B | ???                              |
|    | D9 E0       | 0C | FCHS                             |
|    | D9 E1       | 0C | FABS                             |
|    | D9 E4       | 0C | FTST                             |
|    | D9 E5       | 0C | FXAM                             |
+----+-------------+----+----------------------------------+
|    | D9 E8       | 0D | FLD1                             |
|    | D9 E9       | 0D | FLDL2T                           |
|    | D9 EA       | 0D | FLDL2E                           |
|    | D9 EB       | 0D | FLDPI                            |
|    | D9 EC       | 0D | FLDLG2                           |
|    | D9 ED       | 0D | FLDLN2                           |
|    | D9 EE       | 0D | FLDZ                             |
+----+-------------+----+----------------------------------+
|    | D9 F0       | 0E | F2XM1                            |
|    | D9 F1       | 0E | FYL2X                            |
|    | D9 F2       | 0E | FPTAN                            |
|    | D9 F3       | 0E | FPATAN                           |
|    | D9 F4       | 0E | FXTRACT                          |
|    | D9 F6       | 0E | FDECSTP                          |
|    | D9 F7       | 0E | FINCSTP                          |
+----+-------------+----+----------------------------------+
|    | D9 F8       | 0F | FPREM                            |
|    | D9 F9       | 0F | FYL2XP1                          |
|    | D9 FA       | 0F | FSQRT                            |
|    | D9 FC       | 0F | FRNDINT                          |
|    | D9 FD       | 0F | FSCALE                           |
+----+-------------+----+----------------------------------+
|    | DA C0+i     | 10 | ???                              |
|    | DA C8+i     | 11 | ???                              |
|    | DA D0+i     | 12 | ???                              |
|    | DA D8+i     | 13 | ???                              |
|    | DA E0+i     | 14 | ???                              |
|    | DA E8+i     | 15 | ???                              |
|    | DA F0+i     | 16 | ???                              |
|    | DA F8+i     | 17 | ???                              |
+----+-------------+----+----------------------------------+

8087/80287 NDP Coprocessor Opcodes             PGS - Page  5
[Prefixed with 9B = WAIT for 8087]

| WT | OP AM XX XX | OP | Stack References / NDP Control   |
+----+-------------+----+----------------------------------+
|    | DA C0+i     | 10 | ???                              |
|    | DA C8+i     | 11 | ???                              |
|    | DA D0+i     | 12 | ???                              |
|    | DA D8+i     | 13 | ???                              |
|    | DA E0+i     | 14 | ???                              |
|    | DA E8+i     | 15 | ???                              |
|    | DA F0+i     | 16 | ???                              |
|    | DA F8+i     | 17 | ???                              |
+----+-------------+----+----------------------------------+
|    | DB C0+i     | 18 | ???                              |
|    | DB C8+i     | 19 | ???                              |
|    | DB D0+i     | 1A | ???                              |
|    | DB D8+i     | 1B | ???                              |
| 9B | DB E0       | 1C | FENI/FNENI           [8087 Only] |
| 9B | DB E1       | 1C | FDISI/FNDISI         [8087 Only] |
| 9B | DB E2       | 1C | FCLEX/FNCLEX                     |
| 9B | DB E3       | 1C | FINIT/FNINIT                     |
|    | DB E8+i     | 1D | ???                              |
|    | DB F0+i     | 1E | ???                              |
|    | DB F8+i     | 1F | ???                              |
+----+-------------+----+----------------------------------+
|    | DC C0+i     | 20 | FADD    ST(i),ST                 |
|    | DC C8+i     | 21 | FMUL    ST(i),ST                 |
|    | DC D0+i     | 22 | FCOM    ST(i),ST                 |
|    | DC D8+i     | 23 | FCOMP   ST(i),ST                 |
|    | DC E0+i     | 24 | FSUBR   ST(i),ST                 |
|    | DC E8+i     | 25 | FSUB    ST(i),ST                 |
|    | DC F0+i     | 26 | FDIV    ST(i),ST                 |
|    | DC F8+i     | 27 | FDIVR   ST(i),ST                 |
+----+-------------+----+----------------------------------+
|    | DD C0+i     | 28 | FFREE   ST(i)                    |
|    | DD C8+i     | 29 | ???                              |
|    | DD D0+i     | 2A | FST     ST(i)                    |
|    | DD D8+i     | 2B | FSTP    ST(i)                    |
|    | DD E0+i     | 2C | ???                              |
|    | DD E8+i     | 2D | ???                              |
|    | DD F0+i     | 2E | ???                              |
|    | DD F8+i     | 2F | ???                              |
+----+-------------+----+----------------------------------+
|    | DE C0+i     | 30 | FADDP   ST(i),ST                 |
|    | DE C8+i     | 31 | FMULP   ST(i),ST                 |
|    | DE D0+i     | 32 | ???                              |
|    | DE D9       | 33 | FCOMPP                           |
|    | DE E0+i     | 34 | FSUBRP  ST(i),ST                 |
|    | DE E8+i     | 35 | FSUBP   ST(i),ST                 |
|    | DE F0+i     | 36 | FDIVRP  ST(i),ST                 |
|    | DE F8+i     | 37 | FDIVP   ST(i),ST                 |
+----+-------------+----+----------------------------------+
|    | DF C0+i     | 38 | ???                              |
|    | DF C8+i     | 39 | ???                              |
|    | DF D0+i     | 3A | ???                              |
|    | DF D8+i     | 3B | ???                              |
|    | DF E0+i     | 3C | ???                              |
|    | DF E8+i     | 3D | ???                              |
|    | DF F0+i     | 3E | ???                              |
|    | DF F8+i     | 3F | ???                              |
+----+-------------+----+----------------------------------+

