
FXTRACT - 뤥 ᯮ  

-----------------------------------------------------------------
|        ᫮       ࠫ-  ᠭ                 |
|樨          ⠪⮢    쭮                          |
|                  横      믮-                           |
|                                                          |
|D9 F4    FXTRACT  19(16-20)   4(2-4)   ST  ᯮ-|
|                                        : ST - |
|                                       ᯮ⮩,     |
|                                       頥     |
|                                      ⥪ FPU                 |
-----------------------------------------------------------------


 

६ <-  ST;
ST <- ᯮ ST;
६ 㪠⥫ 設 ⥪ FPU;
ST <- ६;

ᠭ
FXTRACT ࠧ 祭  ST  ᯮ  . ᯮ  室 ࠭  ⥪,  ⥬  ⥪ 頥 . ᫥ 믮  FXTRACT ST ( 設 ⥪) ᮤন 祭 室 , ࠦ ⢨⥫ ᫮:    ,    ࠭, ᯮ ࠢ ⨭  (16.383  3FFFH  ᬥ饭),   筠  室 ࠭. ST(1) ᮤন 祭 ⨭ (ᬥ饭) ᯮ 室 ࠭, ࠤ ⢨ ᫮.
 ⮣, ⮡ ந஢ ࠡ  FXTRACT, ।,  ST ᮤন ᫮, ⨭ ᯮ ண ࠢ +4 (..   ᯮ ᮤন 4003H). ᫥ 믮 FXTRACT ST(1) 㤥 ᮤঠ ⢨⥫쭮 ᫮ +4.0;   㤥 ⥫,  ᯮ 㤥 ᮤঠ 4001H (⨭ +2),    㤥 ᮤঠ 1 00..00. 㣨 ᫮, 祭  ST(1) 㤥 ࠢ 1.0 x 2* *2 = 4. ᫨ ST ᮤন ࠭, ⨭  ண ࠢ -7 (..  ᯮ  ᮤন 祭 3FF8H),  FXTRACT  "ᯮ" ࠢ -7.0l ᫥ 믮   ST(1)   ᯮ  ᮤঠ C001H (⥫ , ⨭ ᯮ 2),   㤥 ࠢ 1 1100..00. 㣨 ᫮, 祭  ST(1) 㤥 ࠢ -1.75 x 2**2 = -7.0.    ᫥ FXTRACT  ST     ࠢ ᮮ⢥騬  室 ࠭,   ᯮ 㤥 ᮤঠ 3FFFH (⨭ 0).
塞 䫠  権  饩 窮
1,  ᠭ   15-1; C0, C2, C3  ।.
᪫祭 ᫮ 権
Z, D, I, IS
᪫祭 饭 ०
#NM  ⠭ EM  TS  CR0.
᪫祭 ० ॠ ᮢ
뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
#NM  ⠭ EM  TS  CR0.
ਬ砭
FXTRACT (뤥 ᯮ  ) 믮 ⢮ ४㥬 IEEE 㭪樨 logb(x).
᫨ 室 ࠭ ࠢ ,  FXTRACT ⠢  ST(1)  ᪮筮 (ᯮ),  ST 㤥 ᢮ 㫥 祭  , ࠢ  室 ࠭.  ⮬ 砥 ⠪  ஢ ᪫祭   .
ST(7)   , ⮡  ᪫祭 ୮ 樨.
 ST(7)   믮 権 ⠡஢ ⥯  .  믮 饩 樨   ⥯ ᯮ  , FXTRACT   ᯮ஢  ᭮ 2 F2XM1.  ८ࠧ ᥫ  ७ ⢨⥫쭮 ଠ  筮 ।⠢ (ਬ,    뢮  ᯫ) ॡ  ⮫쪮  FBSTP,    FXTRACT,  ⠡஢,  饥  ९  ७ ଠ. FXTRACT ⠪     ⫠, ᪮  ⤥쭮 ᬠਢ ᯮ   ⢨⥫쭮 ᫠. 

FYL2X - ᫥  y  x  log x
                             2
