
 17. 樨  饩 窮
----------------------------------------------------------------

  饩 窮  i486(TM) 
㯯஢   㭪樮 ᮢ:

-  । 

- ࠭業 

-  ࠢ

- ࠭業 

-   ⠭⠬

- ࠢ騥 

 ⮩     ᠭ   ।,
㯭  ணࠬ, ࠡ饣  ᥬ
ASM386/486.  ⠫쭮   ଠ⠬,
஢  ६ 믮    ᠭ
    26.

⥬᪨ ᮯ 387(TM)   ࠡ⪨ 権 
饩 窮  i486 ন 襥 ᫮
, 祬 ⥬᪨ ᮯ 8087  80287. 
⥬  ᭮  386 DX ᯮ ⥬᪨
ᮯ 80287.  ⮣, ⮡ 㧭, ।⠢  
⥬ ⥬᪨ ᮯ 8087  80287   
ᯮ짮  ,   ਬ  㭪 16-
4.

17.1 ࠭ 筨  祭
----------------------------------------------------------------

筮   饩 窮     ࠭,
 롨  ॣ஢ ⥪  ࠡ⪨
権  饩 窮   .  , ⠪
 FSIN, ⮬᪨ ࠡ  ⮬  設
ॣ஢ ⥪  ࠡ⪨ 権  饩 窮.
㣨    ॡ, ⮡ ணࠬ 
஢ ࠭  ࠭  ᮮ⢥⢨  
樨.   ࠧ  ਭ  
࠭    ࠭ (筮   設 ⥪
 ࠡ⪨ 権  饩 窮).

 ᨬ  ⮣, ।  ࠭ ணࠬ⮬ 
ࠧ㬥  㬮砭, ࠭   饩 窮
   ᭮ ⨯: ࠭-筨  ࠭
祭 (ਥ). ࠭-筨 ।⠢ 
 室 ଠ    ᫥ 믮.
   ॢ ࠭-筨   ଠ
 㣮 (ਬ, ⢥  楫),  ࠡ⠥ 
७   ⮣, ⮡ । 
室 ࠭. ࠭ 祭 ⠪  ।⠢
  室 ଠ,   믮, ,
 뤠 १  ࠭ 祭,  
।饥 ᮤঠ.

   ஢ ࠭ ࠧ묨 ﬨ.
ਬ,  FADD (⢥ ᫮)  
ᠭ   ࠭,  ⮫쪮  ࠭-筨,
  室  ਭ騬 ࠭.  㪠 
࠭,  ࠭-ਥ  ࠭ 祭, 
࠭ 祭  ।⢮ ࠭-筨 
 ப       ⥪ 
ࠡ⪨ 権  饩 窮.

࠭     ஢  ᯮᮡ
樨, ।⠢塞 ⮬ ModR/M.  ⮣, ⮡
  ⨬ ⮤ ( = ( x ) +
),    2.   饩 窮 
࠭      ,    .
    饩 窮     㣮
६.  ⠫쭮    ,
 ᯮᮡ  ஢,   ࠢ筮
ଠ樨   26.

17.2  । 
----------------------------------------------------------------

  (।⠢   17-1)  ।祩
  ॣࠬ ⥪   設 ⥪  .
  ᥬ ⨯    ॢ  ७
⢥ ଠ  㦥  ⥪   ⮩
.   ࠧ  ࠭   . 
।  ⮬᪨  ᫮ ਧ
 ࠡ⪨ 権  饩 窮  ⮣, ⮡
ࠧ ଠ  ⮬,    ॣ ᫥
। .

              17-1.  । 

Ŀ
    ⢥                   
Ĵ
 FLD  㧨      FILD  㧨   FBLD  㧨 -
      ⢥                       - 
                                                          
 FST  ࠭      FIST  ࠭                         
      ⢥                                      
 FSTP ࠭ -  FISTP ࠭   FBSTP 㧨 -
      ⢥                       - 
        ⥪                       
                           ⥪             ⥪           
 FXCH                                                
                                                     


17.3 ࠭業 
----------------------------------------------------------------

 ࠭業  ।⠢  ਠ権
᫮, ⠭, 㬭  ,  ⠪ 
㣨  㭪樨.     
⮩   ᮫⭮ 祭  , 
஢ 筮   , 㣫 ⢥ ᥫ
 楫  ⠡ 稭 ⥯ .   17-2
 ࠭業 ,  ᭮ 䬥⨪.

