FCOM/FCOMP/FCOMPP - ࠢ ⢨⥫ ᥫ

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
|D8 /2   FCOM m32real  4       ࠢ ST  m32real           |
|DC /2   FCOM m64real  4       ࠢ ST  m64real           |
|D8 D0+i FCOM ST(i)    4       ࠢ ST  ST(i)             |
|D8 D1   FCOM          4       ࠢ ST  ST(1)             |
|D8 /3   FCOMP m32real 4       ࠢ ST  m32real           |
|                               祭  ⥪ ST         |
|DC /3   FCOMP m64real 4       ࠢ ST  m64real           |
|                               祭  ⥪ ST         |
|D8 D8+i FCOMP ST(i)   4       ࠢ ST  ST(i)             |
|                               祭  ⥪ ST         |
|D8 D9   FCOMP         4       ࠢ ST  ST(1)             |
|                               祭  ⥪ ST         |
|DE D9   FCOMPP        5       ࠢ ST  ST(1)             |
|                               祭  ⥪ ST   |
-----------------------------------------------------------------

 

CASE (⭮襭 ࠭) OF
    ࠢ:   C3, C2, C0 <- 111;
   ST > SRC:      C3, C2, C0 <- 000;
   ST < SRC:      C3, C2, C0 <- 001;
   ST = SRC:      C3, C2, C0 <- 100;
IF  = FCOMP THEN 祭  ⥪ ST; FI;
IF  = FCOMPP THEN 祭    ⥪  ST;祭  
                                                   ⥪ ST; FI;

-----------------------------------------------------------------
            FPU          |            EFlags
-----------------------------------------------------------------
             C0                              CF
             C1                              
             C2                              PF
             C3                              ZF
-----------------------------------------------------------------

ᠭ
 ࠢ ⢨⥫ ᥫ ࠢ 設 ⥪  筨,    ॣ஬  ࠭ , 騬 ⢨⥫ ᫮ ୮   筮. ᫨ ࠭  ,  ST ࠢ  ST(1). ᫥ 믮  ᫮  ࠦ ⭮襭  ST  室 ࠭.
塞 䫠  権  饩 窮
C1,  ᠭ  ⠡ 15-1; C0, C2, C3  ।.
᪫祭 ᫮ 権
D, I, IS
᪫祭 饭 ०
#GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #NM  ⠭ EM  TS  CR0; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH; 뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
ਬ砭
᫨   ࠭  祭 NaN,   । ଠ,   ᡮ  ⥪,   ᪫祭 ୮ 樨,   ᫮ ⠭  祭 "㯮冷祭".
 㫥 祭 , ⠪ ࠧ  -0.0 = - +0.0.

FCOS - ᨭ

-----------------------------------------------------------------
|        ᫮       ࠫ-  ᠭ                 |
|樨          ⠪⮢    쭮                          |
|                  横      믮-                           |
|                                                          |
|D8 FF    FCOS    241(193-279)   2      ST  ᨭᮬ  |
-----------------------------------------------------------------


 

IF ࠭  ⨬ 
THEN
   C2 <- 0;
   ST <- cos(ST);
ELSE
   C2 <- 1;
FI;

 ᠭ
 FCOS  ᮤন ST  cos(ST). 祭 ST, ࠦ  ࠤ,     | O | < 2**63.
塞 䫠  権  饩 窮
C1,C2  ᠭ   15-1; C0, C3  ।.
᪫祭 ᫮ 権
P, U, D, I, IS
᪫祭 饭 ०
#NM  ⠭ EM  TS  CR0.
᪫祭 ० ॠ ᮢ
뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
#NM  ⠭ EM  TS  CR0.
ਬ砭
᫨ ࠭ 室  ⨬ ,  䫠 C2 ⠭,  ST ⠥ . ணࠬ ᠬ ⢥⢥  , ⮡ 㬥 ࠭  ᮫⭮ 祭, 襣 祬 2**63,  ᮮ⢥饥 ᫮, ⭮ 2 . . ࠧ 17.5,  ᠭ,  ࠢ쭮  祭 ᫠   믮 ⠪ த ⠭.
 믮    i486 ஢ 稥 뢠.  㦨 뢠 믮  ⬥ (abort).

FDECSTP - ६ 㪠⥫ 設 ⥪

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
|D9 F6     FDECSTP     3       ६ 㪠⥫ 設 ⥪|
|                               ॣ஢ ⥪ FPU       |
-----------------------------------------------------------------

 

IF TOP = 0
THEN TOP <- 7;
ELSE TOP <- TOP -1;
FI;

ᠭ
FDECSTP ⠥  ( ७)  -⮢  TOP ᫮ ﭨ  権  饩 窮 (FPU).
塞 䫠  権  饩 窮
C1,  ᠭ   15-1; C0, C2, C3  ।.
᪫祭 ᫮ 権