-----------------------------------------------------------------
|        ᫮       ࠫ-  ᠭ                 |
|樨          ⠪⮢    쭮                          |
|                  横      믮-                           |
|                                                          |
|D9 F1    FYL2X  311(196-329)  13       ST(1)           |
|                                      ST(1) x log ST   - |
|                                                 2             |
|                                      祭  ⥪ ST        |
-----------------------------------------------------------------

 

ST(1) <- ST(1) x log ST;
                    2
祭  ⥪ ST;

ᠭ
 FYL2X   ST  ᭮ 2, 㬭   ST(1)  頥 祭 祭  ST(1). ࠭  ST    ⥫.
塞 䫠  権  饩 窮
C1,  ᠭ   15-1; C0, C2, C3  ।.
᪫祭 ᫮ 権
P, U, O, Z, D, I, IS
᪫祭 饭 ०
#NM  ⠭ EM  TS  CR0.
᪫祭 ० ॠ ᮢ
뢠 7  ⠭ EM  TS  CR0.
᪫祭 㠫쭮 ० 8086
#NM  ⠭ EM  TS  CR0.
ਬ砭
᫨ ࠭  ST ⥫,   ᪫祭 ୮ 樨.
 FYL2X ।祭, ᮢ⭮  ஥ 㬭,  ⨬樨 ᫥ 䬮  ந ⥫ ᭮: 
                    1
     log x = (log b)   x  log  x
        b        2           2

 FLDL2T  FLDL2E 㦠 ⠭ log 10   log e,
                                               2        2
ᮮ⢥⢥.

ࠫ  i486 ਮ᪨  ६ 믮   ஢ 뢠.  㦨 뢠 믮   ⬥ (abort). 

FYL2XP1 - ᫥  y  x  log (x+1)
                              2

-----------------------------------------------------------------
|        ᫮       ࠫ-  ᠭ                 |
|樨          ⠪⮢    쭮                          |
|                  横      믮-                           |
|                                                          |
|D9 F9  FYL2XP1  313(171-326)  13       ST(1)           |
|                                      ST(1) x log (ST+1.0)    |
|                                                 2             |
|                                      祭  ⥪ ST   |
-----------------------------------------------------------------

 

ST(1) <- ST(1) x log (ST+1.0);
                    2
祭  ⥪ ST;

ᠭ
 FYL2X   (ST+1.0)  ᭮ 2, 㬭   ST(1)  頥 祭 祭  ST (1). ࠭  ST    :
-(1-(.७  2/2)) <= ST <= .७  2 - 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.
ਬ砭
᫨ ࠭  ST   ⨬ ,  १ 믮  FYL2XP1 ।.
 FYL2Xp1 ᯥ稢 襭 筮 ࠢ⥫쭮  FYL2X  ᫥ 䬮 ᥫ, 祭   1.   祭 ᨫ 襥 ⢮    , । ᨫ  㬥  FYL2XP1, 祬 । 1+ᨫ  FYL2X.
ࠫ  i486 ਮ᪨  ६ 믮   ஢ 뢠.  㦨 뢠 믮   ⬥ (abort). 

HLT - ⠭

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
| F4        HLT        4       ⠭                          |
-----------------------------------------------------------------

 

室  ० ⠭.

 ᠭ
 HLT ⠭ 믮   ॢ   ० HLT. 믮 㤥 த ᫥ ࠧ襭 뢠, ᪨㥬 뢠  . ᫨   믮 ᫥  HLT ᯮ 뢠 ( ᪨㥬),  ࠭ 祭 CS:IP ( CS:EIP) 㤥 㪠뢠  , ᫥   HLT.
塞 䫠

᪫祭 饭 ०
 HLT  ਢ஢ ; #GP(0), ᫨ ⥪騩 ஢ ਢ஢  ࠢ 0.
᪫祭 ० ॠ ᮢ

᪫祭 㠫쭮 ० 8086
#GP(0);  HLT  ਢ஢ . 