᭮ 䬥᪨  (᫮, ⠭, 㬭
 ) ࠧࠡ⠭  ⮣, ⮡ ࠧࠡ뢠 䥪⨢
. ࠪ᪨,   ணࠬ  
 ⠪ ,    ॣ஢ ⥪  ࠡ⪨
権  饩 窮.   17-3 ਢ
  /࠭  ᭮ 䬥⨪. 
  ᭮ ६   "⭮"
⠭  ,  ࠭ 室 ﭭ
  ST(0)  ST(1). ࠧ   
࠭  ணࠬ 砩 :

- ࠭  ᯮ  ॣ   .

-    뤠  ࠭ ॣ.

- ࠭   묨 ࠧ ⨯: ७
  ⢥,  ⢥, ⮥ ⢥,
  ⪮ 楫  楫 ᫮.  ⮬ 㫥 ࠡ⪨
  権  饩 窮 ந ⮬᪨
  ॢ  ७ ⢥ ଠ.

             17-2. ࠭業 
                (஬ ᭮ 䬥᪨)

Ŀ
                                             
Ĵ
                                                              
 FSQRT              祭 ⭮               
                                                              
 FSCALE             ⠡஢                           
                                                              
 FXTRACT            뤥 浪                
                                                              
 FPREM               ⮪                         
                                                              
 FPREM1 *           ⠭ IEEE  ⮪           
                                                              
 FRNDINT            㣫                        
                                                              
 FABS               ᮫⭮ 祭                       
                                                              
 FCHS                                               
                                                              


 * 㯭  ⥬᪮ ᮯ 80287/8087.


     17-3. ᭮ 䬥᪨   ࠭

Ŀ
                    ଠ       ࠭:    
                               ਥ, 筨   
Ĵ
                                                             
 ᪨ ⥪             Fop   {ST(1),ST}              
                                                             
 ᪨ ⥪, -                                   
 ⥫쭠  POP         FopP  {ST(1),ST}              
                                                             
                        Fop   ST(i),ST  ST,ST(i)   
                                                             
 , 롮ઠ  ⥪     FopP  ST(i),ST                
                                                             
   ⢥       Fop   {ST} 筮 ⢥- 
                                          / - 
                                          ⢥            
                                                             
   楫              FIop  {ST} 楫 ᫮/- 
                                           楫          
                                                             


 :
 ᪮ ({ }) ᮤঠ  ࠭;   ஢,
 ন ᥬ஬.

op = ADD   DEST  DEST + SRC
     SUB   DEST  ST - 㣮 ࠭
     SUBR  DEST  㣮 ࠭ - ST
     MUL   DEST  DEST x SRC
     DIV   DEST  ST / 㣮 ࠭
     DIVR  DEST  㣮 ࠭ / ST

 ᭮     ᯮ짮  ᥬ
 ,     17-3. ଠ
᪮ ⥪   ᯮ짮  ⮣, ⮡
ᤥ  ࠡ⪨ 権  饩 窮 
設  ᪨ ⥪.  ࠭  㦭  ⮩
, ⮫쪮  .  ࠡ⪨ 権 
饩 窮  室 ࠭  設 ⥪ (ST), 
ਭ騩  ᫥饣  ⥪ (ST(1)). ᫥
믮 ᫥, १ 頥  ST(1),  ⥬
⠫  ⥪ ST, ६  ⮬ १  ᢮
.

஢ ଠ  ᮢ襭⢮ ମ
᪮ ⥪.  ⮬ ணࠬ । 設
⥪   ࠭   ॣ  㣮 ࠭.
஢ 設 ⥪  ࠭ 祭 ।⠢
㤮 ᯮᮡ  㯠  ⠭⠬  設 ⥪, ᫨
 室 -  ⥪. ࠭ 祭  
 ᥣ ST. ᭮ 宯࠭  
ᯮ짮 㣮 ॣ  ⢥ ਥ. ᯮ짮
ST  室 ࠭ , ਬ, ਡ
設 ⥪  ॣ, ᯮ㥬  稪 横.

 ࠭  設 ⥪ 室     
쭥襬  ᯮ  ᫥ ᫥. ଠ
⠫ ॣ   ᯮ짮  ⮣, ⮡
 設 ⥪  室 ࠭  ⥬  ,
⮫  ⥪.  ஢ ࠭ ST(1)  ST 
  ⠫ ॣ ⭮ ᪮
⥪: 設 ⠫,  १ ⠥  
設 ⥪.

     ࠭業 .
 ࠧ ।⢥ ᯮ짮  ࠭-筨
 楫  ⢥ ᫠  .   