᪫祭 饭 ०
#NM  ⠭ EM  TS  CR0.
᪫祭 ० ॠ ᮢ
뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
#NM  ⠭ EM  TS  CR0.
ਬ砭
⢨  RDECSTP ⮨  横᪮ ᤢ ⥪.    ⥣ ॣ஢   ᮤন   믮 뫪 .

FDIV/FDIVP/FIDIV  - 

-----------------------------------------------------------------
|        ᫮       ࠫ-  ᠭ                 |
|樨          ⠪⮢    쭮                          |
|                  横      믮-                           |
|                                                          |
|D8 /6   FDIV m32real   73      70      ST  m32real    |
|DC /6   FDIV m64real   73      70      ST  m64real    |
|D8 F0+i FDIV ST,ST(i)  73      70      ST  ST(i)      |
|DC F8+i FDIV ST(i),ST  73      70      ST(i)  ST/ST(i) |
|DE F8+i FDIVP ST(i),ST 73      70      ST(i)  ST/ST(i);|
|                                      祭  ⥪ ST   |
|DE F9   FDIV           73      70      ST(1)  ST/ST(1);|
|                                      祭  ⥪ ST   |
|DA /6   FIDIV m32int   73      70      ST  m32int     |
|DE /6   FIDIV m64int   73      70      ST  m64int     |
-----------------------------------------------------------------

 

DEST <- ST / 㣮 ࠭;
IF  = FDIVP THEN 祭  ⥪ ST  FI;

ᠭ
   設 ⥪  稥 ࠭   ⭮  ࠭ 祭.
塞 䫠  権  饩 窮
C1,  ᠭ   15-1; C0, C2, C3  ।.
᪫祭 ᫮ 権
P,U,O,Z,D,I,IS
᪫祭 饭 ०
#GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #NM  ⠭ EM  TS  CR0; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH; 뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
ਬ砭
᫨ 室 ࠭ 室  ,   ⮬᪨ ८ࠧ  ७ ⢨⥫쭮 ଠ.
த⢨     PC (ࠢ 筮 - Precision Control) ᫮ ࠢ FPU. ᫨ PC  筮 53 ,    믮  62 ⠪⮢ 横. ᫨  PC  筮 24 ,    믮 ᥣ  35 ⠪⮢ 横.

FDIVR/FDIVPR/FIDIVR  -   ⭮ 浪

-----------------------------------------------------------------
|        ᫮       ࠫ-  ᠭ                 |
|樨          ⠪⮢    쭮                          |
|                  横      믮-                           |
|                                                          |
|D8 /7   FDIVR m32real   73     70      ST  m32real/ST  |
|DC /7   FDIVR m64real   73     70      ST  m64real/ST  |
|D8 F8+i FDIVR ST,ST(i)  73     70      ST  ST(i)/ST    |
|DC F0+i FDIVR ST(i),ST  73     70      ST(i)  ST      |
|DE F0+i FDIVRP ST(i),ST 73     70      ST(i)  ST     |
|                                      祭  ⥪ ST   |
|DE F1   FDIVR           73     70      ST(1)  ST     |
|                                      祭  ⥪ ST   |
|DA /7   FIDIVR m32int   73     70      ST  m32int/ST   |
|DE /7   FIDIVR m16int   73     70      ST  m16int/ST   |
-----------------------------------------------------------------

 

DEST <- 㣮 ࠭ / ST;
IF  = FDIVRP THEN 祭  ⥪ ST  FI;

ᠭ
   㣮 ࠭  設 ⥪   ⭮  ࠭ 祭.
塞 䫠  権  饩 窮
C1,  ᠭ   15-1; C0, C2, C3  ।.
᪫祭 ᫮ 権
P,U,O,Z,D,I,IS
᪫祭 饭 ०
#GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #NM  ⠭ EM  TS  CR0; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH; 뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
ਬ砭
᫨ 室 ࠭ 室  ,   ⮬᪨ ८ࠧ  ७ ⢨⥫쭮 ଠ.
த⢨     PC (ࠢ 筮 - Precision Control) ᫮ ࠢ FPU. ᫨ PC  筮 53 ,    믮  62 ⠪⮢ 横. ᫨  PC  筮 24 ,    믮 ᥣ  35 ⠪⮢ 横.

FFREE   - ᢮ ॣ 権  饩 窮

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
|DD C0+i   FFREE ST(i) 3        ⥣ (ਧ) ST(i)  |
|                              ⮩                           |
-----------------------------------------------------------------

 

TAG(i) <- 11B;

ᠭ
FDECSTP 砥 ॣ 祭  ⮩.
塞 䫠  権  饩 窮
C0, C0, C2, C3  ।.
᪫祭 ᫮ 権