IDIV -   

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
|F6 /7    IDIV r/m8     19/20     AX   r/m |
|                              (AL=⭮, AH=⮪)         |
|F7 /7    IDIV AX,r/m16 27/28     DX:AX  ᫮ |
|                              EA  (AX=⭮, DX = ⮪)   |
|F7 /7    DIV EAX,r/m32 43/44     EDX:EAX      |
|                               ᫮ r/m                |
|                              (EAX=⭮,EDX = ⮪)      |
-----------------------------------------------------------------

 

६ <-  / ⥫;
IF ६  頥  ⭮
THEN 뢠 0;
ELSE
  ⭮ <- ६;
  ⮪ <-  MOD (r/m);
FI;

砭:   . ⥫   ࠭ r/m. , ⭮  ⮪ ᯮ   ॣ. . ⠡  ࠣ "ᠭ".
ᠭ
 DIV 믮   . , ⭮  ⮪  । 䨪஢ ॣࠬ. 쪮 ⥫    ࠭ r/m (ॣ/).  ⥫ । ᯮ㥬 ॣ ᫥騬 ࠧ: 

-----------------------------------------------------------------
        ⥫      ⭮      ⮪      
-----------------------------------------------------------------
          r/m8          AL           AH           AX
  ᫮       r/m16         AX           DX           DX:AX
  
  ᫮       r/m32         EAX          EDX          EDX:EAX
-----------------------------------------------------------------

᫨ 祭 ⭮ ᫨誮       ࠭ 祭,     0,  뢠 0. 楫  ᥪ  0. ⮪    ,   ,   ᮫⭮ 祭 ᥣ  ᮫⭮ 祭 ⥫.
塞 䫠
 OF, SF, ZF, AF, PF, CF  ।.
᪫祭 饭 ०
뢠 0, ᫨ ⭮ ᫨誮   祭   ॣ (AL  AX),  ᫨ ⥫ ࠢ 0; #GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; # AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 0, ᫨ ⭮ ᫨誮   祭   ॣ (AL  AX),  ᫨ ⥫ ࠢ 0; 뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3. 

IMUL -   

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
|F6 /5    IMUL r/m8    13-18/13-18  AX <- AL *  r/m         |
|F7 /5    IMUL r/m16   13-26/13-26  DX:AX <- AX * ᫮ r/m     |
|F7 /5    IMUL r/m32   12-42/13-42  EDX:EAX <- EAX *     |
|                                   ᫮ r/m                   |
|0F AF /r IMUL r16,    13-26/13-26  ॣ-᫮ <- ॣ-   |
|           r/m16                   ᫮ * ᫮ r/m           |
|0F AF /r IMUL r32,    13-42/13-42  ॣ- ᫮ <-    |
|           r/m32                   ॣ- ᫮ *     |
|                                    ᫮ r/m           |
|6B /r ib IMUL r16,    13-26/13-26  ॣ-᫮ <- r/m16 *    |
|         r/m16,imm8                ७  ।-|
|                                   ⢥                |
|6B /r ib IMUL r32,    13-42/13-42  ॣ- ᫮ <-    |
|         r/m32,imm8                r/m32 * ७   |
|                                   ।⢥        |
|6B /r ib IMUL r16,    13-26        ॣ-᫮ <- ॣ-   |
|               imm8                ᫮ * ७   |
|                                   ।⢥        |
|6B /r ib IMUL r32,    13-26        ॣ- ᫮ <-    |
|               imm8                ॣ- ᫮ * -|
|                                   ७  . |
|69 /r iw IMUL r16,    13-26/13-26  ॣ-᫮ <- r/m16 *    |
|         r/m16,imm16               ।⢥ ᫮      |
|69 /r id IMUL r32,    13-42/13-42  ॣ- ᫮ <-    |
|         r/m32,imm32               r/m32 * ।⢥    |
|                                    ᫮               |
|69 /r iw IMUL r16,    13-26/13-26  ॣ-᫮ <- r/m16 *    |
|               imm16               ।⢥ ᫮      |
|69 /r id IMUL r32,    13-42/13-42  ॣ- ᫮ <-    |
|               imm32               r/m32 * ।⢥    |
|                                    ᫮               |
-----------------------------------------------------------------

