 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. 