᪫祭 饭 ०
#NM  ⠭ EM  TS  CR0.
᪫祭 ० ॠ ᮢ
뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
#NM  ⠭ EM  TS  CR0.
ਬ砭
FFREE    ᮤন ॣ 祭.  ⠪    ᮤন 㪠⥫ 設 ⥪  饩 窮 (TOP).

FICOM/FICOMP - ࠢ 楫᫥ 祭

-----------------------------------------------------------------
|        ᫮       ࠫ-  ᠭ                 |
|樨          ⠪⮢    쭮                          |
|                  横      믮-                           |
|                                                          |
|DE /2   FICOM m16real 18(16-20)   1   ࠢ ST  m16int    |
|DA /2   FICOM m32real 16.5(15-17) 1   ࠢ ST  m32int    |
|DE /3  FICOMP m16int  18(16-20)   1   ࠢ ST  m16int   |
|                                      祭  ⥪ ST   |
|DA /3  FICOMP m32int  16.5(15-17) 1   ࠢ ST  m32int   |
|                                      祭  ⥪ ST   |
-----------------------------------------------------------------

 

CASE (⭮襭 ࠭) OF
    ࠢ:   C3, C2, C0 <- 111;
   ST > SRC:      C3, C2, C0 <- 000;
   ST < SRC:      C3, C2, C0 <- 001;
   ST = SRC:      C3, C2, C0 <- 100;
IF  = FICOMP THEN 祭  ⥪ ST; FI;

-----------------------------------------------------------------
            FPU          |            EFlags
-----------------------------------------------------------------
             C0                              CF
             C1                              
             C2                              PF
             C3                              ZF
-----------------------------------------------------------------

ᠭ
 楫᫥ ࠢ ࠢ 設 ⥪  室 ࠭. ᫥ 믮  ᫮  ࠦ ᮮ⭮襭  ST  室 ࠭.
塞 䫠  権  饩 窮
C1,  ᠭ  ⠡ 15-1; C0, C2, C3  ।.
᪫祭 ᫮ 権
D,I,IS
᪫祭 饭 ०
#GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #NM  ⠭ EM  TS  CR0; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH; 뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
ਬ砭
᫨ 室 ࠭ 室  ,   ⮬᪨ ८ࠧ  ७ ⢨⥫쭮 ଠ.
᫨   ࠭  祭 NaN,   । ଠ,   ᡮ  ⥪,   ᪫祭 ୮ 樨,   ᫮ ⠭  祭 "㯮冷祭".

FILD - 㧪 楫᫥ ࠭

-----------------------------------------------------------------
|        ᫮       ࠫ-  ᠭ                 |
|樨          ⠪⮢    쭮                          |
|                  横      믮-                           |
|                                                          |
|DF /0   FILD m16int 14.5(13-16)  4     m16int  ⥪  |
|                                      FPU                      |
|DB /0   FILD m32int 11.5(9-12) 4(2-4)  m32int  ⥪  |
|                                      FPU                      |
|DF /5   FILD m64int 16.8(10-18) 7.8    m64int  ⥪  |
|                               (2-8)  FPU                      |
-----------------------------------------------------------------

 

६ 㪠⥫ 設 ⥪ FPU;
ST(0) <- SRC;

ᠭ
FILD ८ࠧ 室 騩  楫᫥ ࠭  ଠ ७ ⢨⥫쭮  頥   ⥪ FPU.
塞 䫠  権  饩 窮
C1,  ᠭ   15-1; C0, C2, C3  ।.
᪫祭 ᫮ 権
IS
᪫祭 饭 ०
#GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #NM  ⠭ EM  TS  CR0; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH; 뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
ਬ砭
室 ࠭ 㦠 譮 㣫.
ST(0)   , ⮡  ᪫祭 ୮ 樨.

FINCSTP - ६ 㪠⥫ 設 ⥪

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
|D9 F7     FINCSTP     3       ६ 㪠⥫ 設 ⥪|
|                               ॣ஢ ⥪ FPU       |
-----------------------------------------------------------------

 

IF TOP = 7
THEN TOP <- 0;
ELSE TOP <- TOP +1;
FI;

ᠭ
FINCSTP ਡ  ( ७)  -⮢  TOP ᫮ ﭨ  権  饩 窮 (FPU).
塞 䫠  権  饩 窮
C1,  ᠭ   15-1; C0, C2, C3  ।.
᪫祭 ᫮ 権

᪫祭 饭 ०
#NM  ⠭ EM  TS  CR0.
᪫祭 ० ॠ ᮢ
뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
#NM  ⠭ EM  TS  CR0.
ਬ砭
⢨  RDECSTP ⮨  横᪮ ᤢ ⥪.    ⥣ ॣ஢   ᮤন   믮 뫪 .   ⭠ 祭  ⥪, ᪮  ⠭ ⥣ ன 設 ⥪  "⮩".