ਬ砭:  i486 ᯮ  㬭 ⨯ "early-out". ᪮ ᫮ ⠪⮢ 横   樨  饣   ⨬㥬 ⥫. ⨬ 믮   ⥫, ⠪   ⥫ 祭. ᫥⢨  ⬠    ᨬ ⢠ ⠪⮢ 横.  ᫥ 䠪᪮ ᫠ ⠪⮢ 横 ᯮ ᫥ 㫠: 

᪮ ᫮ ⠪⮢ 横 = ᫨ m <> 0 
max(襥 楫 ᫮, 襥 (log |m|)) + 6 横.
                                        2
᪮ ᫮ ⠪⮢ 横 = ᫨ m = 0  9 横.
( m  ⥫)
᫨ ⥫  ࠭ ,  ਡ  横.
 
१ <-  * ⥫
ᠭ
 IMUL 믮 㬭  .   ⮩  ᯮ  ࠭-ॣ. 樨 ࠭        "ᠭ" .
 IMUL 頥 䫠 OF  CF  ᫥ ᫮: 

-----------------------------------------------------------------
   ଠ        |      ᫮ ⪨ 䫠 CF  OF
-----------------------------------------------------------------
     r/m8                 AL = ७  AL  16 ⮢
     r/m16                AX = ७  AX  32 ⮢
     r/m32                EDX:EAX = ७  EAX  16
                          ⮢
     r16,r/m16              筮 頥  r16
     r32,r/m32              筮 頥  r32
     r16,r/m16,imm16        筮 頥  r16
     r32,r/m32,imm32        筮 頥  r32
-----------------------------------------------------------------

塞 䫠

 OF  CF ᠭ   ࠧ "ᠭ"; 䫠 SF, ZF,
AF, PF  ।.

᪫祭 饭 ०
#GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
ਬ砭
 ᯮ짮    (IMUL r/m8, IMUL r /m16  IMUL r/m32) १ 㬭 㯥   ⠭ 䫠 ९, ᪮ ࠧ १   ࠧ ॢ蠥 ࠧ   ⥫.  筮  ࠡ⪨   १. 

IN -   

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
|E4 ib    IN AL,imm8  14,pm=8*/        ।⢥-|
|                     28**,vm=27        AL     |
|E5 ib    IN AX,imm8  14,pm=8*/      ᫮  ।⢥-|
|                     28**,vm=27        AX     |
|E5 ib   IN EAX,imm8  14,pm=8*/       ᫮  -|
|                     28**,vm=27    ।⢥   |
|                                    EAX                       |
|EC       IN AL,DX    14,pm=8*/         DX  AL |
|                     28**,vm=27                                |
|ED       IN AX,DX    14,pm=8*/      ᫮   DX  AX  |
|                     28**,vm=27                                |
|ED      IN EAX,DX    14,pm=8*/       ᫮  |
|                     28**,vm=27    DX  EAX                    |
-----------------------------------------------------------------

     ਬ砭: * ᫨ CPL <= IOPL
                ** ᫨ CPL >= IOPL

 

IF (PE = 1) AND ((VM = 1) OR (CPL > IOPL))
THEN (* 㠫 ० 8086  饭  ०    CPL  >
        IOPL *)
  IF NOT I-O-Permission(SRC, width(SRC))
  THEN #GP(0);
  FI;
FI;
DEST <- [SRC]; (* ⥭  ᭮ ࠭⢠ /뢮 *)

ᠭ
 IN 뫠   ᫮    ᫮  ஬ ࠭   ॣ (AL, AX  EAX),   ࠭.      0  65535 믮 ⥬ 饭    ॣ DX  ᯮ짮  IN  ॣ஬ DX  ⢥ ண ࠬ.   /뢮   ᪮쪮   ᯮ짮 /뢮 १ 8-⮢   . 訥 ᥬ ⮢    ᯮ짮 /뢮 १ 8-⮢   ࠢ 0.
塞 䫠

᪫祭 饭 ०
#GP(0), ᫨ ⥪騩 ஢ ਢ஢  (.. ਢ஢ ) ஢ ਢ஢ /뢮 (IOPL)  ᫨   ᮮ⢥ ⮢ ࠧ襭 /뢮  TSS ࠢ 1.
᪫祭 ० ॠ ᮢ

