





              10.    
                                     INTEL

             NPX  窨 ७ ணࠬ
             ᯮ짮 । MS-DOS  NPX
             ਬ ணࠬ஢ NPX   MASM
             ⪮ ᮤঠ


              MS-DOS ਭ ᪫⥫쭮 Intel.    짮-
         ⥫ MS-DOS  २⢠. -, ணࠬ, ᠭ
          MS-DOS, ७ᨬ   ஢ ꥪ . -,
         設⢮ ⥬ MS-DOS  ᯮ짮 稯 ७ -
          ࠡ⪨ 8087,  80287  80387  Intel.   ᥩ ⮩
             㤥 뫠  ७ ᫮ ࠡ⪨  -
          ॢ NPX.  祩 NPX  ᯥ祭 ᥬ-
         ⢠ ஢ 8086, ⥬ 80286  80386 ᯮᮡ 믮
          ᫥  饩 ⮩.
             NPX ᯥ稢  ⥬   믮 ८ࠧ-
          ᥫ,  ᭮ ⥬᪨ ⢨,  ⠪ 
         ࠭業 㭪権, ⠪  ᨭ, ᨭ  .
              NPX  ࠭稢  ⮫쪮  ᪮  ࠡ.
         ।⢮ ⮣,    ⠢ ⥪ ⥬᪨ -
         ணࠬ   饩  ⮩,  NPX  ணࠬ  
         ᠭ,  ⠪ ࠧ ᪮ ணࠬ஢. ஬
         ⮣,  ⠪   ணࠬ ᮤঠ  稯 NPX,    -
          ணࠬ,  ᯮ짮 NPX   ਢ    㬥襭
         ࠧ ணࠬ,  ᭨ ⮨  ࠧࠡ⮪.
              ⫨稥    ࠭  ⥬᪨ ஢,  ⠪ 
         Intel 8231  8232,   NPX ⢫ ।⢮ ࠢ-
          ᫥⥫쭮⥩,     ணࠬ-
         , ࠡ饬  몥 ᥬ,   設 몥.
         NPX  ॡ ⠭ - ⥫쭮 ணࠬ
         ᯥ祭 (⠪  8088   稯 業ࠫ쭮  -
           䨣஢   "ᨬ쭮 ०"),    ॡ 
         㯠 ணࠬ / 뢮  । DMA.
              ⮣,  NPX  ᮢ⨬  ।묨 ⠭-
         ⠬ IEEE ( ஢  孨  ࠤ-
         )    ᫥   饩 ⮩,  㯭 ୠ 
           । ணࠬ ᯥ祭  ᫮-
           ᫥.     ᮮ⢥ ᯮᮡ ࠡ⪨ ᥫ
         NPX.  ணࠬ,  ண  ६  ᠭ ᫮-
           ᫮ ணࠬ,   ணࠬ ᯥ祭 ࠭
         ६  죨.
             ਬ 8087 NPX  ࠬ 8086  8088  ࠭祭.
         8087 NPX ⠪   ᯮ짮    ࠬ  80186  
         80188.   짮⥫  80286 ଠ Intel ।⠢-
          80287 NPX.   짮⥫    80386  ।
         80387 NPX.   ,    ⥬, ᭮
          80386,    祭 80287 NPX   
             80387,  ⠪  80287  襢  㯭,
         祬 80387 NPX   ६,   80386  ⮫쪮 -
         . ᬮ   , ଠ, ।⠢   ,
          ᨫ    権.

                                      - 10-2 -

                          NPX  窨 ७ ணࠬ

              ᫥ ࠧ 㦤 ᯥ NPX,   -
         室   ᠭ ணࠬ  NPX.     
         ᥡ  ॣ ,  ଠ   饩 ⮩  -
         ,   NPX, ० 樨,  ⠪ ᫮ ࠢ
          ﭨ.

                                  NPX

             ᬮ  ,   NPX    ᭮-
            ,  NPX   㯠  ᭮ -
         ࠬ 業ࠫ쭮 .   ⮣ NPX  ᢮
         ᮡ⢥ ஬ ॣ஢  뢠  業ࠫ -
         ஬ ।⢮ 饩 .    ࠭祭 -
          ⮣,   ᭮  ॣ  業ࠫ쭮    
         ᯮᮡ  ࠡ  ⢥묨 ᫠.  16--
           32-⮢ ॣ஢,  ᯮ㥬 業ࠫ -
         ஬, NPX  ᥬ 80-⮢ ॣ஢  ⮬  ᮤ-
          ⥫쭮   ଠ樨.    ॣ    
         㭪 10-1.
               
         ਧ    
          Ŀ    Ŀ    Ŀ
           0       ST(0)      C ﭨ   
          Ĵ    Ĵ    ل㯭 ।⢮
           1       ST(1)                          ࠭ NPX
          Ĵ    Ĵ    Ŀ
           2       ST(2)      C ࠢ  
          Ĵ    Ĵ    
           3       ST(3)  
          Ĵ    Ĵ
           4       ST(4)                          㯭 ⮫쪮
          Ĵ    Ĵ    Ŀ।⢮ FSAVE
           5       ST(5)      ⥫  Ŀ     FSTENV
          Ĵ    Ĵ     
           6     ST(6)                             ⥫ 
          Ĵ    Ĵ    Ŀ 饩  CPU
           7       ST(7)      ⥫ ࠭
                  

                       .10-1. 饭 ॣ஢  NPX

               ,    ⫨稥  業ࠫ쭮 ,
         ॣ  NPX   㭨 ,    -
         ஢묨 ⠬ ⥪ (ਬ,  ST(1)).  祭 -
         㦠  NPX ।⢮ 饭   ⥪,   -
         祭 (  )  ⠭  ⥬  ⠫    
         ⥪.      NPX ࠡ ⮫쪮  設 ⥪,  
         設⢮ 㣨  ⠭  㬮砭   ࠡ 
         設 ⥪.
             ,  NPX 頥  ᢮ ॣࠬ    ⥪,  祭
         ,  ⮣,    ॣ஢ ⭮⥫  -
          ⥪!  ਬ, 祭, ᮤঠ饥  ॣ i ࠭
           ॣ i-1,  ᫨ ⥪ ⮫,    ॣ i+1,  ᫨ 
         ⥪ 頥  祭.

                                      - 10-3 -
              ᠭ ணࠬ  NPX,  㤥 ᮡ  -
          ⥪.    ⠢ 祭  ॣ  ।-
         ,       祭 㤥 室  ⮬  ᠬ
         .


             ।⠢  NPX ⢥ ᥫ  饩 窮

              ॣ  ⠪ ⫨  ॣ஢ 業ࠫ쭮 -
          ⥬,     ᮤঠ ⮫쪮  ⨯ ᫠,  -
         ⢥  ᫮    饩 窮 (뢠  몥 Intel
         ६ ⢥).  孨 ଠ  㭪 10-2 -
         뢠,   ॣ NPX 룫廊 ⢥ ᫮  -
         饩 窮.   㭪 ,  ॣ ࠧ   :
          ,  ᬥ饭 冷 (15 )    ᫠ (64
         ).     ᥫ, ⮥ ⤥쭮, ।⠢ ᮡ
         筮 楫  ,     ᮥ ,   ࠦ
         祭 讥 ᫮!
              ᬮਬ  ⥫쭥  ⤥  ⢥-
          ᫠  饩 窮.    ( 79) -
          ⮬ .     祭 1,   ᫮ ⥫-
         .     祭 0,   ᫮ ⥫쭮. ,
           ⬥  .  -,   ⫨稥  筮
          楫 ᥫ (ᯮ㥬    業ࠫ쭮  -
         ),  ⢥ ᫮  饩 ⮩  ⮫-
          ⥫ ᥫ, ᪮쪮  ⥫. ( 㢨  
         ).  -,    ,   ⥬ ᫥
           ⨯ !  砥,  0   ⥫
           ⥫  ᫮,    0  易⥫쭮 ࠢ 0.  NPX
         ᫥  ⨬ 䥪⮬,    ⮬  , ᫨  ⠥-
          ࠢ ⢥ ᫠   業ࠫ쭮 -
         .(     , ⠪  NPX ࠢ
         ᫠ 祭 ).
             ३  ࠢ ஭ ᫠,   㢨  (  0
          63).   ।⠢ 騥  ᫠.    
             ⥫,  ⥫, -
               .  ,   63 (-
          稬  )   1.    ந室  -
         ⮣,   NPX 筮 ࠭ ᫠  ଠ ଠ, -
          砥,   NPX 室 ᠬ  1  筮 ᫥ 
         ᤢ      ,  1     63.
         (᫮  1 砥 0,   ।⠢   㫨.)
         ਢ 让 ਬ  ᫮ 10:

         筮:                                                 10
         ⭠筮:                                           A
         筮 64-⮢ 楫:   000000000000000...000000000001010
         64-⮢ ⢥ NPX: 101000000000000...000000000000000

             ,  ᪮짨  ᫮  NPX?    
          㣨 ।⠢塞 ᥫ,  ⠪  10.1, 10.12  ⠪ -
         .  ⢥ ஡  ,   ᫮  NPX 
          10.   룫廊 ⥯  10  2 .   NPX 㧭,  
         ᫮ ⢨⥫쭮 10?   ᯮ ,   뢠 
         ᯮ (  64  78).
             NPX ᥣ ।,   ᫮    ᯮ
          1  2.    ᥡ ᫮,  , 㤥 

                                      - 10-4 -
         1.01   1.25.  ( 筠   ஡ 
         ।⠢ ᮡ 1/2 ।饩 筮 ,  ⮬, -
         ﬨ ࠢ 筮 窨  筮 ᫥  1/2,
         1/4,  1/8,  1/16,    ..)  NPX     ᯮ 
         ᪮쪮 権 ᤢ ࢮ砫쭮 ᫮.  砥 ᫠ 10,
         NPX ᤢ     樨  1010.0 (筮)
          1.0100 (筮).  祭 3 ࠭   ᯮ. 
             ࠭  NPX.    ᯮ -
           楫  ,   ᫨ NPX 頥  ᯮ
          ,   㤥 ࠭ ᫠,  1 (⢨
         ⥫쭮 ᯮ 砥  ᥫ , 祬
         2  ).   ࠧ,  NPX ᬥ頥 ( ᬥ饭)
         ᯮ.   NPX ᯮ ᬥ饭 3FFFh,  16,383 (-
         筮).  ਬ ࠭ ᫠ 10, ᬥ饭 ᯮ -
           3  3FFFh,  4002h.

                           Ŀ
         ⢥       饭 -                    
         饩 ⮩ 冷 3FFFh  1                           
                           
                           79             64 63                          0
                                             1.0  
                           Ŀ
                   ᯮ-        
           筮              17 16 15      3  2  1  0
                           
                           79            72 71                           0

                                        Ŀ
                                   饭 -       
                         ⢥   冷 3FFFh                 
                                        
                                        63              521.0
                                                           ࠧ㬥
                                        Ŀ
                                   ।⠢ 楫  -
                         楫                ⥫쭮          
                                        
                                        63                               0

                                                 Ŀ
                                   ⪮        冷    
                                   ⢥    7Fh              
                                                 
                                                 31        231.0       0
                                                           ࠧ㬥
                                                 Ŀ
                                      ⪮        ⥫   
                                      楫                       
                                                 
                                                 31                      0
                                                           Ŀ
                                               -        -
                                               -᫮        
                                                           
                                                           15            0
                        .10-2. ।⠢ ᥫ  NPX

                                      - 10-5 -

               ᤥ,  ⥯ ᬮਬ  㭮 10-3, ⮡ 㢨-
         ,   ᫮ 10 룫廊  NPX. 祬   ,
          NPX  ࠭  ᫠?  ⮬     ⫠ 
         ॡ ஢ ᮤন ॣ஢ NPX ,  楫 
         ᯮ짮    ࠭祭    த 
         NPX, 室  ⨯ , 묨  㫨.

            79 78 ... 64 63 62    ............     0
           Ŀ
           0 40 02 1  010    000    000    000 
           
                    

            +   2(3) x1.010=1010(Binary)=10(Decimal)


                      .10-3. ।⠢ ᫠ 10  NPX


                     㣨 ଠ , ᯮ㥬  NPX

              㭪 10-2 ஬ 80-⮢ ଠ ⢥ ᫠
          饩 ⮩   㣨  ଠ⮢  .  
         祣  ਬ?    80-⮢ ⢥ NPX 
         ᯮ짮    ⥭    ⢥  .
         ᫨      ।⠢     ଠ⮢,   NPX
          .  㣨 ଠ NPX  ਭ.  ᭮ ⨯
           㭪 10-2.   ⨯   ᥡ ⢥,
         楫  㯠 筮.


                   ⪨ ⢥   ⢥
                                  ଠ 

             ⪨ ⢥ (32-⮢)   ⢥ (64
         -⮢)  ଠ 祭 宦  80-⮢ ⢥  -
         饩 ⮩,    㦥 ᬮ५.   ᫠  ᯮᮡ
         ।⠢ ⢥ ᫠  饩 ⮩,   訬
           筮.    ⠡ 10-1.
                                                          10-1
                     ଠ⠬ ⢥ 
         
            ᠳ ᯮ⠳ 饭     
                      #      #     ᯮ  
         
                                                     
         80-⮢                                  
         ⢥멳  64       15       3FFF(16383) ।
         64-⮢                                  
         ⢥멳  52       11       3FF(1023)   ।
         32-⮢                                  
         ⢥멳  23        8       7F(127)     ।
         

             ஬ ࠧ ⪨   ⢥ ଠ ⫨-
           80-⮢ ⢥ ⥬,  ᠬ 稬  -

                                     - 10-6 -
         쭮  !  - ᢮ ࠭祭 ࠭⢠ 
         ଠ ᥣ । 1  ᠬ  樨,   ࠭
         1, ⠪ ࠧ  ਮ   㣮 .


                     ᫮, ⪨ 楫   楫
                                  ଠ 

              楫  .     ᯮ  業-
         ࠫ  ஬  ࠭   楫 ᥫ
         ( 業ࠫ    ਬ  ଠ 8-⮢
          楫).  ᫠  ᫥騥 :
             64-⮢:
              -9,223,372,036,854,775,808  9,223,372,036,854,775,807
             32-⮢:
              -2,147,483,648  2,147,483,647
             16-⮢:
              -32,768  32,767

              ᫠  ⫨    ⢥ ᥫ ⥬,   
         祭,  㦥  ⮩ ,   ।⠢-
          ᫠.   ⠪,    ᫠    ᠬ
         稬  ࠦ  ᫠,      ࠦ  
          ᥫ.


                ଠ 㯠 筮-筮  (BCD)

             ᫥ ମ ।⠢   NPX    㯠-
          BCD (筮- ).  ⠪ 㯠 BCD? 
         ⥬ ᫥ 筮-筮   4-⮢ -
          ।⠢ ᮡ ⤥ ,    -
         祭  0  9.   ᫮ ।⠢  ᮡ  ⮫쪮  ப
         .    ࠧ,  ᫮    宦   ப ᨬ
         ASCII.   㭪 10-4  ।⠢ ᫠ 256    -
         쭮 筮 ଥ  ଥ 筮-筮 .  -
         訥 ᫥ ஢  筮 ⥬ ᫥.

                  Ŀ             Ŀ
                  01 0000  0000             01 0000  0000
                               
                  9-8  7...4 3...0              9-8  7...4 3...0
                                                        
                   1     0     0                 2      5    6

         :1x256 + 0x16 + 0x1 = 256     2x256 + 5x16 + 6x1 = 598
         筮-
         .:1x100 + 0x10 + 0x1 = 100     2x100 + 5x10 + 6x1 = 256

              .10-4. ।⠢ ᫠  筮-筮 

              㭪 10-4 ,    襬 ᫠  筮--
          ,   ᫨   뫨 ⭠묨 (  
          4-⮢ 㡠),   㥬   .
          祬  ଠ  ⠪ ?  ⮬,   㦨 
         ८ࠧ    ASCII  㯠 BCD.  㭮 10-5 -
         ,    室  BCD  ASCII      ⮫쪮

                                      - 10-7 -
         ᯠ  (  㡠)    ਡ ⭠-
         筮 30  ନ஢ ᨬ ASCII  0  9 (⭠-
           30  39).   믮 ⭮  ८ࠧ
           30h   ᨬ  㯠  ,      
         .

                               Ŀ
                               01 0000  0000
                               
                               9-8  7...4 3...0
            筮-            
                 ଠ         2     5     6
                                          
                                          
                               Ŀ
                                                     
                                                     
            Ŀ
             0011      0010  0011      0101   0011      0110  
            
                  7.......0       7........0        7........0
                                                       
                                                       
                   32(Hex)         35(Hex)            36(Hex)
                                                       
                      Ŀ               
            ଠ ASCII                     


                .10-5. ८ࠧ  ᫠ ASCII  BCD

              ଠ  ਬ NPX ⮫쪮  㧪  ࠭-
          ᥫ.    䬥᪨    ᯮ짮
           㯠 BCD.    ⮬ ⮣ ࠭祭 
         㧪  ࠭ 㯠 BCD     -
         묨  NPX.  ந室  ⮣,  ᯮᮡ
          祣  ⮨   । १ -
         ᫥  짮⥫,   設⢮  ਬ  
         ᥫ  饩 ⮩  ⥬ ᫥.
             NPX ᯥ稢   ८ࠧ  ᥫ
            ⭮. ணࠬ  ⮫쪮 ᫥  ८-
         ࠧﬨ    ப ASCII  㯠 BCD,   ⠪ 
         ࠢ ᯮ 筮 窨 (  ᬮਬ    
         ࠧ,  饭  ८ࠧ  묨 ᫠ 
         묨 ᫠  饩 ⮩).  NPX ᫥   ᥬ  -
         ⠫.


                              ⪮  ⨯ 

              ⠡ 10-2  ᬮ५  ࠧ  ᥫ,    
           ।⠢    ⨯    ਡ⥫
          ࠧ襭 (⢮  ), ন騬
           ⨯ .   ॠ쭮 ᯮ짮   ४-
          ᫥饥: ᯮ짮 㯠 BCD  室 
         ᥫ  ASCII  ⢥ ᫠  饩 ⮩  ⭮.
         ᯮ짮 ⢥ ᫠  饩 ⮩    -

                                      - 10-8 -
         ᫥     ।⠢  MASM ⠭ ⢥ ᥫ
         ( ᬮਬ  ).  ⠪ ᯮ짮  쭮-
          楫, ਣ  ᫠, ࠦ饣 ⠭ 楫 -
           MASM.   ⨬ 㪠       
         筮     ࠭ ꥬ  ⥬ ਬ
            襣 楫.
             㭮 10-6      ।⠢  ᫠ 
         NPX.   ,  NPX ࠭ ᫠  襩 筮
           (80-⮢ ⢥),  祬  㧪  ࠭
         ॣ஢ NPX ( ⢥).   ⥫ -
          筮  ᫥. ⬥ ⠪,  ஡  -
                                                          10-2
                         筮 ⨯  NPX
         
             륳륳 ਡ⥫ 
                               
         
         ⢥                   
          饩                    
         ⮩       80       19       3.410     < N < 1.210
                             
         筮    80       18       -10  -1 < N < 10  -1
                                 
         ⢥  64       15-16    4.1910    < N < 1.610
          楫  64       18       -910  < N < +910
         ⪮                       
         ⢥  32        6-7     8.4310   < N < 3.3710
         ⪮                       
         楫         32        9       -210 < N < +210
          ᫮   16        4       -32,768 < N < +32,767
         

           譨  ७ ।⠢

           譨   ⢥


                        ᭮              ᭮
                                      
                       2(64) - 2           2(64) - 2
                   쭮 祭   쭮 祭
                        #'s                  #'s
      - ᪮-   -8  -4  -2  -1 -1/2  0  1/2  1   2   4   8     + ᪮-
        筮          Ŀ               Ŀ             筮
                   Exp Exp Exp Exp         Exp Exp Exp Exp
                    2   1   0   1           1   0   1   2
           ĴĴ
           Ŀ                   İĿ                          İ
           Ŀ -1.67x10(308)      ڲ              +1.67x10(308)Ĳ
                       -4.19x10(-307) +4.19x10(-307)               
             -1.2x10(4932)                              +1.2x10(4932)
                       -3.4x10(-4932)  +3.4x10(-4932)

         ⭮ ᥫ                ⭮ ᥫ
                      >             >
         㬥蠥  0                㢥稢  ᪮筮

                   .10-6.  ।⠢ ᥫ  NPX

                                      - 10-9 -
         묨 ।⠢塞묨 ᫠ (ﭨ   ᬥ묨
         ᫠,   NPX  ।⠢ 筮) 㬥蠥  
         (  ࠢ)  㢥稢  ᪮筮  ( 
         ).   ⭮ ।⠢ ᫠ ࠧ㬥,  NPX
          襩 筮 ࠡ뢠 祭  쪨  ᫠,  
         訥.

                                   NPX

             NPX  ,    ਨ 뢠  ஬ -
         .   易⥫쭮 砥,     (
           69 ࠧ ),   ,        
         ᯮᮡ  믮 ॡ㥬 権.  -
             樨,  ⥫쭮 ᮪頥 -
          蠣 ( ᮮ⢥ 㤭⥩  ணࠬ஢), -
             ᯮ짮  魮 ᫮
         ᮯ.
              ⠡ 10-3 ਢ 69 .   ࣠  
         ⨯  믮塞 権,     䠢⭮ 浪,  ⠪ 
         ।⥫쭥 ᪠   ⨯, 祬  . 室
         ᭨  祭,  騥  ⠡ 10-3. 砫
         ⬥ (P),    .  砥, 
         ᮮ⢥        ᯮ짮   ଥ POP,
         FopP. ଠ POP 㪠뢠 NPX,  室 㢥 㪠⥫
         ⥪   । ॣ ० 設 ⥪  ⮩, 
         ⢥  設 ⥪.    ⠭  -
         .


                                   䨪 FWAIT

             ஥ 祭  ⠡ 10-3 -  ⬥⪠  (N). ⬥⪠
         (N) 砥,  ᮮ⢥    ᯮ짮
          ଥ no-wait,    FNop.  筮 ᥬ  MASM  
         䨪 FWAIT    NPX. ଠ no-wait 㪠뢠 -
         ᥬ MASM,    ஢ 䨪 FWAIT.     
         ⠪ 䨪 FWAIT?
             筮 NPX   襭 ⥪饩  ,  ।
         ⥬      ਬ .   ⨣ ।⢮ 䨪
         FWAIT    樨  (9  ⭠筮),    ॠ쭮
         ।⠢ ᮡ   樨  8086!  믮    ,
          業ࠫ  ,  ⠪ TEST 䥩
         業ࠫ /NPX ⠭ ⨢.   ந室, 
         NPX,  訢 믮 ,   .   業-
         ࠫ   㯠  ࠡ  뢠  ᫥-
           NPX, 稭  横.
             稭 ᯮ짮 FWAIT  ⢥ 䨪 砥 
         ⮬,    業ࠫ   ⮫쪮 ⮣,  
          ࠢ NPX  .   ⮫쪮   -
         뫠 NPX, 業ࠫ   NPX  ࠡ -
         ,  ,   業ࠫ   㦤  NPX, 
          ஢ ⮢ ᫥.
                  砩,     業ࠫ 
         㦤  ᯮ짮  FWAIT.  直 ࠧ,   ⮫쪮
         業ࠫ쭮  室   NPX,  -

                                      - 10-10 -
          ᮮ⢥     .  -
             (।⢮  FWAIT),    
          㯭.  ⮬ 砥 ணࠬ  筮 -
         ஢  NPX FWAIT,  ⮬  MASM  ,  -
         ன⢮  襭 믮  - 業ࠫ  -
           NPX.
                                                          10-3
                    祭  Intel NPX   樨
         
         .        ᮡ                
         ⬥⪨    樨  
         

         .                뫪  (9)
         -------------------------------------------------------------
         .       FXCH        //d       ᮤন ॣ஢
         .       FLD         s        㧨 ⢥
         (P)     FST         d        ࠭ ⢥
         .       FILD        s        㧨 楫
         (P)     FIST        d        ࠭ 楫
         .       FBLD        s        㧨 㯠 BCD
         .       FBSTP       d        ࠭ 㯠 BCD
         --------------------------------------------------------------
         .                  ⠭ (7)
         --------------------------------------------------------------
         .       FLDZ                 㧨 +0.0
         .       FLD1                 㧨 +1.0
         .       FLDPI                㧨 Pi
         .       FLDL2T               㧨 log 10
         .       FLDL2E               㧨 log e
         .       FLDLG2               㧨 log 2
         .       FLDLN2               㧨 log 2
         --------------------------------------------------------------
         .            ࠭業  (8)
         --------------------------------------------------------------
         .       FPTAN                ⭮⥫ ⠭
         .       FPATAN               ⭮⥫ ⠭
         .       F2XM1                2  - 1
         .       FYL2X                Y x log X
         .       FYL2XP1              Y x log (X + 1)
         .       FCOS                 ᨭ ST(0) (⮫쪮 80387)
         .       FSIN                  ST(0) (⮫쪮 80387)
         .       FSINCOS                ᨭ ST(0)
         .                            (⮫쪮 80387)
         --------------------------------------------------------------
         .                  ࠢ (10)
         --------------------------------------------------------------
         (P)     FCOM        //s      ࠢ ⢥
         (P)     FICOM       s        ࠢ 楫
         .       FCOMPP               ࠢ  믮 POP 
         .       FTST                 ஢ 設 ⥪
         .       FXAM                 ᬮ 設 ⥪
         .       FUCOM                ࠢ  浪
         .                            (⮫쪮 80387)
         .       FUCOMP               ࠢ  浪 
         .                            믮 POP (⮫쪮 80387)
         .       FUCOMPP              ࠢ  浪 

                                      - 10-11 -
         .                               믮 POP 
         .                            (⮫쪮 80387)
         --------------------------------------------------------------
         .                䬥᪨  (26)
         --------------------------------------------------------------
         (P)     FADD        *         ⢥
         .       FIADD       s         楫
         (P)     FSUB        *         ⢥
         .       FISUB       s         楫
         (P)     FSUBR       *         ⢥ (⭮)
         .       FISUBR      s         楫 (⭮)
         (P)     FMUL        *        ᪮쪮 ⢥
         .       FIMUL       s        ᪮쪮 楫
         (P)     FDIV        *         ⢥
         .       FIDIV       s         楫
         (P)     FDIVR       *         ⢥
         .                            (⭮)
         .       FIDIVR      s         楫 (⭮)
         .       FSQRT                 ७
         .       FSCALE               ⠡
         .       FPREM                 ⮪
         .       FPREM1                ⮪
         .                            (IEEE, ⮫쪮 80387)
         .       FRNDINT              㣫  楫
         .       FXTRACT              뤥 ᯮ  
         .       FABS                 ᮫⭮ 祭
         .       FCHS                  
         --------------------------------------------------------------
         .           ࠢ ࠡ⪮ (16)
         --------------------------------------------------------------
         (N)     FINIT                樠஢ 
         .       FLDCW       s        㧨 ࠢ饥 ᫮
         (N)     FSTCW       d        ࠭ ࠢ饥 ᫮
         (N)     FSTSW       d        ࠭ ᫮ ﭨ
         #(N)    FSTENV      d        ࠭ ।
         .       FLDENV      s        㧨 ।
         #(N)    FSAVE       d        ࠭ ﭨ
         .       FRSTOR      s        ⠭ ﭨ
         .       FINCSTP               SP
         .       FDECSTP               SP
         .       FFREE       d        ᢮ ॣ
         .       FNOP                  樨
         .       FWAIT                ࠫ  
         (N)     FDISI                 뢠
         .                            (⮫쪮 8087)
         (N)     FENI                  뢠
         .                            (⮫쪮 8087)
         (N)     FCLEX                 
         
          *   ࠭  FADD, FSUB, FMUL, FDIV, FDIVR
             :F<op>       ...  F<op>P ST(1),ST
             :F<op>s      ...  F<op> ST,<>
             :F<op> d,s   ... ⮫쪮 ॣ d,s
             :F<op>P d,s  ... ⮫쪮 ॣ d,s

             (P)   F<op>  F<op>P
             (N)   F<op>  FN<op>

                                      - 10-12 -
             s    筨
             d    
             //s  祣  筨
             //d  祣  
             #       ᠬᨭ஭㥬

                               ᮡ 樨 NPX

             ᮡ 樨 NPX ࠦ ⥪  ⥪ .
           ᫮   権 NPX,   ⫨稥  ࠢ 
         権,  ᯮ 設 ⥪ ,   ࠩ  ,  
         ࠭.   ࠡ ⮫쪮   設 ⥪, -
         ਬ, FSQRT  FABS. 㣨 ࠡ   設 ⥪, ⠪ 
          ᫥騬 ॣ஬ ⥪, ਬ, FSCALE  F2XM1. ⠢訥-
          宯࠭    ᮮ⢥⢨  ⨯.  -
           ᢮ ன ࠭  㣮 ॣ ⥪. -
            ᢮ ன ࠭  .
              ⠡  10-4 த஢ ࠧ ࠧ襭 -
         樨 樨 ࠭   NPX.   , 
           ⥬᪨    ࠢ ᯮ-
          ࠭   ⢥ 筨, ࠭  
            ਬ  ⢥  ஬  ࠭
         (FST<P>,  FIST<P>  FBSTR). ⬥ ⠪,  ࠭ 筨
           楫  (FIop)   ࠭  -
         ,  ॣ NPX ᥣ ᮤঠ ⢥ ᫠.
                                                          10-4
                     襭 ⨯  ᫮  NPX
         
                                       
                  
         ਬ                嬥-                
                    ⥬. 
         NPX            ᫮  ᫮    ⮢ NPX     ࠢ
         
                                                      
         FLD                                          
         -                                         ⢥-
         筨                        FLD         
         FST                                          
                              FSTP          
         FILD                                         
         筨                                
         FIST                                         
                                          
         FBLD                                         
         筨                                    
         FBSTP                                        
                                              
         
              ᮬ    ⮣,   NPX -
           ᢮ ࠭.  让 ਬ  ࠧ 㬠,
         ⮬   ᬮਬ  ࠡ   権 NPX.

         FLD   <arg1>  ; 㧨 1- 㬥  
         FLD   <arg2>  ; 㧨 2-  㬥    
         FADD  <arg2>  ;     FADD ST(1),ST
         FSTP <result> ; ࠭ १  

                                      - 10-13 -

               ᯮ FLD  뢠  ࠭ -
           ⥪ ॣ NPX,  ᪫뢠 , ਬ ""
          FADD,   ⥬ ࠭ १   FSTP. ,
            ६  ᭮ 䬥᪨   (FADD,  FSUB,
         FMUL  FDIV)  ᠬ  ᥡ,  MASM  -
             ⥪,  ᯮ 設 ⥪  ST,  -
         ⢥ 筨  ᫥騩  ⥪ ST(1)  ⢥ -
         .
                ।   ।⠢ ᪨ 
         㭪 10-7.   ࠧ    FADD ⠪ ࠧ,
         ⮡        䥪   ⥪.   
         ,    㢨,    NPX  楯㠫쭮  蠥
         䬥      -  ࠭ १  ST(1) - ⥬
         ᭨  ⥪,  ७ १   設  ⥪,  ST  
         ST(0).
                                          
                                     Ŀ
                                         FADDP       FADDP    FSTP -
              FLD 頥  ⥪:      (ST(1)=   ⠫   -
                 Mem-1       Mem-21   Mem-1 + Mem-2   Mem-2  ⠫ SUM
              ĿĿĿĿĿ
         ST(0)   Mem-1    Mem-2     Mem-2     SUM     ।饥
              ĴĴĴĴĴ
         ST(1)।饥  Mem-1     SUM     ।饥          
              ĴĴĴĴĴ
         ST(2)          ।饥।饥                    
              

                       .10-7. ਬ ࠡ  ⥪ NPX
                襣  ਬ  ⥪  ਭ ᢮ ࢮ砫
         .    ? ,  ⠪, ᫨  ⥪ 뫮   -
         ⥫ 㬥⮢. , ᫨    뫮 筮 
          ࠧ饭  ,  NPX   ⨬ -
         樨  ࠡ  ९ ⥪.  ( ᬮਬ १砩-
          樨  쭥襬.) ⥫쭮,  ⮣,   ᬮ
         믮   祭  ,  室 㡥 
         ⮬,  NPX  ਭ .  ⨦ ⮣ -
           ᯮᮡ.


                                FINIT  FFREE

             ⥩訬 ᯮᮡ ⮢ NPX  ࠡ   ᯮ-
           FINIT.   ࢠ ,   㦭 -
          NPX 直 ࠧ  ⮫쪮 稭 믮    ண-
         ࠬ.  FINIT  樠  NPX  ⠪  ࠧ,    ᫨ 
         ந襫  ᥩ ⥬,  砥   ॣ஢
          権,  ⠪ ᯥ稢 ᢮   ࠡ ண-
         ࠬ.
               㡥  ⮬,  NPX ᢮ ॣ-
         , ।⠢  FFREE.  ⬥砥 室 ॣ
          ⮩   ணࠬ ᯮ짮   ᫥-
          ᫥.  ,   室 
         ॣ  設 ⥪.  ᫨   ⥪, ST(7), 
         筮 ᢮ ,  孨 ॣ   -
          祭  .

                                      - 10-14 -


                                  ࠢ NPX

              쬨 ॣ஢  NPX     㣨  -
         ,  㯭 ணࠬ.   㭪 10-1 ,   
         ᫮ ﭨ,  ᫮ ࠢ,  ⠪ 㪠⥫ ࠭ 
         .  NPX ⠪  ॣ,  뢠 ᫮ ਧ, 
          ᯮ ⮫쪮  NPX.  ( ਧ ⬥砥  -
           , 㫥  -᫮.)  㪠⥫, ࠭ 
            ⮫쪮   譥 ࠡ⪨ ᮡ -
         樨,     ᬮਬ .  ⠫ ᫮ ࠢ 
         ﭨ.   䥪⨢ ᯮ짮 NPX  室 -
          ࠡ  ॣ஢.

                                ࠢ NPX

             砫  ᬮਬ ॣ ᫮ ࠢ.   16--
          ᫮ । ,   NPX ࠪ ࠧ 樮
        Ŀ
         15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
        Ĵ
                                                            
                    IC   RC     PC  IEM    PM UM OM ZM DM IM
        
                                
      १ࢨ஢                                       
                                                         ୠ
      ࠢ     Ŀ                          
  ᪮筮                                      ଠ-
        Ŀ                         -
        0 = 室                                     ࠭
           ᪮.                               
                                              ९
        -            +                       稬
           0                       筮         ᪠
        1 = 室              १ࢨ஢      ࠧ襭
                                                          뢠
        -.<-- 0 -->+.           Ŀ
                 ĳ0=                 
                                           1=  (᪨஢)
                                           
      ࠢ      Ŀ ࠢ
      㣫                                筮
        Ŀ      Ŀ
        00=(x+1)<---0.5--->x                   Ŀ
        01=     ---> 0 --->        00=          24   
        10=     <--- 0 <---                    ٳ
        11=     ---> 0 <---               Ŀ
              10=        53     
                                            ٳ
                                         Ŀ
                                     11=     64        
                                         ٳ
                                     
             .10-8.  ࠢ   ﭨ  樨 NPX

                                      - 10-15 -
         ᫮  ,    ᯮ㥬 ⥬ ᫥.  -
         㭪  10-8  த஢ ࠡ ᫮ ࠢ,   ⠪
         ࠧ    ⢨.  ᭮, ᫮ ࠢ -
         ন   ࠢ  ᥬ 䫠  ᯮ짮  -
         묨 ﬨ.
               ⠯  ⨬ ᯮ짮    -
          । NPX.  ⮣ 砥 ,   ⨬ ᯮ-
          ஥묨 ﬨ ࠡ⪨ ᮡ 権 NPX.
           ,    NPX  ᠬ  ᥡ  ᫥  設⢮
          訡,  ࠢ ᫮    ᯥ樠쭮
         祭, 뢠 -᫮.    ࠡ뢠  뢠-
           ᫮,  ।⠢ NPX    .  -
           ।⢮ ᪨஢ ᮡ 樨,  믮-
          ⠭ ᮪ 権  ᫮ ࠢ.  ᪨ ᮡ
         権    ᪮ ࠧ襭 뢠 ᮤঠ
          襬  ᫮ ࠢ.
             ⠭ NPX  ० ᯮ짮 ᢮ ७ ࠡ-
         稪 訡 믮 ⠭ 襣   BF (⭠-
         筮)    ਬ    㧪  ᫮  ࠢ
         FLDCW.    ।塞 ᫮    業ࠫ쭮
            襣 ,  饣 祭 BF (-
         筮). ⥬  㦠  ᫥騬 ࠧ:
             .
             .
             .
           cw87    dw    03BFh    ; 祭 ᫮ ࠢ NPX
                   .
                   .
                   .
                  FLDCW  cw87     ; 㧨 ᫮ ࠢ NPX
                   .
                   .
                   .
             祬  ਬ 祭 3  襣  ᫮ ࠢ-
         ?  訩  ᮤন    । ᯮ-
          NPX  ᫠.      ⠪      㭪
         10-8.  ࠢ ࠬ  訬 祭 3,   㢨,  
         ࠫ 64-⮢ 筮,  㣫  襣  楫  
         室 ᪮筮.   祭 ⢥, ४-
          ମ Intel,  ⠪ ⢥,  NPX ᯮ 
         㬮砭.  ᫨      ⠭,  㭮 10-8
         ᪠,  祭  ਬ.


                                 ﭨ NPX

              ﭨ NPX ᮤন  ⨯ ଠ樨:  (1) -
          ; (2) 㪠⥫ 設 ⥪; (3)  ᫮,
         ࠦ騥 १ 믮  FCOM,  FTST  FXAM;  (4)
          ᮡ 権, ᨣ騥   -
          訡.  㭮 10-9   ࠧ -
         ஢  ᫮ ﭨ.

                                     - 10-16 -
       Ŀ
        15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
       Ĵ
                                                         
        B  C3     ST     C2 C1 C0 IR    PE UE OE ZE DE IE
       
                                   
            ĳ                            
                                                        ୠ
                                                   
       ⥫                                   ଠ-
        設           ᫮                     -
         ⥪                                               ࠭
        Ŀ                       
                  Ŀ                       
        000 ---->   0                   ९
        001 ---->   1                  稬
        010 ---->   2               筮         ᪠
        011 ---->   3         १ࢨ஢      ࠧ襭
        100 ---->   4                             뢠
        101 ---->   5         
        110 ---->   6         ॡ 뢠
        111 ---->   7 
                  ٳ
        
                           .10-9.  ﭨ NPX

               ᨣ  ⮬,  믮    -
         饥 ६ NPX ࠡ .     祭 -
           ,  ⠪  ᮤন ᫮ ﭨ    
         ᯮ짮   ,  NPX  ,   訫 -
          ᫮ ﭨ.  室  ⮣,  ,  NPX ᢮-
         , ⠪   FWAIT 믮.
             ⥫ 設  ⥪,       11  13,   
         ணࠬ,    ᫮ 㦥 ணࠬ NPX, -
         騥  ᫥⥫ 樨  ࠭騥 ᫥
         祭  ⥪ NPX.   ,  ⮣, ⮡ 㡥 
         ⮬,    ᫥饩 樨  筮 ,  ।
         ࠡ⪮ ணࠬ ஢ 㡨 ⥪.  ᫨  ⥪ -
         筮   প 樨,    ॣ
           ࠭    ⮣,  ⮡  -
          믮 ணࠬ  ⥫ ᫥⢨.
             ⥫ ⥪ 樠    FINIT    ⮣,
         ⮡  㪠뢠  000(0),    ᯥ譮 㦥 
         㬥蠥 㪠⥫ ⥪ 横᪨  111(7)   ,
             ⨣ 001(1).  ⥫ ⥪  㫨-
               FINCSTP  (㢥  㪠⥫  ⥪)  
         FDECSTP  (㬥 㪠⥫ ⥪).    ,  ⠪  
         樨  ⬥ ॣ   ,  ᯮ짮  
         FDECSTP  FINCSTP   ਬ  設
         ⥪  ஢ન ᢮ ॣ஢.
              ᫮  室   ᥣ  ⮣,  ⮡ ,
          ⢨ ।ਭ  㭪 ਭ  襭  ணࠬ.
            ᬮਬ ᪮쪮 ਬ஢ ᯮ짮  ᫮-
         .   ,   ஢ન  ᫮,   ᫮
         ﭨ      FSTSW;  ⥬ ஢ 
            業ࠫ쭮 .  ࠭ -

                                      - 10-17 -
         樨 ﭨ NPX  ஢ન 業ࠫ ஬  -
              FWAIT  ᫥  .  騩
         ࠣ ணࠬ ,     ᫥-
         ⥫쭮 ࠢ.
               .
               .
               .
         sw87  dw    ?          ; ࠭⢮  ᫮ ﭨ NPX
               .
               .
               .
               FCOM  ST(1)      ; ஢ ⭮襭   ST  ST(1)
               FSTSW sw87       ;  ᫮ ﭨ NPX
               FWAIT            ;  襭 ࠡ
               test  sw87,4000h ; ࠭ ࠢ?
               je    are_equl   ; ...
                .
                .
                .
             祭, ᢮ ⨬  ࠧ묨  ࠢ-
         ,  ਢ  ⠡ 10-5.  ,   ᫮-
              㯯,         㪠⥫
         ⥪,   , 頥  FCOM  FTSR, ⠪ ࠧ-
          ⮬ ᫮ 1,   ᯮ. ⬥, 
         NAN 砥 "-᫮".
                                                          10-5
         ᫮ ﭨ, ⠭  FCOM, FTST  FXAM
         
                                   
                Ĵ      
                           C3   C2  C1  C0    
         
                                              
         .      F          0    0   *   0       ST > 筨
         .      C          0    0   *   1       ST < 筨
         .      O          1    0   *   0       ST = 筨
         .      M          1    1   *   1       ST ? 筨
         .      F          0    0   *   0       ST > 0.0
         .      T          0    0   *   1       ST < 0.0
         .      S          1    0   *   0       ST = 0.0
         .      T          1    1   *   1       ST ? 0.0
         .      F          0    0   0   0       + ଠ
         .      X          0    0   0   1       + NAN
         .      A          0    0   1   0       - ଠ
         .      M          0    0   1   1       - NAN
         .                 0    1   0   0       + ଠ
         .                 0    1   0   1       + ᪮筮
         .                 0    1   1   1       - ᪮筮
         .                 1    0   0   0       + 0
         .                 1    0   0   1         
         .                 1    0   1   0       - 0
         .                 1    0   1   1         
         .                 1    1   0   0       + ଠ
         .                 1    1   0   1         
         .                 1    1   1   0       - ଠ
         .                 1    1   1   1         
         
             (*) -  ⢥

                                      - 10-18 -


                          ࠡ⪠ ᮡ 権  NPX

             訩   ᫮ ﭨ ᮤন 䫠 ᮡ 権.
          䫠 ᮮ⢥ ᪠ 権  ᫮ ࠢ. 
             ᮡ ,  NPX ⠭ ᮮ⢥騩
         䫠  ⥬ ஢,  ᪨஢    .  
           設⢮  権 ਬ ᪨஢ ⢥ (-
         ७ ࠡ稪 뢠 NPX),  ᢥ  ⢨  ⠡-
           10-6.  뢠  ਮ᪮ ஢થ  稥 ᮡ
         権  楫 ᯥ祭 筮 १⮢.  ᫨  
         ᮡ ,   ⠭ ᮮ⢥騩 䫠  ⮨
           ,     㤥 襭  ।⢮  樠樨
         NPX ( FINIT)  ⥬ ᯮ짮   -
         樨 FCLEX.   䫠  ⠭묨,  ᯥ稢-
          ⨢   訡,    -
         ⪨.
             㣮 ᯮᮡ ࠡ⪨ ᮡ 権 砥  ࠧ-
         ஢    権  ࠧ襭 뢠  ᫮-
          ࠢ NPX.   ⮬ ०,  ᫨ NPX 㦨  ᮡ
         ,   ᨣ 뢠  ॡ,  ⮡ 
         業ࠫ  ࠡ⠫ .    ,  NPX  
         ᥣ  易    뢠 業ࠫ쭮 -
         !  ࠧ饭 ᮢ 뢠 NPX ॡ  -
           ࠡ稪  뢠.  ᫨    ⥬  ন
         譨 뢠 NPX,   ࠧ蠩 !
             ᫨  ⥬ ন 譨 뢠   ࠧ-
         訫 ,   室 ᯥ ࠡ稪 ᮡ 権,  
          ६,   NPX 뢠 ࠡ  業ࠫ쭮  -
         .    ।  稭  襩 ஡ ணࠬ
         業ࠫ쭮    ᫮ ﭨ NPX. -
            ॡ,    ࠡ稪 権 ⮦  ।-
            ࠭, ਢ訥   ஡, ⥬
         ᫥  㪠⥫     ࠭ NPX.   祭
         ⮩ ଠ樨 ࠡ稪 権  믮    -
          NPX, FSTENV  FSAVE.   뢠   -
          業ࠫ쭮   襩  ᮤঠ   -
         ஢ ࠢ NPX (᫮ ﭨ,  ᫮ ࠢ, ᫮
         ਧ, 㪠⥫   㪠⥫ ࠭). ࠡ稪 -
         権    ⠭ ଠ    ࠡ .
         ᫨      ।⠢      -
         ,    ⨭ 10-1 ࠧ "ਬ ணࠬ஢-
          NPX   MASM",  ᮤঠ騩  ਬ  ணࠬ,  
         ᭠砫 ࠭  ଠ,  ⥬  .
                                                          10-6
                       ⠭  㬮砭 ⢥ 
                   ᮡ 樨 NPX. (樨 ᪨஢)
         
            ᮡ             ᪨஢ ⢥
         
         筮               頥 㣫 १
          稬      ଠ १
         ९           頥 ᪮筮  
                   頥 ᪮筮  
         .                      ࠭

                                      - 10-19 -
         
            ᮡ              ᪨஢ ⢥
         
         ଠ      ᫨ ࠭ ,  
         ࠭                ᫨ ࠭ ॣ,  ॢ 
         .                      "ଠ"  業 ᭮
         ୠ       ᫨  ࠭ NAN,  頥
         .                      . ᫨  ࠭ NAN,  -
         .                      頥 ,    襥 -
         .                      ⭮ 祭. ᫨    -
         .                      ࠭   NAN,  頥
         .                      ।
         

                        ᯮ짮 । MS-DOS  NPX

             ⢥ ⫨稥 ᠭ ணࠬ  ᯮ짮 NPX
          ᠭ ணࠬ   ᯮ짮 砥    ⮬,
           ਬ  ᮯ  ॡ 襣 ⢠ 
          ਬ ᫮ 権.   ⫨稥  ⮫쪮 
         ஢  ,  ⢥묨  ।⢠ MS-DOS,   㦭
           NPX,   MASM  DEBUG.   㣨 ।⢠ - LINK,
         LIB  CREF -  稥 NPX.

                             ᯮ짮 MASM  NPX

              ᯮ짮 MASM  NPX ணࠬ   -
          NPX ⠪  ࠧ,     業ࠫ쭮 -
         .  NPX    ,    業ࠫ쭮
         :  ⪨,  権, ࠭  ਨ. -
         ⢥ ⫨稥 ஢  砥  ⮬,  ࠭-
          NPX   ⮫쪮 ॣ   NPX,   ࠭
          業ࠫ쭮    ⮫쪮    ॣ
           .    砥 ࠭     ⫨.
          NPX  ᯮ짮    ᫥  -
         :

         - 쪮 ᬥ饭                  FSTSW      mem_word
         - 쪮              FIADD      word prt [bx]
         - 饭 +          FSTP       base[di]
         -  +                     FLDCW      [bp][si]
         - 饭 +  +          FILD       [bp]table[di]

           Ŀ
                                                             
                 MASM  ᨨ 1.25  訡,   ਢ  
               権 FSUB c FSUBR    FDIV c FDIVR  
            , ᫨    ᯮ짮  "᪮" 
            ଥ  ( । ࠭).  ᫨   
             ன ᨥ MASM,  筮 । ࠭  
            ⨯  , ਬ:                               
            FSUBP    ST(1),ST                                        
            FDIVRP   ST(1),ST                                        
              ,   ᪠  ଠ ᥣ ᯮ    
               ⠫   ⥪.                   
           

                                      - 10-20 -

                         NPX ४⥫ MASM - /r  /s

             ᫥   ணࠬ  䠩,  室 ᯮ짮 MASM
           ࠭樨.  ᫨ ਬ ⠭⭠  ப
         MASM,      祭   NPX 뤠 ᨭ⠪
         訡.  ந室 - ⮣,   ० ଠ쭮 ࠡ
         MASM 祣    NPX.  ࠭樨  NPX  ਬ-
          ४⥫  ப /r (ॠ ०),  㪠-
         뢠 MASM  稥  室 䠩  NPX:

         A:>masm test.asm test.obj test.lst test.crf/r

              ⮬  MASM  㧭,    ࠭᫨㥬  ணࠬ
         ।祭  믮  ॠ NPX. MASM ⥬ -
           ࠢ  権 NPX  䨪ᮬ  樨 FWAIT,
         ᫨  ᯮ    FN<op>.  (  , -
           ,     NPX FNOP 稭  FN,  MASM
          䨪 FWAIT.)
             MASM     ४⥫,   㪠뢠  
         室 ࠭樨  NPX.  ४⥫ /e (०
         樨).  ४⥫ /e  祭 ४⥫ ॠ-
          ०,  ⢥ ⫨稥 砥  ⮬,  
         no-wait (FN<op>)  ࠭᫨.  ४⥫ 㦥 -
         ⥫,  騬 樮 ⥪,   樨
         ணࠬ    権 NPX 맮  業-
         ࠫ쭮 .    MASM     ⠪  樮
         ⥪   室   ᯮ짮, ᫨  
         ॠ쭮 NPX,     㤥 㦤  ⥬.


                                NPX  MASM

              ⥯  ,   NPX ন ᥬ ࠧ ⨯
         :  ᫮;  ⪮   楫; ⪮   -
         ⢥;  㯠 筮- ;  ⢥ 
         饩 ⮩.   ᯮ짮  ⨯    
           । ࠢ 祩.  ⠡ 10-7 
         ᮮ⢥⢨  ⨯  NPX  ⮤,  ਬ塞묨  
         MASM   ।  饭  .
             祩  ।    ४⨢  ।
          MASM (dw,  dd, dq,  dt)    (?), ᫥饣
          .   ଠ ਪ뢠 MASM १ࢨ஢ ࠭-
         ⢮,    樠஢ .   樠樨 १ࢨ-
          祩, ।祭  ⤥쭮 祭 ⢥-
             ᫠,    MASM    ᯥ稢      ࠧ   :
         ᯮ樠 ଠ  ᯮ, ᯮ樠 ଠ 
         ᯮ⮩  ॠ (R) .       
         ᯮ짮       ४⨢  "।  "
         ᫥騬 ࠧ:

         double   dd  3.14159         ; ᯮ樠  ᯮ
         quad     dq  1.23456E + 03   ; ᯮ樠  ᯮ⮩
         tenbyte  dt  0123456789ABCDEF0123R     ; ॠ

                                      - 10-21 -
                                                          10-7
                         ࠢ ⨯  NPX  MASM
         
                 ४-       -
         NPX                    ⨢  ࠭   
                                 MASM            NPX
         
          ᫮           2     dw    word prt    
         ⪮                                 
         楫         ᫮        4     dd    dword ptr   
         ⪮                                 
         ⢥  ᫮        4     dd    dwort ptr   
                ⢥୮                         
         楫         ᫮        8     dq    qword ptr   
                ⢥୮                         
         ⢥  ᫮        8     dq    qword ptr   
                                          ଠ
         BCD                    10    dt    tbyte ptr    "R"
         饥                                
         ⢥           10    dt    tbyte ptr   
         

             । ⢥ ᥫ       ।
         (db)   ४⨢ । ᫮ (dw)  .   
          樠஢ ⮫쪮  楫 祭.
             ᯮ樠 ଠ  業    ଠ  饩
         ⮩ (,  ᯮ   ),  ᪮  ⢥
         ଠ  ᯮ    ᭮  --㡠,   ⮬
         ⭠筮 ।⠢ ⢥ ଠ 筮 ᮮ-
           ।.
              ,    MASM  । ⢥-
          ᫠  4-⮢, ⠪  8-⮢ , ଠ, ᯮ-
           樠樨  ᥫ,  ᮢ⨬  NPX!  㭪
         10-10  ,    Microsoft  ॠ  ᫠  ࠧ஢.
         ࠢ   㭪 10-2,   㢨,   ᮢᥬ ࠧ.
         ᫨  室 ᯮ짮  ଠ (ਬ,   ᮢ-
         ⨬  騬 ணࠬ ᯥ祭),   -
            ଠ  㣮    ணࠬ ८-
         ࠧ.
                   Ŀ
             ⢥  81hS  55                       
                          
                          6356 55 54
                                 1.0 ।
                            
                            
          ⪮              饭     Ŀ
          ⢥      ᯮĳ 81hS   23 ⠳
           Microsoft MASM          129.0      
                                               31 24 23 22
                                                      1.0 ।

               .10-10. ଠ ⢥ ᥫ Microsoft MASM.

                             ᯮ짮 DEBUG  NPX

             DEBUG ᥣ    NPX.  ⨬    ,  

                                      - 10-22 -
             ⪥  "ᥬ஢"  ,  DEBUG 뤠
         ࠭ .  (  ⮤,  ᯮ㥬   ⫠,
            ᯮ㥬  ⭠ ᫮-
          DEAD.   ࠪ ࠧ  ணࠬ 
         ।,  ᪮쪮  .    , DEBUG -
         ᥬ   FISUBR WORD PTR [DI + ADDE].)
              ணࠬ DEBUG ﭭ 室  ० NPX,  
         ᥣ ᯮ  NPX. ணࠬ  뢮  ࠭  
           ࠭᫨஢    FN<op>.  DEBUG ᯮ
         FWAIT  ⤥   樨 NPX,  祬  ॠ쭮 
         .  ⥫쭮,  DEBUG      FN<op> 
         ⠭ ,   㤥  䨪 FWAIT.
              ⨢  MASM,  DEBUG   ⠢ ⮬᪨
         䨪 FWAIT  ⠭  NPX.     ⮬,
          室  ࠭᫨஢ FWAIT    NPX.
               ⠪ ,      ।  ࠭  
         DEBUG, ॡ 㪠뢠 ணࠬ,  ࠧ  ࠭:

         FLD    TBYTE PTR [200]

              ॡ    ⮣,  ⮡  நନ஢ DEBUG 
         ⮬,  ᫮ ।⠢ ᮡ ,   אַ 祭.

                               ⫠ ॣ஢ NPX

             ⢥,  DEBUG   ᤥ,  ⠪  ⮡ࠧ
         ﭨ NPX  ᮤঠ    ॣ஢. ᫨  -
         訫  ஢ - ॣ NPX,   ᭠砫  ᤥ
         ⠪, ⮡ NPX ᠫ    .
              ⮣, ⮡   ⫠ ணࠬ NPX,  ।-
          ணࠬ dump87,  ᮤঠ  ᫥饬 ࠧ, "-
          ணࠬ஢ NPX   MASM".   ணࠬ ᯮ-
             FSAVE      ﭨ  NPX    ᫥騬
         ⮡ࠦ    ⭮ ଥ  ࠭ ᯫ.  ண-
          Ŀ
           襣      襣  0,1,2 /   
          \ \ 
      (1) 1 1 0 1 1 OP-A 1 aa   1 OP-B  mmm   饭   / / 
           \ \ 
      (2) 1 1 0 1 1 **   * aa    OP-B    mmm   饭   / / 
          \ \
      (3) 1 1 0 1 1 R P * 1 1  OP-B     m    
         Ĵ
      (4) 1 1 0 1 1 0 0 1 1 1 1      OP      
         Ĵ
      (5) 1 1 0 1 1 0 1 1 1 1 1      OP      
         
           7  6  5  4  3  2  1  0  7  6  5  4  3  2  1  0
         
            室       NPX
                               OP-A  OP-B 
                             
                        ࠧ  樨
          
              *  - OP-A
              ** - ଠ
                        .10-11. ଠ ஢ 

                                      - 10-23 -
         ࠬ   饭  ⥪  祭   ࠭
           맮      室 ஢ ᫥
         NPX.   ணࠬ ᬠਢ  ᫥饬 ࠧ.

                             ଠ ஢ 

              ⥭  ⭠   NPX  㧭
             樨 FWAIT (9B),  ࠪ ࠢ-
           ,   D8  DF (⭠筮).   㭪 10-11
          ࠧ ,   ਭ ,  
          稭  樨 ⮢ 11011.

                    ਬ ணࠬ஢ NPX   MASM

               訥 孨᪨   NPX   ࠢ筨-
               (  㦥  쥧 ணࠬ஢
         NPX), 㤭  ࠡ NPX,  믮 ᪮쪮 ࠦ.
              ।⠢    NPX,  த-
          ᫥饥.   ᪮쪮 ਢ ਬ஢ ணࠬ,
              ,   ࠡ⠥ NPX,  -
           ᮧ ᢮ ᮡ⢥ ⥪ ணࠬ  NPX.

                                FWAIT  FINIT
             ભ  ࠧ,    業ࠫ   ।-
         祭  ᯮ짮 १⮢ NPX  ᭠砫 , -
           FWAIT, 㡥  ⮬,  NPX 稫 ࠡ.
               ,  NPX  樠஢  -
          ணࠬ  FINIT,    頫      
         ⮩ 樨. 室 । 믮 権 ਢ NPX
          ﭨ ⮢.

                                 ணࠬ DUMP87

                ⬥⨫,   ணࠬ DEBUG   
         ஢ ᮤন  ﭨ NPX.  ⨭ 10-1 ।⠢-
          ணࠬ,   믮  ᮤঠ NPX  ந-
           ஢.

                   ⨭ 10-1. DUMP87 - c।⢮ ⫠ NPX
         ----------------------------------------------------------------

         PAGE     60,132       ; ப ⨭
         #.8087                ; ࠧ ࠭  8087 NPX
         ;=============================================================
         ;                               
         ;
                  PUBLIC  dump87   ; । 筠 ணࠬ
         ;
         #MODEL   SMALL
         ;
         #.CODE
                  EXTRN   bin2hex:NEAR  ; 맮 筮 ணࠬ

                                      - 10-24 -
         ;=============================================================
         ; D U M P 8 7   -                      8 0 8 7
         ;
         ;  楤 믮     ﭨ  ७
         ; ᫮ ࠡ⪨ (NPX)  Intel (8087, 80287  80387) 
         ; ⥪, ⥬ ଠ  뢮   ࠭.
         ;
         ; ॡ  ⠭: 
         ; ॡ  ⥪: ᢮ 108 ⮢ ⥪
         ;
         ; ...wd -- , ।    ࠧ ᫮.
         ; ।   २⢮  ⮣, 
         ;  뢠 SW  CW ᮮ⢥  .
         ;-------------------------------------------------------------
         ;                            
         ;
         ;
         ;;  ⮡ࠧ ᨬ ( DL)
         @DisChr  MACRO  char
                  push   ax
                  push   dx
                  mov    dl,&char
                  mov    ah,02h
                  int    21h
                  pop    dx
                  pop    ax
                  ENDM
         ;;
         ;;  ⮡ࠧ ப  ⪥
         @DisStr  MACRO  string
                  push   ax
                  push   dx
                  mov    dx,offset &string
                  mov    ah,09h
                  int    21h
                  pop    dx
                  pop    ax
                  ENDM
         ;
         ;;  ⮡ࠧ ப ( DS:DX)
         @Display MACRO
                  mov    ah,09h
                  int    21h
                  ENDM
         ;
         #.DATA
         ;-------------------------------------------------------------
         ;                               
         ;
         intrpt  record master:1,nul0:1,pr:1,un:1,ov:1,zd:1,de:1,inv_op:1
         comtrol record infc:1,rndc:2,prec:2
         status  record busy:1,c3:1,stp:3,c2:1,c1:1,c0:1
         tag     record onetag:2
         ipwd    record ipseg:4,nul2:1,opcode:11 ;  樨  
                                                ; ...㪠⥫
         opwd  record opseg:4,nul3:12       ; ᥣ ࠭ 㪠⥫
         expwd record sign:1,exp:15         ;   ᯮ

                                      - 10-25 -
         ;
         ; ᭮  ।:
         enviro  STRUC
         cw87    dw  ?    ; ᫮ ࠢ
         cw87    dw  ?    ; ᫮ ﭨ
         tw87    dw  ?    ; ᫮ ਧ
         ipo87   dw  ?    ; ᬥ饭 㪠⥫ 
         ips87   dw  ?    ; ᥣ 㪠⥫    樨
         opo87   dw  ?    ; ᬥ饭 㪠⥫ ࠭
         ops87   dw  ?    ; ᥣ 㪠⥫ ࠭
         ;
         ;  ॣ:
         fltreg  STRUC
         man87   dq  ?    ;  ( )
         exp87   dw  ?    ; ᯮ  
         fltreg  ENDS
         ;
         ;  ࠭ ﭨ:
         state87 STRUC
                 db    size enviro dup (?)      ;  ।
         reg87   db    size fltreg * 8 dup (?)  ; 8 ॣ஢ 
         state87 ENDS
         ;
         dump87s STRUC         ; ଠ ⥪ 
         ;                     ; ... dump 87
         rec87   db   size state87 dup (?)  ;   ﭨ NPX
         ; oldbp dw   ?                  ;   㪠⥫
         dump87s ENDS
         ;
         BASE    EQU  [bp - size dump87s]   ;  
         ;
         #.CODE
         ;-------------------------------------------------------------
         ;                              
         ;
         dump87  PROC  NEAR
                 push  bp      ; ࠭   㪠⥫
                 pushf         ; ࠭ 䫠 뢠饣 
                 push  ds      ; ࠭ ᥣ 
                               ; ... 뢠饣 
                 mov   bp,sp   ;  ⠭ 
                 sub   sp,size dump87s  ; ᢮ ࠭⢮ 
                                        ; ... 쭮 ࠭
                 push  ax      ; ࠭ ॣ 뢠饣
                               ; ... 
                 push  ax
                 push  bx
                 push  cx
                 push  dx
                 push  di
                 push  si
         ;
                 mov   ax,cs  ; ⠭ ᥣ  
                              ; ... 㪠  
                 mov   ds,ax  ; ...   ணࠬ

                                      - 10-26 -
         ;
         ;   ७ ﭨ NPX:
                 pushf        ; ࠭ ﭨ 뢠
                              ; ... 뢠饣 
                 cli          ;  뢠  ६ 
                 FSAVE  BASE.rec87  ; ࠭ ﭨ NPX
                 FRSTOR BASE.rec87  ; ⠭ ᠭ ﭨ
                 FWAIT              ;  襭 ⠭
                 popf               ; ᭮ ࠧ 뢠?
         ;
         ;     ﭨ NPX, 㥬  
         ; 뢥 짮⥫  ନ.
         ;
         ;          ।⠢ ⮨  ᫥ 㭪⮢
         ;
         ;    ===================== NPX DUMP ==========================
         ;    Infinity:  Affine   Round.......near    Precision: 64
         ;    Inst Addr: x:xxxx   Oper Addr: x:xxxx   Opcode: Dxxx
         ;
         ;            INT PRE UND OVR ZER DEN IIP         C3 C2 C1 C0
         ;    Enable:  x   x   x   x   x   x   x          x  x  x  x
         ;    Signal:  x   x   x   x   x   x   x <-- "x" 砥 -
         ;                                                ᪨஢
         ;                                                 ᨣ
         ;           exponent       significand
         ;    ST(x)  + xxxx     xxxx xxxx xxxx xxxx    #0  tag
         ;     .
         ;     .
         ;     .
         ;    ---------------------------------------------------------
         ;
         ; ࠢ ᪮筮, 㣫  筮:
              @DisStr LINE1                 ;  ⮡ࠦ
              mov   al,byte ptr BASE.cw87+1 ;  ᫮ ࠢ
              and   al,mask infc            ; ࠢ ᪮筮
              mov   cl,infc
              shr   al,cl                   ; ᫮ #
              mul   inf_siz                 ; ᬥ饭 ᫮
              add   ax,offset inf_cnd       ;  ᫮
              mov   dx,ax
              @Display
         ;
              @DisStr rnd_lab
              mov   al,byte ptr BASE.cw87+1 ;  ᫮ ࠢ
              and   al,mask rndc            ; ࠢ 㣫
              mov   cl,rncd
              shr   al,cl                   ; ࠢ #
              mul   rnd_siz                 ; ᬥ饭 ᫮
              add   ax,offset rnd_cnd       ;  ᫮
              mov   dx,ax
              @Display
         ;
              @DisStr pre_lab
              mov   al,byte ptr BASE.cw87+1 ;  ᫮ ࠢ
              and   al,mask prec            ; ࠢ 筮
              mov   cl,prec

                                      - 10-27 -
              shr   al,cl                   ; ࠢ #
              mul   pre_siz                 ; ᬥ饭 ᫮
              add   ax,offset pre_cnd       ;  ᫮
              mov   dx,ax
              @Display
         ;
         ; ⥫   ࠭,  ⠪  樨
              @DisStr LINE2                 ; ᫥ ப
              mov   ax,BASE.ips87           ; 㪠⥫ 
              and   ax,mask ipseg           ; ᥣ
              mov   cl,ipseg
              shr   ax,cl                   ; 
              mov   ch,1                    ; ⮡ࠧ 1
              call  bin2hex
              @DisChr ':'
              mov   ax,BASE.ipo87           ; 㪠⥫ 
              mov   ch,4                    ; ᬥ饭
              call  bin2hex
         ;
              @DisStr opadr                 ; 㪠⥫ ࠭
              mov   ax,BASE.ops87           ; 㪠⥫ 
              and   ax,mask opseg           ; ᥣ
              mov   cl,opseg
              shr   ax,cl                   ; 
              mov   ch,1                    ; ⮡ࠧ 1
              call  bin2hex
              @DisChr ':'
              mov   ax,BASE.opo87           ; 㪠⥫ ࠭
              mov   ch,4                    ; ᬥ饭
              call  bin2hex
         ;
              @DisStr ocode                 ;  樨
              mov   ax,BASE.ips87
              and   ax,mask opcode
              or    ax,0800h              ;    樨
              mov   ch,3                  ; 3 
              call  bin2hex               ; ⮡ࠧ
         ;
         ;  ࠧ襭 뢠 / ᮡ 樨:
              @DisStr LINE3                 ; ᫥ ப
              mov   al,byte ptr BASE.sw87+1 ; 䫠 ࠧ襭 樨
              call  exception_flags         ;  ﭨ
         ;
         ;  ᫮:
              @DisStr space10
              mov   ah,byte ptr BASE.sw87+1 ;  ᫮
              push  ax                      ; (࠭ )
              mov   al,30h                  ; (ASCII "0")
              and   ah,mask c3              ; C3
              sub   ah,mask c3              ; 0 -> CY, 1 -> NC
              cmc                           ; 0 -> NC, 1 -> CY
              adc   al,0                    ; 0 -> "0", 1 -> "1"
              @DisChr al                    ; ⮡ࠧ
              pop   ax                      ; (࠭ )
         ;
              mov   ch,c2 + 1               ; # ⮡ࠦ 
         next_cc:

                                      - 10-28 -
              @DisStr SPACE2
         ;
              mov   al,30h                  ; (ASCII "0")
              and   ah,mask c2              ; C2
              sub   ah,mask c2              ; 0 -> CY, 1 -> NC
              cmc                           ; 0 -> NC, 1 -> CY
              adc   al,0                    ; 0 -> "0", 1 -> "1"
              @DisChr al                    ; ⮡ࠧ
         ;
              shl   ah,1                    ; ᫥騩 
              dec   ch                      ; 㬥  1 ...
              jnz   next_cc                 ; ...   
                                            ; ... 㤥 ᤥ
         ;
         ;  ﭨ 뢠 / ᮡ 樨:
              @DisStr LINE6
              mov   al,byte ptr BASE.sw87   ; 䫠 ᨣ 樨
              call  exception_flags         ;  ﭨ
         ;
         ; ⮡ࠧ ॣ :
              @DisStr LINE6
              mov   dh,8                    ; # ⮡ࠦ ॣ
              mov   si,0                    ;   ॣ #0
         ;
         register_display:
              @DisStr LINE8                 ; ॣ ﭨ
              push    dx                    ; ࠭ 
              mov     al,8                  ; ᫨ ॣ #
              sub     al,dh
              add     al,30h                ; ॢ  ASCII
              @DisChr al                    ;  ⮡ࠧ
              pop     dx
         ;
         ;  ॣ :
              @DisStr paren                 ; ᫥騬  
              mov     ax,word ptr BASE.reg87[si].exp87
              test    ax,mask sign          ;  ?
              jnz     sign_minus
              @DisStr plus
              jmp     show_exponent
         sign_minus:
              @DisStr minus
         ;
         ; ᯮ樠쭠  ॣ :
         show_exponent:
              and     ax,mask exp           ;  ᯮ
              xor     cx,cx                 ;  ᨬ
              call    bin2hex               ;  ⮡ࠧ
              @DisStr space3
         ;
              mov     di,si                 ; ᭮ ॣ
              add     di,offset exp87       ;  
              mov     dl,4                  ; 4 ᫮  ॣ
         ;
         ; ⮡ࠧ   ॣ :
         show_significand:
              sub     di,2                  ; 㪠 砫 ᫮

                                      - 10-29 -
              mov     ax,word ptr Base.reg87[di]
              call    bin2hex               ;  ⮡ࠧ
              @DisStr SPACE1
              dec     dl
              jnz     show_significand
         ;
         ; ࠢ  ॣ:
              @DisStr truenum
              mov     al,byte ptr BASE.sw87+1 ;  㪠⥫ ⥪
              and     al,mask stp
              mov     cl,stp
              shr     al,cl                 ;  㪠⥫ ⥪
         ;
              mov     cl,8                  ; ८ࠧ 稪 
              sub     cl,dh                 ; ... 祭  0  7
              add     al,cl                 ; # ⥪饣 ॣ
         ;
              push    ax                    ; ࠭  ॣ
              add     al,30h                ; ८ࠧ  ASCII
              @DisChr al                    ;  ⮡ࠧ
         ;
              @DisStr SPACE2                ; 室   TAG
         ;
         ; ﭨ ᫮ ਧ:
              mov     ax,BASE.tw87          ;  ᫮ ਧ
              pop     cx                    ;   ॣ
                                            ; ...  CL
              shl     cl,1                  ; ⭮  2
              shr     ax,cl                 ;  ᮮ⢥饥
                                            ; ... ᫮ ਧ
              and     ax,mask tag
         ;
              push    dx
              mul     tag_siz               ; ᬥ饭 ᫮
              add     ax,offset tag_cnd     ;  ᫮
              mov     dx,ax
              @Display                    ;  ﭨ ਧ
              pop     dx
         ;
         ;   ॣ  믮!
              add     si,size fltreg        ; ᫥騩 ॣ
              dec     dh                    ;   1
              jz      finished
              jmp     register_display      ;    믮
         ;
         ;  믮   ॣ஢!
         ;
         finished:
              @disStr LINE9                 ;  ᤥ!
         ;
         ; ⠭  業ࠫ   ࢮ砫쭮
         ; ﭨ.   ࠭ ॣ஢.
              pop     si                    ; ⠭ ॣ...
                                            ; ... 뢠饣 
              pop     di
              pop     dx
              pop     cx

                                      - 10-30 -
              pop     bx
              pop     ax
              mov     sp,bp               ; ⠭ ⥪
              pop     ds                  ; ⠭ ᥣ 
              popf                        ; ⠭ 䫠...
                                          ; ... 뢠饣 
              pop     bp                  ; ⠭ ...
                                          ; ...  㪠⥫
              ret                         ;  ᫥ 襭
         ;
         ;-------------------------------------------------------------
         ; ⮡ࠧ ணࠬ  뢮  ࠭ ﭨ ᪨
         ;  ᨣ ᮡ 権.
         ; ஢   AL  稥 ⮢, ᮮ⢥
         ; 䫠 ᮡ 権.
         ;
         exception_flags PROC   NEAR
              test    al,mask master      ;  ࠢ
              call    mark_it
         ;
              mov     cl,pr               ; ᫥騬  䫠 PR
              ror     al,cl               ; ३  ࢮ 樨
              inc     cl                  ;  1 >  #
         ;
         test_exception:
              test    al,1                ; 䫠 ⠭?
              call    mark_it
              rol     al,1                ; ᫥騩 蠣
              dec     cl                  ; ᫥  ⮬
              jnz     test_exception      ; த  襭
              ret
         ;
         ;-------------------------------------------------------------
         ; ⬥ १  ᮮ⢥⢨  ⠭묨 䫠
         ; .
         ;
         mark_it PROC NEAR
              jz      mark_space
              @DisStr marky
              ret
         mark_space:
              @DisStr markn
              ret
         mark_it ENDP
         ;
         exception_flags ENDP
         ;
         #.DATA
         ;-------------------------------------------------------------
         ;                            DUMP87
         ;
         ;       -------  ࠧ ⮫쪮 뢠 -------
         ;
         ; "_lab" - ⪠ ࠧ
         ; "_cnd" - ᫮  ⪨
         ; "_siz" - ᫮ ⮢  ᫮
         ;

                                      - 10-31 -
         @CRet   MACRO            ;;  ம। ப
                 db       0Dh,0Ah
                 ENDM
         ;
         LINE1   EQU      $
                 @CRet
                 db '=====================NPX DUMP ====================
                 db '==='
                 @CRet
                 db         'Infinity:  $'
         rnd_lab db         '    Round:........ $'    ; ⪠
         pre_lab db         '    Precision:  $'       ; ⪠
         inf_lab db         7
         inf_cnd db         'Proj. $'     ; ﭨ ᪮筮
                 db         'Affine$'     ; ﭨ ᪮筮
         rnd_siz db         5
         rnd_cnd db         'near$'       ; ﭨ 㣫
                 db         'down$'       ; ﭨ 㣫
                 db         'up  $'       ; ﭨ 㣫
                 db         'chop$'       ; ﭨ 㣫
         pre_siz db         3
         pre_cnd db         '24$'         ; ﭨ 筮 "ret"
                 db         '**$'         ; ﭨ 筮 "ret"
                 db         '53$'         ; ﭨ 筮 "ret"
                 db         '64$'         ; ﭨ 筮 "ret"
         ;
         LINE2   EQU        $
                 @CRet
                 db         'Inst Addr: $'      ; "x:xxxx"
         opadr   db         '    Oper Addr: $'  ; "x:xxxx"
         ocode   db         '    Opcode:  D$'   ; "xxx","ret","ret"
         ;
         LINE3   EQU        $
                 @CRet
                 @CRet
                 db         '    INT PRE UND OVR ZER DEN IOP'
                 db         '       C3 C2 C1 C0'
                 db         'Masked:$'
         ;                   ᫮          "ret"
         LINE6   EQU        $
                 @CRet
                 db         'Signal:$'          ; "ret"
         marky   db         ' x  $'
         markn   db         '    $'
         ;
         LINE8   EQU        $
                 @CRet
                 db         'ST($'              ; "x"
         paren   db         ')   $'
         plus    db         '+ $'
         minus   db         '- $'               ; "xxxx"
         space10 db         '          '        ; 10 ஡
         SPACE2  EQU        $ + 1               ; 2 ஡
         SPACE1  EQU        $ + 2               ; 1 ஡
         space3  db         '   $'              ; 3 ஡
                                                ; "xxxx" 4 ࠧ
         truenum db         ' #$'               ; " #x", 祬 䫠 " "

                                      - 10-32 -
         tag_siz db         6
         tag_cnd db         'Valid$'            ; ﭨ ਧ
                 db         'Zero $'            ; ﭨ ਧ
                 db         'Spec.$'            ; ﭨ ਧ
                 db         'Empty$'            ; ﭨ ਧ
         ;
         LINE9   EQU        $
                 @CRet
                 db         '----------------------------------------'
                 db         '--------'
         CRLF    EQU        $
                 @CRet
                 db         '$'
         ;
         #.CODE
         ;
         dump87  ENDP
         ;=============================================================
                 END             ;  ணࠬ()
         ----------------------------------------------------------------
             ணࠬ DUMP87  砥  ⮡ࠦ ଠ  
          NPX FSAVE.    ࠭ ﭨ NPX  94 -
           ଠ,    㭪 10-12.    , FSAVE
         樠 NPX ⠪  ࠧ,   ᫨  뫠  믮
          FINIT.   ᫮ ணࠬ ࠭  -
         ﭨ NPX  ⥬ 樠஢   ,  
         筠  饭    ⥪  ॣ஢    ⪥  
         ணࠬ  業ࠫ쭮 .      ⨬
         த  ࠡ  뢠,  室  FSAVE
          FRSTOR,    㦠 NPX,  室  -
          ଠ樨.
              㭪 10-12 ,    14 ⮢ ࠭ -
         ଠ樨  ⠬, ࠭  FSTENV (࠭
         ।).  FSTENV  २樠 NPX; ᪮॥,  ।-
         祭    ।⠢ ணࠬ 㯠  ଠ樨,
         室  ࠡ⪨ ᮡ  権:  ᫮  ﭨ,  
         ⠪ 㪠⥫   ࠭.  FSAVE  FSTENV 
         ᮢ㯭  FLDENV,   १㧨 ।, -
         室  ࠭ ଠ樨.

                          ᯮ짮 ணࠬ DUMP87

               ணࠬ 祣    NPX.   -
            ।  MASM  ࠧ ଠ-
         樨, 祭    FSAVE,  ।⠢  -
         ⥫.  ଠ,  ᯮ짮   ।⠢ ଠ樨,
         ᠭ  ࠧ  ணࠬ.  ணࠬ,  ਢ  
         ⨭,  ਣ    ࠭樨    祭  
         䠩. ᫨  믮 㪠 楤, ணࠬ DUMP87 -
             祭    㣮 䠩 ⥬ ᮯ⠢ 
         ᥣ   DUMP87,  ।⢮ ᠭ   譥  
         ᯥ祭 譥 ணࠬ BIN2HEX.   ᯮᮡ ᯮ짮-
          DUMP87 룫廊 ᫥騬 ࠧ:
         code    segment para public 'code'  ;  ᥣ
                 aasume  cs:code,ds:code,es:code,ss:code
                 extrn   dump87:near         ;  
                 ORG     0100h               ;  .COM
         main    proc    far
         start:

                                      - 10-33 -
                              FSAVE
                            (94 )
         Ŀ
                                  Ŀ
                                                                
                                                            ࠢ
                                                           Ĵ
                                                                 
                                                            ﭨ
  FSTENV                                                    Ĵ
   (14                                                          
   )                                                     ਧ 
                                             Ĵ
                                                       ⥫  
                                              樨       
                                              Ĵ
                                           ⥫  
                                                          ࠭  
        Ĵ
                                                                     
    ST(0) ᯮ⠳                                         
         Ĵ
                                                                     
    ST(1)                                                            
         Ĵ
                                                                     
    ST(2)                                                            
         Ĵ
                                                                     
    ST(3)                                                            
         Ĵ
                                                                     