,  ࠭ ᯮ  ⠪    ᫠
ঠ   ६  ॣ.  ,  
⮤ 樨    ᯮ짮  ⮣, ⮡
।  ࠭ ⠪, ⮡  뫨  ⠬
ᨢ,   㣨 ⨯ ࣠樨  ⠪,
  묨 ᪠묨 稭.

17.4  ࠢ
----------------------------------------------------------------

 ⮣   ࠢ ᫠ 
ন ⢥  楫 ⨯ .   
 ( 17-4)    設 ⥪, 
 ⭮襭  㣮 ࠭,   १ 뤠 
᫮  ᫮ ﭨ (䫠 C0, C2  C3).

᭮묨   ࠢ, ஢ (ࠢ
 㫥)  ஢ઠ ( ⨯,   ଠ). ᮡ 
 ࠢ ।祭  ⨬樨 ⬮,
ࠧ אַ ࠢ  묨 楫묨  ⢥묨
᫠   ⠪,   ⠫  ⥪ ᫥
ࠢ.

                 17-4. 樨 ࠢ

Ŀ
                                             
Ĵ
                                                              
 FCOM       ࠢ ⢥                             
                                                              
 FCOMP      ࠢ ⢥    ⥪            
                                                              
 FCOMPP     ࠢ ⢥     ⥪     
                                                              
 FICOM      ࠢ                                     
                                                              
 FICOMP     ࠢ     ⥪                   
                                                              
 FTST       ஢                                      
                                                              
 FUCOM*     ࠢ 㯮冷祭 ⢥            
                                                              
 FUCOMP*    ࠢ 㯮冷祭 ⢥     
            ⥪                                             
                                                              
 FUCOMPP*   ࠢ 㯮冷祭 ⢥     
            ⥪                                       
                                                              
 FXAM       ஢ઠ                                          
                                                              


 * 㯭  ⥬᪮ ᮯ 80287/8087.

 FSTSW AX (࠭ ᫮ ﭨ)  
ᯮ짮 ᫥ ࠢ  ⮣, ⮡ । 
᫮  ॣ AX  ᬮ.  TEST ४
 ᯮ짮 䫠  ࠡ⪨ 権  饩
窮  ࠢ ᫮ ⢫. 砫 ஢,
稫   १ ࠢ,  ᫠ 㯮冷祭.
  , ᫨  ࠭  NaN. ࠢ
ᮤন ॣ AX  ⠭⮩ 0400H; 䫠 ZF 㤥 饭
(䫠  ॣ EFLAGS), ᫨ ࠢ 
㯮冷祭,  ⠭  ⨢ 砥.  
ᯮ짮  JNZ  ⮣, ⮡ । ࠢ
( 室) ணࠬ,  ࠡ뢠 砩
㯮冷祭 ࠭. 䨫஢ 砩 㯮冷祭
࠭, ᭮ ࠢ ᮤন ॣ AX 
ᮮ⢥饩 ⠭⮩   17-5,  ⥬ ᯮ
ᮮ⢥ ᫮ .

 室  ६ 䨫஢뢠 砩
㯮冷祭  ᯮ짮 ⮣ ⬠  ᫮
室. ᫨ ணࠬ ᯥ祭 뫮 ⥫쭮
஢  砥 ਮ᪨ ஢ન १ 
QNaN ( ४   16),  ᮢ襭 
易⥫쭮 ஢ 砩 㯮冷祭 直 ࠧ ᫥
ࠢ.

஬ ।⠢  㯯 権 ࠢ, 
㣨     ᫮.  ⮣, ⮡
 㢥७,  ᫮ ﭨ  뫮 砩 ,
࠭  ࠧ  ᫥  ࠢ.

17.5 ࠭業 
----------------------------------------------------------------

 ⮣  ( 17-6) ந 騥
讥 ⢮ ६ ᫥   
ਣ᪨,  ਣ᪨,
࡮᪨,  ࡮᪨, 䬨᪨ 
⥯ 㭪権. ࠭業  ࠡ  孨
   ⠬ ⥪   १ ⭮
 ⥪. ਣ᪨  ।,  
㬥 ࠦ  ࠤ. 䬨᪨  ⥯
㭪樨 ࠡ  ᭮ 2.

 ࠭業  祭 . ᮫⭮
祭 ⭮⥫쭮 訡 ᫥ ࠭業⭮ 㭪樨
࠭஢  祬 2**(-62). (⭮⥫쭠 訡 - 
⭮襭  ᮫⭮ 訡   祭.)

    17-5. ⠭ ࠢ  ᫮ ⢫