᪫祭 㠫쭮 ० 8086
 #GP(0), ᫨   ᮮ⢥ ⮢ ࠧ襭 /뢮  TSS ࠢ 1. 

INC - ६  1

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
|FE /0     INC r/m8  1/3       ६  r/m  1         |
|FF /0     INC r/m16 1/3       ६ ᫮ r/m  1         |
|FF /6     INC r/m32 1/3       ६  ᫮ r/m  1|
|40 + rw   INC r16   1         ६ ᫮  ॣ  1  |
|40 + rd   INC r32   1         ६  ᫮         |
|                               ॣ  1                  |
-----------------------------------------------------------------

 

DEST <- DEST + 1;

ᠭ
 DEC ਡ 1  ࠭.  INC   䫠 CF.  ⢨  䫠 CF ᯮ  ADD  ।⢥ ࠭, ࠢ 1.
塞 䫠
 OF, SF, ZF, AF  PF ⠭  ᮮ⢥⢨  १⮬.
᪫祭 饭 ०
#GP(0), ᫨ १    ᥣ,  ண 饭 ; #GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3. 

INS/INSB/INSW/INSD  -     ப

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
|6C      INS r/m8,DX  17,pm=10*/        DX     |
|                     32**,vm=30    ES:(E)DI                    |
|6D      INS r/m16,DX 17,pm=10*/     ᫮   DX     |
|                     32**,vm=30    ES:(E)DI                    |
|6D      INS r/m32,DX 17,pm=10*/      ᫮       |
|                     32**,vm=30     DX  ES:(E)DI         |
|6C      INSB         17,pm=10*/        DX     |
|                     32**,vm=30    ES:(E)DI                    |
|6D      INSW         17,pm=10*/     ᫮   DX     |
|                     32**,vm=30    ES:(E)DI                    |
|6D      INSD         17,pm=10*/      ᫮  |
|                     32**,vm=30    DX  ES:(E)DI               |
-----------------------------------------------------------------

     ਬ砭: * ᫨ CPL <= IOPL
                ** ᫨ CPL >= IOPL

 

IF AddressSize = 16
THEN ᯮ짮 DI  樨 祭;
ELSE (* AddressSize = 32 *)
     ᯮ짮 EDI  樨 祭;
FI;
IF (PE = 1) AND ((VM = 1) OR (CPL > IOPL))
THEN (* 㠫 ० 8086  饭  ०    CPL  >
        IOPL *)
  IF NOT I-O-Permission(SRC, width(SRC))
  THEN #GP(0);
  FI;
FI;
IF  ⮢ ⨯
THEN
  ES:[-祭] <- [DX];  (* ⥭     ᭮
      ࠭⢠ /뢮 ᮣ᭮ DX *)
  IF DF = 0 THEN IncDec <- 1 ELSE IncDec <- -1; FI;
FI;
IF AddressSize = 16
THEN
  ES:[-祭] <- [DX];  (* ⥭ ᫮    ᭮
      ࠭⢠ /뢮 ᮣ᭮ DX *)
  IF DF = 0 THEN IncDec <- 2 ELSE IncDec <- -2; FI;
FI;
IF AddressSize = 32
THEN
  ES:[-祭] <- [DX];  (* ⥭  ᫮
        ᭮ ࠭⢠ /뢮 ᮣ᭮ DX *)
  IF DF = 0 THEN IncDec <- 4 ELSE IncDec <- -4; FI;
FI;
-祭 <- -祭 + IncDec;

 ᠭ
 INS 뫠    ॣ஬ DX       ᫮    ES:-祭. ࠭   ᮢ ॣ஬ ES; ८। ᥣ .  祭 -  ॣ DI, ᫨ ਡ ࠧ   ࠢ 16 ⠬,  ॣ EDI, ᫨ ਡ ࠧ  ࠢ 32 .
 INS      ।⢥ 祭.   ᮢ 祭  ॣ DX. । 믮  INS  DX   㦥 ࠢ쭮 祭.
 祭 । ᮤন ॣ  祭. । 믮  INS  ॣ  祭   㦥 ࠢ쭮 祭.