FINIT/FNINIT - 樠  権  饩 窮
               (FPU)

-----------------------------------------------------------------
|         ᫮        ᠭ                       |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
|DB E3     FINIT    17+  樠 FPU ᫥ ஢ન|
|                   3  FWAIT ᫮ ᪨㥬 訡    |
|                               樨  饩 窮     |
|DB /E3    FNINIT   17          樠 FPU    ஢ન|
|                               ᫮ ᪨㥬 訡    |
|                               樨  饩 窮     |
-----------------------------------------------------------------

 

CW <- 037FH;                   (* ࠢ饥 ᫮ *)
SW <- 0;                       (*  ﭨ   *)
TW <- FFFFH;                   (*  ⥣        *)
FEA <- 0; FDS <- 0;            (* ⥫   *)
FIP <- 0; FOP <- 0; FCS <- 0;  (* ⥫   *)

ᠭ
 樠樨 ⠭ FPU  ⭮ ﭨ, ᨬ  ⢨, 믮  ࠭.
ࠢ饥 ᫮ FPU ⠭  祭 037FY (㣫  襣,  ᪫祭 ᪨, 64-⮢ 筮 ।⠢).  ﭨ 頥 (䫠 ᪫祭  ⠭, ॣ ⥪ R0 = 設 ⥪). ⥪ ॣ  ⥣ "". ⥫ 訡 ( , ⠪  ) 饭.
塞 䫠  権  饩 窮
C0, C1, C2, C3 饭.
᪫祭 ᫮ 権

᪫祭 饭 ०
#NM  ⠭ EM  TS  CR0.
᪫祭 ० ॠ ᮢ
뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
#NM  ⠭ EM  TS  CR0.
ਬ砭
FINIT ஢ 稥 ᪨㥬 ᫮ 訡  権  饩 窮, ० 祬 믮 樠; FNINIT  ⮣  .
FINIT  FNINIT ⠢ FPU  ⮬  ﭨ, ஥ 뢠  砥 ⭮ ᨣ  RESET  ஥ ஢.
 ⫨稥  ⥬᪮ ᮯ 387,  砥  i486  FINIT  FNINIT  㪠⥫ 訡.

IST/FISTP - ࠭ 楫᫥ ࠭

-----------------------------------------------------------------
|           ᫮         ᠭ                    |
|樨             ⠪⮢                                  |
|                     横                                    |
|                                                               |
|DF /2   FIST  m16int  33.4(29-34)  ࠭ ST  m16int      |
|DB /2   FIST  m32int  33.4(29-34)  ࠭ ST  m32int      |
|DF /3   FISTP m16int  33.4(29-34)  ࠭ ST  m16int     |
|                                   祭  ⥪ ST      |
|DB /3   FISTP m32int  33.4(29-34)  ࠭ ST  m32int     |
|                                   祭  ⥪ ST      |
|DF /7   FISTP m64int  33.4(29-34)  ࠭ ST  m64int     |
|                                   祭  ⥪ ST      |
-----------------------------------------------------------------

 

DEST <- ST(0);
IF  = FISTP THEN 祭  ⥪ ST  FI;

ᠭ
FISP ८ࠧ 祭  ST  饥  楫  ᮮ⢥⢨   RC ࠢ饣 ᫮  뫠 १  ࠭ 祭. ST ⠥  . FIST ᪠  ⢥ 祭 ᫮  short integer; FISTP,  ⮣, ᪠  ⮬ ⢥ ⨯ long integer.
塞 䫠  権  饩 窮
C1,  ᠭ   15-1; C0, C2, C3  ।.
᪫祭 ᫮ 権
P, I, IS
᪫祭 饭 ०
#GP(0), ᫨ १    ᥣ,  ண 饭 ; #GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH; 뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
ਬ砭
⥫  뢠  ⮩  ஢ (00..00),   ⥫.
᫨ 祭 ᫨誮      ।⠢  楫᫥ 祭,  ᪫祭 I. ᪨㥬 ॠ   ⮨     ᠬ 讣  ᮫⭮ 祭 ⥫쭮 ᫠.

FLD - 㧪 ⢨⥫쭮 祭

-----------------------------------------------------------------
|           ᫮         ᠭ                    |
|樨             ⠪⮢                                  |
|                     横                                    |
|                                                               |
|D9 /0    FLD m32real    3          ⥪ FPU m32real  |
|DD /0    FLD m64real    3          ⥪ FPU m64real  |
|DB /5    FLD m80real    6          ⥪ FPU m80real  |
|D9 /C0+i FLD ST(i)      4          ⥪ FPU ST(i)    |
-----------------------------------------------------------------

 