Ŀ
      冷            ⠭            室        
Ĵ
                                                             
    ST > ࠭           4500H                 JZ          
                                                             
    ST < ࠭           0100H                JNZ          
                                                             
    ST = ࠭           4000H                JNZ          
                                                             
    㯮冷祭          0400H                JNZ          
                                                             


 ਣ᪨ 㭪樨 ਭ ࠪ᪨
࠭祭  祭,   ६  㣨
࠭業  ॡ, ⮡ 㬥 뫨 
ᦠ  .  FPREM  FPREM1  ᯮ짮
 ⮣, ⮡ ८ࠧ ⨬ ࠭ ਮ᪮
㭪樨  ॡ㥬 . ணࠬ த, 騥
砫   ਣ⮢,   ᯮ짮 
᮪饭 㬥⮢    , ᫨
室,  ⫠ १, ⮡  ᮮ⢥⢮
砫 㬥⠬. ᠭ   ࠢ筮  
26    ࠧ襭  ࠭  
.

              17-6. ࠭業 
Ŀ
                                              
Ĵ
                                                              
  FSIN*                                                  
                                                              
  FCOS*        ᨭ                                        
                                                              
  FSINCOS*       ᨭ                                
                                                              
  FPTAN**                                              
                                                              
  FPATAN       ⠭  ST(1) / ST                       
                                                              
                x                                             
  F2XM1**      2 - 1; X 室  ST                        
                                                              
  FYL3X        Y x log X; Y 室 ST, X -  ST            
                      2                                       
                                                              
  FYL2XP1      Y x log (X+1); Y 室 ST, X -  ST        
                      2                                       


 *  㯭  ⥬᪮ ᮯ 80287/8087.

 ** ࠭  ७  ⥬᪮ ᮯ-
     80287/8087

 㬥 ਣ᪮ 㭪樨   
⨬ 祭,  ⮬᪨ ᮪頥
ᮮ⢥騬   2 ( 筮  66 ⮢),
ᯮ  ⮣ 筮 ⠪  堭   
FPREM  FPREM1. 祭 ᫠ , ᯮ㥬  ⮬᪮
᮪饭, 롨ࠥ ⠪, ⮡ ࠭஢,   㤥
 稬 ࠭, ।⠢  ।
. ७ 祭 ᫠ :

4 * 0.C90FDAA2 2168C234 C H

ணࠬ  ᯮ짮  祭  ᫠  
᫥, १  㤥 ᯮ짮  㬥
 쭥 ਣ᪨ 㭪権.  ⠪ 
(ਬ, १  ᮪饭 ਣ᪮
࠭ 室  ࠬ । ) 祭,
ᯮ㥬  ,   ⠪    ஥
66- ⮢ .    ⮣,  १ 
᫥⥫쭮 ᮪  饭  ᫥饩
ਣ᪮ 㭪樨. ᫮   66 ⮢   
।⠢  ७ ⢥ 祭, ⠪  
 ஢     ᥫ. 筮 襭 -
।⠢ ᫮   㬬 孥 , ஥ ᮤন 33
訥 騥 ,   , ஥ ᮤন 33 訥
騥 .  ᯮ짮 ⮣ ⭮ , 
᫥ ᫥ 믮    ⤥쭮 
१ ᪫뢠 ⮫쪮  .

㤭⥩ ⠭ ᫥⥫ 祭  
᮪蠥 㬥    ਬ
ਣ᪨ 㭪権 ⮫쪮  㬥⠬  
堭 ⮬᪮ ᮪饭,  믮 
᮪饭 㬥 ( 祭 襣 祬 /4)
।⢥  ணࠬ ᯥ祭.

17.6 樨  ⠭⠬
----------------------------------------------------------------

    ( 17-7)  饨ᯮ㥬
⠭  ⥪. (ST(7)     ⮣, ⮡
 ᪫祭.) 祭  
७ 筮 (64 )  ⨣ ਬ୮ 19-
 .   ७ ⢥ ⠭
 10  ,    ⠭⠬, 
  ⮫쪮 2 , ࠭ ଠ   ᪮
믮,   ணࠬ஢.

               17-7.   ⠭⠬

Ŀ
                                              