᫥ 믮 뫪 ॣ DI  EDI ⮬᪨ 砥 ᮮ⢥饥 饭. ᫨ 䫠 DF ࠢ 0 (뫠 믮  CLD),  ந室 ६ ॣ஢ DI  EDI; ᫨ 䫠 DF ࠢ 1 (뫠 믮  STD),  ந室 ६ ॣ஢ DI  EDI. ६  ६ ॣ஢ ࠢ 1   , 2   ᫮  4    ᫮.
 INSB, INSW  INSD -  ᨭ  INS, ࠡ騥  ⮬, ᫮   ᫮, ᮮ⢥⢥.  INS  ।⢮ 䨪 REP   , ࠢ CX ⮢  ᫮.   ᠭ   REP.
塞 䫠

᪫祭 饭 ०
#GP(0), ᫨ ⥪騩 ஢ ਢ஢ ᫥  ஢ ਢ஢ /뢮 (IOPL)  ᫨   ᮮ⢥ ⮢ ࠧ襭 /뢮  TSS ࠢ 1. #GP (0), ᫨ १    ᥣ,  ண 饭 ; #GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.
᪫祭 㠫쭮 ० 8086
 #GP(0), ᫨   ᮮ⢥ ⮢ ࠧ襭 /뢮  TSS ࠢ 1. #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3. 

CALL/INTO - 맮 楤 뢠

-----------------------------------------------------------------
|            ᫮      ᠭ                      |
|樨              ⠪⮢                                 |
|                      横                                   |
|                                                               |
|CC        INT 3       26        뢠 3 -                 |
|                                誠  ⫠稪          |
|CC        INT 3       44        뢠 3 -饭 ०,|
|                                  ਢ஢      |
|CC        INT 3       71        뢠 3 -饭 ०,|
|                                 ਢ஢    |
|CC        INT 3       82        뢠 3 -  ० V86, |
|                                ஢ ਢ- PL 0           |
|CC        INT 3       37+TS     뢠 3 -饭 ०,|
|                                १                |
|CD ib     INT imm8    30        뢠,  ।- |
|                                ⢥ ⮬                |
|CD ib     INT imm8    44        뢠  - 饭 ०,|
|                                  ਢ஢      |
|CD ib     INT imm8    71        뢠  - 饭 ०,|
|                                 ਢ஢    |
|CD ib     INT imm8    86        뢠  -   ० V86, |
|                                ஢ ਢ- PL 0           |
|CD ib     INT imm8    37+TS     뢠  - 饭 ०,|
|                                १                |
|CE        INTO     ᯥ譮:28   뢠 4 - ᫨ 䫠 - |
|                      : 3    ࠢ 1               |
|CE        INTO        46        뢠 4 -饭 ०,|
|                                  ਢ஢      |
|CE        INTO        73        뢠 4 -饭 ०,|
|                                 ਢ஢    |
|CE        INTO        84        뢠 4 -  ० V86, |
|                                ஢ ਢ- PL 0           |
|CE        INTO        39+TS     뢠 4 -饭 ०,|
|                                १                |
-----------------------------------------------------------------

ਬ砭: ਡ 祭 ts  ᫥饩 ⠡楩:

-----------------------------------------------------------------
                     |           
         |-------------------------------------------
                     |  TSS i486 |  TSS 80286 |  TSS VM
-----------------------------------------------------------------
 VM/i486/TSS 80286   |     199    |     180     |     177
-----------------------------------------------------------------

 

ਬ砭: 饥 樮 ᠭ ਬ  ⮫쪮
 㯮 ,    譨 뢠 
᪫祭.

IF PE = 0
THEN GOTO --;
pELSE GOTO  ;
FI;

-_:
  Push(FLAGS);
  IF <- 0; (*  䫠 뢠 *)
  TF <- 0; (*  䫠 誨 *)
  Push(CS);
  Push(IP);
  (*  訡  ⥪  頫 *)
  CS <- IDT[ 뢠 * 4].ᥫ;
  IP <- IDT[ 뢠 * 4].ᬥ饭;