६ 㪠⥫ 設 ⥪ FPU;
ST(0) <- SRC;

ᠭ
FLD 頥  ⥪ FPU 室 ࠭. ᫨   ॣ,  ᯮ  ॣ,    ६ 㪠⥫ 設 ⥪.  ⭮,
FLD ST(0)
㡫 設 ⥪.
塞 䫠  権  饩 窮
C1,  ᠭ   15-1; C0, C2, C3  ।.
᪫祭 ᫮ 権
D, I, IS
᪫祭 饭 ०
#GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH; 뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
ਬ砭
᫨ 室 ࠭  ଠ ⢨⥫쭮 祭 ୮   筮,   ⮬᪨ ८ࠧ  ७ ⢨⥫ ଠ. 㧪 ७ ⢨⥫쭮 ७ ࠭  ॡ ८ࠧ, ⮬   砥 ᪫祭 I  D  ந室.
ST(7)   , ⮡  ᪫祭 ୮ 樨.

FLD1/FLDL2T/FLDL2E/
FLDPI/FLDLG2/FLDLN2/FLDZ - 㧪 ⠭

-----------------------------------------------------------------
|        ᫮       ࠫ-  ᠭ                 |
|樨          ⠪⮢    쭮                          |
|                  横      믮-                           |
|                                                          |
|D9 E8    FLD1        4          -       +1.0   ⥪  |
|                                      FPU                      |
|D9 E9    FLDL2T      8          2      log 10  ⥪  |
|                                      FPU          2           |
|D9 EA    FLDL2E      8          2      log e   ⥪  |
|                                      FPU          2           |
|D9 EB    FLDPI       8          2      ᫮   ⥪|
|                                      FPU                      |
|D9 EC    FLDLG2      8          2      log 2   ⥪  |
|                                      FPU          10          |
|D9 ED    FLDLN2      8          2      log 2   ⥪  |
|                                      FPU          e           |
|D9 EE    FLDZ        4          -       +0.0   ⥪  |
|                                      FPU                      |
-----------------------------------------------------------------

 

६ 㪠⥫ 設 ⥪ FPU;
ST(0) <- CONSTANT;

ᠭ
  㧪 ⠭ 頥  ⥪ FPU   㪠  饯ਭ ⠭ ( ७ ⢨⥫쭮 ଠ).
塞 䫠  権  饩 窮
C1,  ᠭ   15-1; C0, C2, C3  ।.
᪫祭 ᫮ 権
IS
᪫祭 饭 ०
#NM  ⠭ EM  TS  CR0.
᪫祭 ० ॠ ᮢ
뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
#NM  ⠭ EM  TS  CR0.
ਬ砭
ST(7)   , ⮡  ᪫祭 ୮ 樨.
ᯮ ७ 66-⮢ ⠭, 㣫塞  ७ ⢨⥫쭮 ଠ (   RC ࠢ ᫮). ᪫祭, 易  筮 ।⠢,  .

FLDCW - 㧪 ࠢ饣 ᫮

-----------------------------------------------------------------
|           ᫮         ᠭ                    |
|樨             ⠪⮢                                  |
|                     横                                    |
|                                                               |
|D9 /5    FNLDCW m2byte  4        㧨 ࠢ饥 ᫮   |
|                                 FPU  m2byte                 |
-----------------------------------------------------------------

 

CW <- SRC;

ᠭ
FLDCW  ⥪饥 祭 ࠢ饣 ᫮ FPU 祭, 室騬   ᫮ .
塞 䫠  権  饩 窮
C0, C1, C2, C3  ।.
᪫祭 ᫮ 権
,  ᪫祭 ᪨஢ 饣 ᪫祭.
᪫祭 饭 ०
#GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH; 뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
ਬ砭
FLDCW 筮 ᯮ  ⠭   ० ࠡ FPU.
 ⠭  ᪫祭  ᫮ ﭨ 㧪  ࠢ饣 ᫮, ᪨饣  ᪫祭, ਢ  ᫮ 訡 樨  饩 窮.   ४㥬 楤 砥  ⮬, ⮡ । 㧪  ࠢ饣 ᫮   襭 ᪫祭.

FLDENV - 㧪 ⥪ FPU

-----------------------------------------------------------------
|           ᫮         ᠭ                    |
|樨             ⠪⮢                                  |
|                     横                                    |
|                                                               |
|D9 /4    FLDENV m14/ 44 .  㧨 ࠢ饥 ᫮   |
|         28byte       /   FPU  m2byte                 |
|                     34 .                                 |
-----------------------------------------------------------------

 

। FPU <- SRC;