Ĵ
                                                              
            FLDZ                     㧨 + 0.0          
                                                              
            FLD1                     㧨 + 1.0          
                                                              
            FLDPI                    㧨              
                                                              
            FLDL27                   㧨 log 10         
                                                  2           
            FLDL2E                   㧨 log e          
                                                  2           
            FLDLG2                   㧨 log  2         
                                                  10          
            FLDLN2                   㧨 log 2          
                                                  e           


⠭, ᯮ㥬 ⨬ ,  ७
।⠢ ࠭   筮 ଠ, 祬
७ ⢥.  㧪 ⠭  ࠡ⪨
権  饩 窮 㣫   ७
⠭  ᮮ⢥⢨  ⮬ RC (ࠢ 㣫)
᫮ ﭨ.  ᬮ   㣫, ᪫祭
筮   ( প ᮢ⨬). 
⠭᫥ 㣫  襣,  ࠡ⪨ 権
 饩 窮 뤠 筮 ⠪  ⠭, 
뤠  䬥᪨ ᮯࠬ 8087  80287.

17.7 ࠢ騥 
----------------------------------------------------------------

ࠢ騥   ࠡ⪨ 権  饩
窮    17-8.  FSTSW 筮
ᯮ  ᫮ ⢫. ⠫  
ࠢ  ᯮ  ᫥,  ࠢ ⢨ﬨ
 ࠡ⪨ 権  饩 窮  ⥬
஢.  ⢨   ᥡ 樠 
ࠡ⪨ 権  饩 窮, ࠡ ᫥
᪫祭  ४祭 .

               17-8. ࠢ騥 樨

Ŀ
                                             
Ĵ
                                                              
 FINIT/FNINIT         樠 FPU                       
                                                              
 FLDCW                㧪 ࠢ饣              
                                                              
 FSTCW/FNSTCW         ࠭ ࠢ饥              
                                                              
 FSTSW/FNSTSW         ࠭  ﭨ               
                                                              
 FSTSW AX/FNSTSW AX*  ࠭  ﭨ   AX 
                                                              
 FCLEX/FNCLEX          ᪫祭                        
                                                              
 FSTENV/FNSTENV       ࠭ 㦥                     
                                                              
 FLDENV               㧨 㦥                     
                                                              
 FSAVE/FNSAVE         ࠭ ﭨ                     
                                                              
 FRSTOR               ⠭ ﭨ                  
                                                              
 FINCSTP               ⥫ 設 ⥪       
                                                              
 FDECSTP               ⥫ 設 ⥪       
                                                              
 FFREE                                        
                                                              
 FNOP                                              
                                                              
 FWAIT                  訡 FPU                    
                                                              


* 㯭  ⥬᪮ ᮯ 8087.

    17-8,   
ୠ⨢ . ,  樠
 ࠡ⪨ 権  饩 窮, ᭨
᪫祭  ࠭ (  筮) 樮
।  ࠡ⪨ 権  饩 窮, 
।⠢   :

-  -   稭   F, ਬ FSTSW.
    ஢  ᪨㥬 ᫥ ᪫祭.

-   -   稭  FN, ਬ FNSTSW.
     ᪨㥬 ᫥ ᪫祭.

 ࠢ騥    ᯮ짮 
" ", ᥬ ASM386/486  믮 ESC-
।  WAIT (),     ᫮
 訡    饩 窮 ।
믮 ࠢ饩 .

  17-8   ⮫쪮   " ".
 ⠫   饩 窮 ⮬᪨
ᨭ஭ ஬.  ࠭ । । ⥬,
 ᫥  筥 믮. - ⮩
⮬᪮ ᨭ஭樨 । ࠢ騬  
饩 窮   믮  WAIT  ⮣, ⮡
 뫮 ४⭮.

஭ ᪫祭    WAIT.  
 ࠡ⪨ 権  饩 窮   ࠡ⪨
楫᫥ 権 ࠡ ࠫ쭮,   砥
᪫祭  饩 窮 ,   㤥
ᯮ짮 ଠ, 室  ࠢ ⮩
樥, । ⥬,  맢 ࠡ稪 ⮣ ᪫祭.
ਬ  WAIT  FWAIT  饬  
। .   18  쭥 ᭥.

 ⠪    ,   FENI 
FDISI ᮯ 8087   FSETPM ᮯ 80287
 ॠ  㭪権   i486. ᫨  
権 㦨  ⮪ ,   i486 
믮 - ᯥ樠 ⢨    
७ ﭨ.   25 ਢ   ᠭ
ࠧ稩    饩 窮  i486 
䬥᪨ ᮯ஢ 8087, 80287  387 DX.