-:
   뢠    । ࠭ ⠡ IDT,
      #GP(  * 8 + 2 + EXT);
   ਯ AR  㪠뢠    뢠,  
                                          誨   ,
      #GP(  * 8 + 2 + EXT);
  IF ணࠬ  뢠 (* ..  맢 INT n,  INT 3 
                                          INTO *)
  THEN
    IF DPL ਯ  < CPL
    THEN #GP(  * 8 + 2 + EXT);
    FI;
  FI;
    ⢮,   #NP(  * 8 + 2  +
                                          EXT);
  IF  誨 OR  뢠
  THEN GOTO ----;
  ELSE GOTO -;
  FI;

----:
  ᬮਬ ᥫ  CS    ਯ,    ਯ
                               ;
     -,  #GP(EXT);
      ࠭  ਯ୮ ⠡
    ELSE #GP(ᥫ+EXT);
   ਯ AR  㪠뢠  ᥣ
    ELSE #GP(ᥫ+EXT);
    ⢮,  #NP(ᥫ+EXT);

  IF -ଭ  ᥣ AND DPL < CPL
  THEN GOTO ----;
  ELSE
    IF ଭ  ᥣ AND DPL = CPL
    THEN GOTO -----;
    ELSE #GP(ᥫ CS + EXT);
    FI;
  FI;

----:
  ஢ઠ ᥫ  ਯ  ⥪  ⥪饬 TSS;
       -,  #TS(EXT);
     ᥫ    ࠭ ਯ୮ ⠡
      ELSE #TS(ᥫ SS + EXT);
    RPL ᥫ   ࠢ DPL  ᥣ
      ELSE #TS(ᥫ SS + EXT);
    RPL ᥣ ⥪   ࠢ DPL  ᥣ
      ELSE #TS(ᥫ SS + EXT);
    ਯ  㪠뢠  㯭     ᥣ
            
      ELSE #TS(ᥫ SS + EXT);
      ⢮
      ELSE #SS(ᥫ SS + EXT);
  IF 32-⮢ 
  THEN  ⥪     20 ⮢  #SS(0)
  ELSE  ⥪     10 ⮢  #SS(0)
  FI;
  ⥫         ࠭  ᥣ  CS 
                           #GP(0);
  㧪  祭 SS  eSP  TSS;
  IF 32-⮢ 
  THEN CS:EIP <- ᥫ:ᬥ饭  ;
  ELSE CS:IP <- ᥫ:ᬥ饭  ;
  FI;
  㧪 ਯ CS    ॣ CS;
  㧪 ਯ SS    ॣ SS;
  IF 32-⮢ 
  THEN
    Push (쭨 㪠⥫   ⥪) (* 3 ᫮ 
                     ⥫ﬨ  4 *);
    Push (EFLAGS);
    Push (쭨   㪠⥫      )  (*  3  ᫮
                      ⥫ﬨ  4 *);
  ELSE
    Push (쭨 㪠⥫   ⥪) (* 2 ᫮ *)
    Push (FLAGS);
    Push (쭨   㪠⥫      )  (* 2 ᫮ *)

  FI;
  ⠭ CPL  祭 DPL   ᥣ;
  ⠭ RPL CS  祭 CPL;
  IF    뢠   THEN  IF  <-  0  (*  䫠  뢠  0
               (饭)  *);  FI;
  TF <- 0;
  NT <- 0;


---V86:
  ६EFlags <- EFLAGS;
  VM <- 0;
  TF <- 0;
  IF 㦨 १  뢠 THEN IF <- 0;
  ६SS <- SS;
  ६ESP <- ESP;
  SS <- TSS.SS0; (*   ⥪ ᥣ ஢ 0 *)
  ESP <- TSS.ESP0; (*   ⥪ ᥣ ஢ 0 *)
  Push(GS);  (*    ᫮ *)
  Push(FS);  (*    ᫮ *)
  Push(DS);  (*    ᫮ *)
  Push(ES);  (*    ᫮ *)
  GS <- 0;
  FS <- 0;
  DS <- 0;
  ES <- 0;
  Push(६SS);  (*    ᫮ *)
  Push(६ESP);
  Push(६Eflags);
  Push(CS);  (*    ᫮ *)
  Push(EIP);
  CS:EIP <- ᥫ:ᬥ饭   뢠;