ᠭ
FLDENV १㦠 ⥪ FPU   , ।塞 室 ࠭.     ᠭ ।饩  FSTENV  FNSTENV.
⥪ FPU ⮨  ࠢ饣 ᫮ FPU, ᫮ ﭨ, ᫮ ⥣  㪠⥫ 訡 (  ).  ⥪    ६  ࠧ ࠭  ⥪饣 ० ࠡ . ਡ USE ⥪饣  ᥣ । ࠧ ࠭: 14-⮢ ࠭ ⭮  ᥣ USE16,  28-⮢ ࠭ ⭮  ᥣ USE32.  㭪 15-5 - 15-8   ⥪   ࠧ஢ ࠭  ० ॠ ᮢ  饭. ( 㠫쭮 ० 8086 ᯮ  ⥪ ॠ쭮 ०). FLDENV  믮  ⮬  ࠡ祬 ०,   ᮮ⢥騥  FSTENV  FNSTENV.
塞 䫠  権  饩 窮
C0, C1, C2, C3  ᮮ⢥⢨  㧪.
᪫祭 ᫮ 権
,  ᪫祭 㧪 ᪨㥬 ᪫祭
᪫祭 饭 ०
#GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH; 뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
ਬ砭
᫨ ࠧ ⥪ ᮤন ᪨㥬 ᪫祭, 㧪  ਢ  ᫮ 訡 樨  饩 窮.

FMUL/FMULP/FIMUL - 

-----------------------------------------------------------------
|         ᫮       ࠫ-    ᠭ              |
|樨           ⠪⮢    쭮                         |
|                   横      믮-                          |
|                                                          |
|D8 /1    FMUL m32real   11         8   ST  m32real  |
|DC /1    FMUL m64real   14        11   ST  m64real  |
|D8 C8+i  FMUL ST,ST(i)  16        13   ST  ST(i)    |
|DC C8+i  FMUL ST(i),ST  16        13   ST(i)  ST    |
|DE C8+i  FMULP ST(i),ST 16        13   ST(i)  ST    |
|                                       祭  ⥪ ST |
|DE C9    FIMUL          16        13   ST(1)  ST    |
|                                       祭  ⥪ ST |
|DA /1    FIMUL m32int 23.5(22-24) 8    ST  m32int   |
|DE /1    FIMUL m16int  25(23-27)  8    ST  m16int   |
-----------------------------------------------------------------

 

DEST <- DEST x SCR;
IF  = FMULP THEN 祭  ⥪ ST  FI;

ᠭ
 㬭 㬭 ࠭ 祭  室 ࠭ (筨)   ந  ࠭ 祭.
塞 䫠  権  饩 窮
C1,  ᠭ   15-1; C0, C2, C3  ।.
᪫祭 ᫮ 権
P, U, O, D, IS
᪫祭 饭 ०
#GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH; 뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
ਬ砭
᫨ 室 ࠭ 室  ,   ⮬᪨ ८ࠧ  ७ ⢨⥫ ଠ.

FNOP -  樨

-----------------------------------------------------------------
|           ᫮         ᠭ                    |
|樨             ⠪⮢                                  |
|                     横                                    |
|                                                               |
|D9 D0    FNOP           3             믮-  |
|                                                         |
-----------------------------------------------------------------

ᠭ
 NOP  믮  樨.      ,  ᪫祭 㪠⥫ .
塞 䫠  権  饩 窮
C0, C1, C2, C3  ।.
᪫祭 ᫮ 権

᪫祭 饭 ०
#NM  ⠭ EM  TS  CR0.
᪫祭 ० ॠ ᮢ
뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
#NM  ⠭ EM  TS  CR0.

FPATAN -  ⠭

-----------------------------------------------------------------
|        ᫮       ࠫ-  ᠭ                 |
|樨          ⠪⮢    쭮                          |
|                  横      믮-                           |
|                                                          |
|D9 F3    FPATAN  289(218-303) 5(2-17)    ST(1)         |
|                                      arctan(ST(1)/ST)        |
|                                      祭  ⥪ ST   |
-----------------------------------------------------------------

 

ST(1) <- arctan(ST(1)/ST);
祭  ⥪ ST;

ᠭ
 ⠭  ⠭  ST(1)/ST  頥 ᫥ 祭  ࠤ  ST(1). ⥬ 믮 祭  ⥪ ST.     ,   ࠭  ST(1),   稭  ᫠ .
塞 䫠  権  饩 窮
C1,  ᠭ   15-1; C0, C2, C3  ।.
᪫祭 ᫮ 権
P, U, D, I, IS
᪫祭 饭 ०
#NM  ⠭ EM  TS  CR0.
᪫祭 ० ॠ ᮢ
뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
#NM  ⠭ EM  TS  CR0.
ਬ砭
࠭祭   ਭ FPATAN 㬥⮢  .
 䠪,  FPATAN ਭ  㬥   ⠭  ⭮襭, 頥 ᫥ 㣨 ਣ᪨ 㭪権. ਬ, arcsin(x) (ࠢ ⠭ x / . ७  (1 - x**2))   ᫥   ᫥饩 ᫥⥫쭮 権: 饭 x  ⥪ FPU; ᫥ .   (1 - x**2)  饭  ⥪ १; 믮 FPATAN.
 i486  ६ 믮   ஢ 稥 뢠.  㦨 뢠  ⬥ 믮   (abort).

FPREM  -  ⮪

-----------------------------------------------------------------
|        ᫮       ࠫ-  ᠭ                 |
|樨          ⠪⮢    쭮                          |
|                  横      믮-                           |
|                                                          |
|D9 F8    FPREM   84(70-138)   2(2-8)   ST ⪮     |
|                                       ST  ST(1)      |
-----------------------------------------------------------------

 

EXPDIF <- ᯮ(ST) - ᯮ(ST(1));
IF EXPDIF < 64
THEN
   Q <-  楫,  祭 ஡ ST / ST(1)  ࠢ
;
   ST <- ST - (ST(1) x Q);
   C2 <- 0;
   C0,C1,C3 <-    Q; (* Q2, Q1, Q0 *)
ELSE
   C2 <- 1;
   N <- ᫮  32  63;
   QQ <- 楫,  祭 ஡ (ST/ST(1))/2**EXPDIF-N 
ࠢ ;
   ST <- ST - (ST(1) x QQ x 2**EXPDIF-N);
FI;

ᠭ
 筮 ⪠  ⮪, 祭   ST  ST(1),  頥 १  ST.  ⪠  ,    室   ST. 稭 ⪠  稭 .
塞 䫠  権  饩 窮
C0, C1, C2, C3,  ᠭ  ⠡ 15-1.
᪫祭 ᫮ 権
U, D, I, IS
᪫祭 饭 ०
#NM  ⠭ EM  TS  CR0.
᪫祭 ० ॠ ᮢ
뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
#NM  ⠭ EM  TS  CR0.
ਬ砭
FPREM ந  १; ᪫祭  筮  ,  ࠢ 㣫  .
 FPREM    祭 ⪠, ।塞 ⠭⮬ IEEE 754.  祭 ᫥ ᫥ ᯮ짮  FPREM1. FPREM ন  ᮢ⨬  ⥬᪨ ᮯࠬ 8087  80287.
FPREM ࠡ⠥ ⮤ ⨢ ⠭   㬥 ᯮ ST   祬  63   믮. ᫨ FPREM ᯥ譮  ⮪, 訩 ,  ࠡ 襭,  䫠 C2 饭.  ⨢ 砥 C2 ⠭,  १  ST 뢠  ⪮. ᯮ  筮 ⪠  ᯮ 室     32. ணࠬ ᯥ祭  横᪨ 믮   (ᯮ    ⮪  ST)   ,  䫠 C2  㤥 饭 . ணࠬ 뢠   ᮪ ਮ⮬,  ॡ FPU,  믮 ४祭 ⥪   横 祭 ⪠.
 ᯮ짮 FPREM ⮨  ਢ 㬥⮢ ਮ᪨ 㭪権. ᫥ 襭 ⮩ 樨 FPREM     ⭮  䫠 C3, C1  C0.    ਢ 稭 㬥  㭪樨 ⠭ ( ᯮ짮  /4), ᪮   室 祭 㣫    쬨 ᥪ஢ 筮 㦭.

FPREM1  -  ⮪

-----------------------------------------------------------------
|        ᫮       ࠫ-    ᠭ               |
|樨          ⠪⮢    쭮                          |
|                  横      믮-                           |
|                                                          |
|D9 F5    FPREM1  94.5(72-167) 5.5(2-18)  ST ⪮   |
|                                         ST  ST(1)    |
-----------------------------------------------------------------

 

EXPDIF <- ᯮ(ST) - ᯮ(ST(1));
IF EXPDIF < 64
THEN
   Q <-  楫,  祭 ஡ ST / ST(1)  ࠢ
;
   ST <- ST - (ST(1) x Q);
   C2 <- 0;
   C0,C1,C3 <-    Q; (* Q2, Q1, Q0 *)
ELSE
   C2 <- 1;
   N <- ᫮  32  63;
   QQ <- 楫, 襥  (ST/ST(1))/2**EXPDIF-N 
ࠢ ;
   ST <- ST - (ST(1) x QQ x 2**EXPDIF-N);
FI;

ᠭ
 筮 ⪠  ⮪, 祭   ST  ST(1),  頥 १  ST. 稭 ⪠   稭 .