(* 稭 믮  ணࠬ  饭 ० *)

-----:
  IF 32-⮢ 
  THEN ࠭  ⥪饣  ⥪    㤠 10
        ⮢,  #SS(0);
  ELSE ࠭  ⥪饣  ⥪    㤠 6
        ⮢,  #SS(0);
  FI;
  IF 뢠 뫮 맢 ᪫祭   訡
  THEN ࠭  ⥪    㤠  2 ;
  ELSE #SS(0);
  FI;
  ⥫   室  ࠭ CS,  #GP(0);
  IF 32-⮢ 
  THEN
    Push(EFLAGS);
    Push(쭨 㪠⥫      );  (*  3   ᫮,
           4 ᫮  *)
    CS:IP <- ᥫ:ᬥ饭  ;
  ELSE (* 16-⮢  *)
    Push(FLAGS);
    Push(쭨 㪠⥫      );  (*  2 ᫮ *)
    CS:IP <- ᥫ:ᬥ饭  ;
  FI;
  㧪 ਯ CS    ॣ CS;
  ⠭  RPL CS ࠢ CPL;
  Push( 訡); (* ᫨   *)
  IF  뢠 THEN IF <- 0; FI;
  TF <- 0;
  NT <- 0;

-:
  ᬮਬ ᥫ  CS,   ਯ  ;
        /        祭
               ,  #TS(ᥫ TSS);
        ࠭ GDT,  #TS(ᥫ TSS);
     AR   㯭 TSS (  00001),
       #TS(ᥫ TSS);
    TSS  ⢮,  #NP(ᥫ TSS);
  -    TSS;
  IF 뢠 뫮 맢 ᡮ   訡
  THEN
    ࠭ ⥪    㤠  2 ,
        ##SS(0);
    饭  ⥪  訡;
  FI;
  ⥫     । CS,  #GP(0);


ᠭ
 INT n ணࠬ  맮 ࠡ稪 뢠. ।⢥ ࠭,  0  255,     ⠡ ਯ஢ 뢠 (IDT)  뢠 ணࠬ 뢠.  饭 ० IDT ⮨  ᨢ 쬨-⮢ ਯ஢; ਯ  ⨢஢ 뢠    뢠, 誨  .  ० ॠ ᮢ IDT ।⠢ ᮡ ᨢ  㪠⥫    .  饭 ०  ० ॠ ᮢ    IDT । ᮤন IDTR.
᫮  INTO 筠  뢠 INT n,  ᪫祭 ⮣,   뢠  ⠭ ࠢ 4,  뢠 ந室 ⮫쪮  ⠭ 䫠 ९  i486.
 32 뢠 १ࢨ஢ Intel  ⥬ 楫.    뢠 ᯮ  ७ ᪫祭.
 INT n  楫  ᥡ  쭨 맮,  ᪫祭 ⮣,  䫠 ॣ 頥  ⥪   . 楤 뢠 믮  ।⢮  IRET,    ⥪ 䫠   .
 ० ॠ ᮢ  INT n 頥  ⥪ 䫠, ॣ CS  IP    㪠 ᫥⥫쭮  ⥬ 믮 室  쭥 㪠⥫, 㥬 ஬ 뢠.
塞 䫠

᪫祭 饭 ०
#GP, #NP, #SS  #TS,  㪠   ࠧ " ".
᪫祭 ० ॠ ᮢ
; ᫨ ॣ SP  ESP ࠢ 1, 3  5 । 믮  INT  INTO,   室  ०  ᫥⢨ 筮 ࠧ ⥪.
᪫祭 㠫쭮 ० 8086
 #GP(0), ᫨ IOPL  3, ⮫쪮   INT n,   ; 뢠 3 (0CCH)  ᪫祭 ஫쭮 窨;  INTO  ᪫祭 ९  ⠭ 䫠 OF.