塞 䫠  権  饩 窮
C0, C1, C2, C3,  ᠭ   15-1.
᪫祭 ᫮ 権
U, D, I, IS
᪫祭 饭 ०
#NM  ⠭ EM  TS  CR0.
᪫祭 ० ॠ ᮢ
뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
#NM  ⠭ EM  TS  CR0.
ਬ砭
FPREM1 ந  १; ᪫祭  筮  ,  ࠢ 㣫  .
 FPREM1   祭 ⪠, ।塞 ⠭⮬ IEEE 754.  ⫨砥  FPREM ᯮᮡ 㣫 ⭮   ST  ST(1).
FPREM1 ࠡ⠥ ⮤ ⨢ ⠭   㬥 ᯮ ST   祬  63   믮. ᫨ FPREM1 ᯥ譮  ⮪, 訩  ,  ࠡ 襭,  䫠 C2 饭.  ⨢ 砥 C2 ⠭,  १  ST 뢠  ⪮. ᯮ  筮 ⪠  ᯮ 室     32. ணࠬ ᯥ祭  横᪨ 믮   (ᯮ    ⮪  ST)   ,  䫠 C2  㤥 饭 . ணࠬ 뢠   ᮪ ਮ⮬,  ॡ FPU,  믮 ४祭 ⥪   横 祭 ⪠.
 ᯮ짮 FPREM1 ⮨  ਢ 㬥⮢ ਮ᪨ 㭪権. ᫥ 襭 ⮩ 樨 FPREM1     ⭮  䫠 C3, C1  C0.    ਢ 稭 㬥  㭪樨 ⠭ ( ᯮ짮  /4), ᪮   室 祭 㣫    쬨 ᥪ஢ 筮 㦭.

FPTAN -  ⠭

-----------------------------------------------------------------
|        ᫮       ࠫ-  ᠭ                 |
|樨          ⠪⮢    쭮                          |
|                  横      믮-                           |
|                                                          |
|D9 F2    FATAN   244(200-273) 70         ST(1)         |
|                                       ⠭  饭  |
|                                       ⥪ FPU ᫠ 1       |
-----------------------------------------------------------------

 

IF ࠭  ⨬ 
THEN
   C2 <- 0;
   ST <- tan(ST);
   ६ 㪠⥫ 設 ⥪;
   ST <- 1.0;
ELSE
   C2 <- 1;
FI;

ᠭ
 ⠭  ᮤন ST  tan(ST)  ⥬ 頥  ⥪ FPU 稭 1.0. 祭 ST  ࠤ     | O | < 2**63. ()
塞 䫠  権  饩 窮
C1, C2,  ᠭ   15-1; C0, C3  ।.
᪫祭 ᫮ 権
P, U, D, I, IS
᪫祭 饭 ०
#NM  ⠭ EM  TS  CR0.
᪫祭 ० ॠ ᮢ
뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
#NM  ⠭ EM  TS  CR0.
ਬ砭
᫨ ࠭   ⨬ ,  䫠 C2 ⠭,  ST ⠥  . ணࠬ ᠬ ⢥砥  ਢ ࠭  ᮫⭮ 稭 襩, 祬 2**63,    ஥ ந 楫  2. . ࠧ 17.5,  ᠭ,   祭 ᫥   ᫠   믮 ⠪ 権 ਢ ࠭.
,  FPTAN 頥  ⥪ FPU 祭 1.0 ᫥ ᫥ tan(ST), ᯥ稢 ᮢ⨬  ⥬᪨ ᮯࠬ 8087  80287  頥 ᫥  ਣ᪨ 㭪権. ਬ, ⠭ (稭, ⭠ ⠭)  ᫨, 믮 ᫥ FPTAN  FDIVR.
ST(7)   , ⮡  ᪫祭 ୮ 樨.
 i486  ६ 믮   ਮ᪨ ஢ 稥 뢠.  㦨 뢠  ⬥ 믮   (abort).

FRNDINT - 㣫  楫

-----------------------------------------------------------------
|        ᫮       ࠫ-   ᠭ                |
|樨          ⠪⮢    쭮                          |
|                  横      믮-                           |
|                                                          |
|D9 FC    FRNDINT  29.1(21-30) 7.4(2-8) 㣫 ST  楫  |
-----------------------------------------------------------------

 

ST <- 㣫 ST;

ᠭ
 㣫  楫 㣫 祭  ST  楫  ᮮ⢥⢨   RC ࠢ饣 ᫮ FPU.
塞 䫠  権  饩 窮
C1,  ᠭ   15-1; C0, C2, C3  ।.
᪫祭 ᫮ 権
P, D, I, IS
᪫祭 饭 ०
#NM  ⠭ EM  TS  CR0.
᪫祭 ० ॠ ᮢ
뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
#NM  ⠭ EM  TS  CR0.

