 23. 㠫 ०  8086

 i486(TM) ন 믮    ணࠬ ஢ 8086, 8088, 80186  80188  । 饭 ० i486. ணࠬ  8086 믮  ⮩ ।   㠫쭮  8086.    २⢮ ⭮ প  筮,    饭 ०.   鸞 ⢥ 㠫   8086  믮  ⮫쪮  ⢥ ணࠬ  8086,    ⢥     i486.
 㠫쭮   8086 ⮨  ନ஢ "㠫쭮 設"  믮 ணࠬ, ᠭ   8086.  "㠫쭠 設" ⮨    i486  ⥬ ணࠬ ᯥ祭.   8086  १⮬ ⢨ ⭮  ணࠬ ᯥ祭, ᠭ :
-  ᯥ稢  㠫 ॣ஢ (१ TSS), ࠭⢮ 㠫쭮  (   ᭮ ࠭⢠ )  ࠢ쭮 믮  , 易  묨 ॣࠬ   ࠭⢮.
- ணࠬ ᯥ祭 ࠢ 譨 䥩ᠬ 㠫쭮 設 (/뢮, 뢠ﬨ  ᪫祭ﬨ) ⠪ ࠧ, ⮡  뫨 ᮣᮢ  譥 ।,  ன 믮 㠫쭠 設.  砥 /뢮 ணࠬ ᯥ祭  롨, 㫨஢    /뢮  ࠧ אַ 믮    ⥫⢠ ணࠬ ᯥ祭.
ணࠬ ᯥ祭, ন饥 㠫 設 8086, 뢠 㠫 ஬ 8086.

23.1 믮 ணࠬ  8086.

 8086 ࠡ⠥  㠫쭮 ०,  ⠭  VM (㠫쭠 設)  ॣ EFLAGS.  ஢  䫠   ᭮ ⥫⢠:
1.  㦥 ॣ ᥣ,  ᭥ 室 ᯮ짮 ନ஢ ᮢ  ࠢ  8086.
2.  ஢ ,  ।,   ⢨⥫  IOPL,     ন (   ॠ쭮 ०).

23.1.1   ॣ

騩  㠫쭮 ०  8086  ॣ஢ 砥  ॣ ।   8086   ॣ    i486: FS, GS, ॣ ⫠, ॣ ࠢ  ॣ ஢.  ,   믮 樨  ॣࠬ ᥣ FS  GS   ,   䨪 ਭ㤨⥫쭮  ᥣ   ᯮ짮  饭  ॣࠬ FS  GS  ᫥ ᮢ   믮 .   ᯮ짮 32-ࠧ來e ࠭ ।⢮ ᯮ짮 䨪 ࠧ ࠭.
ணࠬ, ᪠  㠫   8086  ᯮ짮 २⢠   ਪ-ਥ樨,   ⥪   ஢ 80186,80188,80286, 386 DX, SX  i486.
-  ,    80186, 80188  80286.
- PUSH ।⢥  -    㤠  (PUSHA  POPA) -  ।⢥  -   横᪨ ᤢ  ।⢥ 稪 - /뢮 ப -  ENTER  LEAVE -  BOUND
-  ,    386 DX.
-  LSS, LFS, LGS - ᫮ 室   ᬥ饭 -  ࠡ  ⤥묨 ⠬ -  ᪠஢ ⮢ -   ᤢ - ⠭   ᫮ - 뫪  ࠭ / - 饭 樨 㬭 - MOV    ॣ஢ ࠢ - MOV    ॣ஢ ஢ - MOV    ॣ஢ ⫠
-  ,    i486.
-  BSWAP -  XADD -  CMPXCHG

23.1.2 ८ࠧ 

 㠫쭮 ०  8086  i486   ᥫ  8086 饭  ਯࠬ,  ⮣  ନ   ⠪ ,   ᤥ   8086.  ᤢ    , ନ 20-ࠧ來  . ᯮ⥫    ﬨ   ⮢   ਡ   , ࠧ  ,    㭪 23-1.

Ŀ
           19                                        3        0        
            Ŀ       
           16- ࠧ來 ᥫ ᥣ     0 0 0 0        
                   
     +      19        15                                       0       
            Ŀ       
   ᬥ饭  0 0 0 0  16- ࠧ來 ᯮ⥫           
                   
                                                                       
             20                                                 0      
    Ŀ       
        X X X X X X X X X X X X X X X X X X X X                 
                   
                                                                       


 㭮 23-1. ८ࠧ   8086

᪮   ७, १騩      21 饣 ࠧ鸞. ணࠬ  8086  ஢      0  10FFEFH ( 1   ⥫쭮 64 )  ᭮ ࠭⢠.
㠫   8086  32-ࠧ來  . ணࠬ  8086  ᯮ짮 ⮫쪮 訥 21   ᮢ.     ࠧ饭, ᯮ ࠧ  ࠭,   32-ࠧ來 䨧᪨ .
 ⫨稥  ஢ 8086  80286,  i486  ࠬ 386,  ஢ 32-ࠧ來 ᯮ⥫ , ᯮ 䨪 ࠧ ;   㠫쭮 ०  8086, 祭 32-ࠧ來    ॢ 65.535,  ⨢ 砥  ᪫祭.   ᮢ⨬  ० ॠ ᮢ  80286  訡 ᥢ ( 뢠 12  13  訡), ᫨ 祭 ᯮ⥫쭮  室  ।  0  65.535.

23.2   㠫쭮  8086.

 㠫쭮  8086 ⮨  ணࠬ  8086, ।祭  믮,  ணࠬ த ० (native mode)  i486, 饩 ஫  㠫쭮 設.    ।⠢   TSS  i486 (  TSS  80286).  室  㠫 ०  8086, 믮 ணࠬ  8086  頥  饭 ० 믮 -  㣨   i486.
 믮  㠫쭮 ०  8086 ॠ쭠 ணࠬ  8086 㦤 :
-  㠫쭮 ०  8086.
- প 樮 ⥬.
 㠫쭮 ०  8086 -  ணࠬ  i486, 믮塞  饭 ०  㫥 ஢ ਢ ( ਢ஢).   ᭮ ⮨  楤 ࠡ⪨ ᪫祭  楤 樠樨.    㣠 ணࠬ  i486,  ᯮ ਯ ᥣ ,   室  GDT  LDT .      ᠬ 訬 祬 10FFEFH, 樮 ⥬  㣮 ⥬ ணࠬ ᯥ祭.   ⠪  ਯ ᥣ ,     砥   ⠡ ஢ 뢠  㣨  ணࠬ  8086, 室騬  ࢮ  ᭮ ࠭⢠.
 饬 砥     ᯮ짮 樮 ⥬  8086:
1. ।⢠ 樮 ⥬  8086 믮   ணࠬ  8086.  室 ४  ᫥ :
- ਪ ணࠬ  8086  樮 ⥬.
-  墠⠥ ६  ࠧ । 樮 ⥬  8086  樮 ⥬  i486.
2. 樮 ⥬  8086   ॠ  㫨஢   㠫쭮 ०  8086.  室 ४  ᫥ :
- 㭪樨 樮 ⥬  ।  ᪮쪨 砬 㠫쭮 ०  8086.
- 㭪樨 樮 ⥬  8086   㫨஢   맮 楤 樮 ⥬  i486.
⨬,  ᨬ  ᯮᮡ ॠ樨 樮 ⥬ ஥ 8086, ࠧ  㠫쭮 ०  8086  ᯮ짮 ࠧ 樮 ⥬  8086.

23.2.1   ࠭   㠫쭮 ०  8086

  ࠭   易⥫  믮   㠫쭮 ०  8086,      室  ᫥ :
-  ⢮  㠫쭮 ०  8086.   ⮡ࠦ   䨧᪨ ᮢ  ࠧ 䨧᪨ 祩.
- 㫨 横᪨  १  .  ᥬ⢠ ஢ 8086  । ᮢ, ॢ室  . ਬ,  祭 ᥫ 0FFFFH  ᬥ饭 0FFFFH, ᯮ⥫  㤥 10FFEFH (1  + 65.519 ).  8086,  ନ    20 , १ ᠬ 訩 ,  "ᤢ"    0FFEFH.  i486, ,  १ ⠪ . ᫨ - ணࠬ  8086   横᪮ ,  䥪   ⨣   㠫쭮 ०  8086 ⥬ ⮡ࠦ  ᮢ, ᯮ  100000H  110000H,   ᮢ,ᯮ  0  10000H,    ⥦ 䨧᪨ .
-  㠫쭮 ᭮ ࠭⢮, ॢ饥  ࠧ 䨧᪮ ᭮ ࠭⢮.
- ᪮쪮 ணࠬ  8086, 믮塞  筮 ०, ᮢ⭮ ᯮ 樮 ⥬  8086  ணࠬ ᠭ  .
- ७ࠢ  墠뢠 뫪  ன⢮ /뢮, ⮡ࠦ  ࠭⢮ .

23.2.2   㠫쭮   8086

  ࠧ頥  ᥣ⠬ ணࠬ  8086.   ⥬ ணࠬ ᯥ祭, 饭  㠫쭮   8086,  ਪ ணࠬ  8086 ࠧࠡ稪 ணࠬ ᯥ祭  ४ ᫥騥 :
- ࢨ஢ ࢮ  ( 64 )  ᭮ ࠭⢠    ணࠬ  8086.   8086  ᬮ ஢   ⮣ ࠭⢠.
- ᯮ짮  室  ⠡ ࠭ U/S    㠫쭮 設  㣮 ⥬ ணࠬ ᯥ祭  ᭮ ࠭⢥  㠫쭮   8086. ᫨  室  㠫쭮 ० 8086  CPL ࠢ 3 ( ਢ).  ࠧ ணࠬ  8086  ⮫쪮 짮⥫᪨ ਢ. ᫨ ࠭  㠫쭮 設  㯥ࢨ ਢ,  ணࠬ  8086  ᬮ  ᯮ짮.

23.3 室  室  㠫쭮 ०  8086.

Ŀ
                                               
                                                                           
    ४祭  Ŀ                                 
        Ĵ 砫 室                                  
          IRET                                       
                                                                          
Ŀ  뢠  ᪫祭  Ŀ 
ணࠬ >   㠫쭮 
      8086                    IRET                 ०    
(㠫 ०)  <Ĵ       8086           
                              (饭 ०)   
                                                  
                                                                       
   ४祭                                    ४祭        
           Ŀ               
  >  㣨   i486  <     
 Ĵ    (饭 ०)             
  ફ祭         ४祭       
                                                               


 㭮 23-2. 室  室  㠫 ०  8086.

㭮 23-2 頥  室  室  ணࠬ  8086. 室  㠫 ०  8086 ⢫  ⠭ 䫠 VM.  室  㠫 ०   ᯮᮡ:
1.  ४祭     i486,   TSS 㦠 ࠧ ॣ EFLAGS.  TSS  ਭ  i486,   TSS  80286, ᪮ TSS  80286  ࠭ 襥 ᫮ ॣ EFLAGS, ᮤঠ饥 䫠 VM. ᫨  ᮤঠ ॣ EFLAGS ᮤন ⠭ 䫠 VM,  砥,    믮   8086;  ⮣,  㦠 ॣ ᥣ  TSS,  i486 ࠧ    ࠢ  8086.
2.    IRET  楤  業ࠫ쭮  i486 ॣ EFLAGS 㦠  ⥪. ⠭ 䫠 VM 뢠,  ࠢ   饭 楤  8086. CPL  ६ 믮  IRET   ࠢ 0,  ⨢ 砥    祭 䫠 VM.
 ४祭  ᯮ  室  㠫 ०  8086, ॣ ᥣ 㦠  TSS.    IRET ᯮ  㧪 䫠 VM, ॣ ᥣ ࠭ 祭, 㦥  饭 ०.  ⮬ 砥 ணࠬ ᯥ祭  १㧨  ॣ ᮤন ᥫ஢ ᥣ ᮮ⢥ 㠫쭮 ०  8086.
 室  㠫쭮 ०  8086  ࠡ⪥ 뢠  ᪫祭.  ந室   :
1. 뢠  ᪫祭 뢠 ४祭 .  ४祭   㠫쭮 ०  8086     ந室 㧪 ॣ EFLAGS  SS  .᫨  TSS -  TSS  i486,   ᮤন ॣ EFLAGS ᮤন 饭 䫠 VM,  ᫨  TSS -  TSS  80286,  頥 䫠 VM  ॣ EFLAGS, 㦠 ॣ ᥣ   TSS, ᯮ ନ஢ ᮢ  ࠢ 業ࠫ쭮  i486,  筥 믮     饭 ० 業ࠫ쭮  i486.
2. ᫨  १ 뢠  ᪫祭 뢠 楤  㫥 ஢ ਢ஢ ( ਢ஢).  ࠭ ⥪饥 ﭨ ॣ EFLAGS  ⥪, ⥬ 頥 䫠 VM.  ⮣,ࠡ稪 뢠  ᪫祭 ᪠  த ணࠬ 饭 ० 業ࠫ쭮  i486. ᫨ 뢠  ᪫祭 뢠 楤  ᮣᮢ ᥣ   ᥣ  ஢ ਢ ⫨  0 ( ਢ஢),   ᪫祭 饩 ,   訡 -  ᥫ ᥣ , 맮 ண  ⢫.
⥬ ணࠬ ᯥ祭   ।⢥ ﭨ 䫠 VM,    ﭨ ࠧ ॣ EFLAGS  ⥪   TSS.  㠫쭮 ० 8086 ⠭ 䫠 VM  ࠧ EFLAGS  ⥪   TSS,  ᮧ ࢠ 㠫쭠  8086. ࠡ稪 ᪫祭  뢠 ஢ 䫠 VM  ⥪. ᫨ ࢠ 楤 뫠 饭  㠫쭮 ०  8086, ࠡ稪   맢 㠫  8086.

23.3.1 室  ४⥫ .

४祭   㠫   8086     ந     砥:
1. 뢠, 뢠饥  .
2. ⢨ ஢騪 樮 ⥬ 業ࠫ쭮  i486.
3. 믮  IRET  ⠭ 䫠 NT.
    砥   䫠 VM  ॣ EFLAGS ᮣ᭮ ࠧ   TSS. ᫨  SS ᮮ⢥  80286,  襥 ᫮ ॣ EFLAGS ࠧ頥  TSS;  ⮬ 砥  頥 䫠 VM.   䫠 VM । 㧪 ॣ஢ ᥣ   ࠧ   TSS.  ⠭ 䫠 VM 㪠뢠 ஢    ࠧ ॣ஢ ᥣ  ᥫ  8086, 80286   i486.

23.3.2 室 १  誨   뢠.

 i486 室  㠫쭮 ०  8086  १ ᪫祭  뢠,  뢠  誨  뢠. ࠡ稪 ᪫祭  뢠 頥 ࠢ ணࠬ  8086 믮  IRET.
᪮   뫠 ।祭  ᯮ짮 ஬ 8086, ணࠬ  8086  㠫쭮 ०  ⠡ 뢠, ஥  ࠢ  8086,  稭  㫥  .   i486  ᯮ ।⢥  ⠡.   뢠  ᪫祭,   㠫쭮 ०  8086,  뢠 ࠡ稪 १ IDT.  IDT  뢠  ᪫祭  㠫쭮 ०  8086  ᮤঠ ᫥饥:
-  . -  誨 業ࠫ쭮  i486 (⨯ ਯ 14)   뢠 業ࠫ쭮  i486 (⨯ ਯ 15),   㪠뢠  ᮣᮢ ᥣ   ஢ ਢ஢ 0 ( ਢ஢).
뢠  ᪫祭, 뢠騥  誨  뢠  i486, ᯮ 㫥 ஢ ਢ஢.  ⮣ ஢ ᮤন ॣ஢ ᥣ ࠭  ⥪.  㭪 23-3 ਢ ଠ ⠪ ⥪ ᫥ 뢠  ᪫祭 襣,  㠫쭠   8086 믮  ணࠬ  8086.

Ŀ
                                              
Ŀ              Ŀ            
  ᯮ    < ESP      㠫쭮< ESP  
Ĵ     SS      Ĵ     TSS    
          GS                          GS             
Ĵ              Ĵ            
          FS                          FS             
Ĵ              Ĵ            
          DS                          DS             
Ĵ              Ĵ            
          ES                          ES             
Ĵ              Ĵ            
          SS                          SS             
Ĵ              Ĵ            
   ESP                          ESP                    
Ĵ              Ĵ            
   EFLAGS                       EFLAGS                 
Ĵ              Ĵ            
          CS                          CS             
Ĵ              Ĵ            
      EIP     <            EIP                 
Ĵ      ESP     Ĵ            
                                         訡       <   
                                    Ĵ      ESP   


 㭮 23-3. ⥪ 㫥 ஢ ਢ ᫥ 뢠  㠫쭮 ०  8086.

᫥ ⮣,   i486 ࠭ ॣ ᥣ  8086  ⥪ ᮣ᭮ 㫥 ஢ ਢ,  㫨 ॣ ᥣ । ᪮ 楤 ࠡ⪨.   ࠡ稪 뢠 ᯥ譮 ࠭  ⠭ ॣ DS, ES, FS  GS,  ᫨   뫨 ᥫࠬ  i486. ࠡ稪 뢠,   뢠   ⥪ ॣ୮ , ⠪   ⥪ 㠫쭮   8086,  ᯮ짮 筮 ᮣᮢ   ࠭  ⠭ ॣ஢  . 㫥 ॣ஢ । 믮  IRET  뢠 誨  ࠡ稪 뢠. 楤 뢠, 騥 祭  ॣ ᥣ⮢  騥 祭  ,  ᯮ짮 ࠧ ॣ஢, ࠭  ⥪ 㫥 ஢ ਢ஢. ࠡ稪 뢠,   㧭, ந諮  뢠  㠫쭮 ०  8086,   䫠 VM  ࠭ ᮤন ॣ EFLAGS.
᫨ 䫠 VM  ࠭ ᮤন ॣ EFLAGS ⠭,  뢠  ᪫祭  ࠡ뢠 㠫 ஬  8086,  ࠡ稪 뢠 । ࠢ ⮬ . 㠫   8086 :
-  ࠡ 뢠  㠫쭮 . -  맢 ࠡ稪 ணࠬ 뢠  8086.
 뢠  ᪫祭  ணࠬ  8086 砥 ᫥騥 蠣:
1. ᯮ짮  뢠  8086  ࠧ饭  楤 ࠡ⪨.
2. ࠭ ﭨ ணࠬ  8086  ⥪ 쥣 ஢ 뢠 ( ਢ஢).
3. 䨪 㪠⥫   ⥪ 㫥 ஢ ਢ ( ਢ஢) ⠪, ⮡  㪠뢠  楤 ࠡ⪨ 뢠  쥬 ஢ ਢ ( ਢ஢).
4. 믮  IRET  । ࠢ ࠡ稪.
5. ᫥ ⮣,   IRET ࠡ稪  쥬 ஢ ਢ ᭮ 맮 㠫 , ⠭ 㪠⥫   㫥 ஢ ਢ, ⮡  㪠뢠  ࢮ砫 楤 ࠡ⪨ 뢠  쥬 ஢ ਢ.
6. 믮  IRET  । ࠢ   ࢠ 楤.

23.4 ⥫ ⢨⥫ .

  i486 ࠡ⠥  㠫쭮 ०  8086,  PUSHF, POPF, INT n  IRET ⢨⥫  IOPL.  IN, INS, OUT,  OUTS,   ⢨⥫묨  IOPL  饭 ०,  㠫쭮 ०  8086    ⢨⥫.    ᯨ᮪ ,  ⢨⥫묨  㠫쭬 ०  8086:
CLI - ⪠ 䫠 ࠧ襭 뢠 STI - ⠭ 䫠 ࠧ襭 뢠 PUSHF -  䫠  ⥪ POPF - ⥭ 䫠  ⥪ INT n - 뢠 IRET -   뢠
 㠫쭮 ० 8086 CPL ᥣ ࠢ 3;  IOPL 襬 3, ⪠ ᯮ짮 襯᫥   ᪫祭 饩 . ⢨⥫쭮    IOPL  㠫쭮   8086  㫨஢ ।⢠,    .

23.4.1  맮 樮 ⥬  8086

᪮  INT n ⢨⥫쭠  IOPL, 㠫   8086  墠뢠 맮 樮 ⥬ 8086. ⢮ 樮 ⥬  8086 뢠 ⥬ 饭 ࠬ஢  ⥪  ᫥饣 믮  INT n. ᫨ IOPL  3,  INT n 墠뢠 㠫 ஬  8086.  ࠧ 㠫   8086  㫨஢ 㭪樨 樮 ⥬  8086  । ࠢ  樮 ⥬  8086.

23.4.2 㫨஢ 䫠 ࠧ஢ 뢠

 믮 ஬ i486 ணࠬ  㠫쭮   8086  PUSHF, POPF,  IRET ⢨⥫  IOPL.   㠫쭮   8086  䫠 ࠧ஢ 뢠 (IF). 㣨 , 騥  䫠 IF (⠪  STI  CLI), ⢨⥫  IOPL   ணࠬ  8086, ⠪   ணࠬ  i486.
 ணࠬ  8086, ᠭ    ⥬, ⠭   䫠 IF  ࠢ 뢠ﬨ.   맢 㤭  筮 ।. ᫨ IOPL  3,   騥  ஢騥 䫠 IF  ᪫祭.  ࠧ, 㠫   8086  ࠢ 䫠 IF ⠪,   㤥 ᮢ⨬  ।  i486    ணࠬ  8086.

23.5  / 뢮  㠫쭮 ०.

 ணࠬ  8086 ᠭ   ⥬  ᮤঠ ।⢥ 饭  ⠬  /뢮.  ஦ 쥧 ஡  筮 ।. ᫨   ணࠬ     ⮬  ,       㣮.   ⥬ ॡ  ਪ ணࠬ 饭  ⠬  /뢮 १ 樮 ⥬.  १ 頥 業ࠫ ࠢ.
 i486 ᯥ稢  /뢮  ࣠樨 /뢮, ᮢ⨬  । 業ࠫ쭮  i486  ஧筮  ணࠬ  8086. ࠡ稪  ᯮ짮 ᫥騥  室   / 뢮:
-  ᭮ ࠭⢠ /뢮   ᪫祭   ⪥ ।⢥ 믮 /뢮.
-  ணࠬ  8086 ।⢥ 믮 /뢮.
- ஢ ᪫祭  ⪠ 饭  ᯥ樠 ⠬ /뢮.
- ஢ ᪫祭  ⪠ 饭  ᯥ樠 ⠬ /뢮, ⮡ࠦ  .
⮤ ࠢ /뢮   ⮣, ⮡ࠦ   /뢮  ࠭⢮    ࠭⢮ /뢮.

23.5.1 ⮡ࠦ /뢮  ࠭⢮ /뢮

᭮ ࠭⢮ /뢮  㠫쭮 ०  8086 ⫨砥  饭 ० ⮫쪮 ⥬,   ஢ન IOPL. 쪮 ⮢  ࠧ襭  /뢮 ஢,  㠫   8086   ᭮ ࠭ /뢮.
⮢ ᨢ ࠧ襭 /뢮  ᯮ짮  樨 ᪫祭  ⪠ 饭  ᯥ᪨ ᠬ /뢮. ⮢ ᨢ ࠧ襭 /뢮  㠫쭮   8086 롨ࠥ,  /뢮  ᪫祭  ⮩ . ᪮     ࠧ ⮢ ᨢ ࠧ襭 /뢮, , 騥 ᪫祭,  ࠧ    ࠧ묨.   8   ஡ ଠ樨  ⮢ ᨢ ࠧ襭 /뢮.

23.5.2 ⮡ࠦ /뢮  ࠭⢮ 

 ⥬,  ᯮ ⮡ࠦ /뢮  ࠭⢮ ,  ࠭筮 ࠧ   i486  ஢ ᪫祭  ⪠ 饭  ⠬ /뢮. 㠫   8086  ᯮ짮 ࠧ  ࠭  ࠢ /뢮, ⮡ࠦ  ࠭⢮ , ᫥騬 ࠧ:
-  , ன 室 믮 /뢮, ⮡ࠦ   ᭮ ࠭⢠  䨧᪮ ᭮ ࠭⢮,  ᯮ  /뢮. ⮡ࠦ  /뢮  ࠧ  ( ࠧ ࠭), 堭 ࠭筮 ࠧ  ਭ㤨⥫쭮 ஢   ࠧ .
- ⮡ࠦ   ᭮ ࠭⢠  ࠭  .   ⠥ 믮 /뢮   ࠭,  ᪫祭.  ⮬ 砥 ⥬ ணࠬ ᯥ祭   ஢ 樨 /뢮.
  ᫮ ⥬  ࠭⢠  /뢮  ॡ ᫨誮  ⥫ 樮 ⥬.  ⠪   ᣥ஢ ᪫祭 ⮫쪮  ࢮ ⪨ 饭  /뢮. ᫥ ⮣ ⥬ ணࠬ ᯥ祭  ।,  ६  ணࠬ ᪫⥫쭮 ࠢ /뢮,   ࠭⢠ /뢮   ணࠬ 믮   ᪮.

23.5.3 樠  /뢮

 ⥫㠫 ஫஢ (ਬ,   ⮢ ᨢ)   㫨஢  ᯮ짮 ࠭筮 ⮡ࠦ.  ࠭⢮     ⮡ࠦ  ࠧ 䨧᪨ ࠭⢠   㠫쭮   8086. 㠫   ࠢ ࠧ饭 㠫 ஢,  㠫   ॠ  䨧᪮ ᭮ ࠭⢠.

23.6 ⫨  業ࠫ쭮  8086.

 ᭮,  㠫쭮 ०  8086  믮 ணࠬ, ᠭ  ஢ 8086, 8088, 80186  80188.  ਢ ᯨ᮪ ⥫ ࠧ稩  ணࠬ, 믮塞묨   8086    i486  㠫쭮 ०  8086.
1.  ᫠ ⠪⮢  믮 .
 i486 ॡ  믮 設⢠   設 ⠪⮢ 祬  8086.    ⨢ ⢨  :
- ࠢ ன⢠ /뢮,  室 প  ﬨ /뢮.
-  ࠡ⪥ ஢ থ  ணࠬ, ᯮ ࠫ ࠡ  8086  ᮯ 8087.
2. ᪫祭 訡  㪠뢠   DIV.
᪫祭 訡    i486 ᥣ ࠭ 祭 CS:IP, 㪠뢠饥  訡 .    8086 CS:IP 㪠뢠  ᫥ .
3.  権, ।   8086.
 権,   ।   8086,  ᪫祭 ।  樨  믮    , ।   i486.
4. 祭, 뢠  PUSH SP.
  ,  i486 頥  ⥪ 㣮 祭,   8086.  i486  祭 ॣ SP ।  㬥襭,   樨 ᥭ;  8086  祭 ॣ SP ᫥  㬥襭. ᫨ ᥭ 祭 ,   PUSH SP  ᫥⥫쭮   :
PUSH BP MOV BP, SP XCHG BP, [BP]
 ணࠬ 㭪樮   i486 筮  PUSH SP  8086.
5.   横᪨ ᤢ  祬  31 .
 i486 ᪨  稪    横᪨ ᤢ  , ஬  .   MOD 32 ࠭稢 稭 ᤢ 31 ⮬ , ᫥⥫쭮, ࠭稢 প ⪫  뢠, 饥 砭 믮 .
6. 䨪 㤫.
  i486 ⠭ ࠭祭  15    . ⢥  ८ ⮣ ࠭祭 - ᯮ짮 ।  䨪ᮢ 㤫. ᫨ ࠭祭 襭,  ᪫祭 饩 .   8086  ࠭祭   .
7. ࠭  ⭮⥫ ᮬ 0  ॢᨢ訬 65.535.
  8086 ⪠ 饭  ࠭    祭 ⭮⥫쭮  65.535 ( ਬ, 뫪 ᫮  MOV  ⭮⥫쭮  65.535)  ⭮⥫쭮  0 (ਬ, ᥭ  ⥪ ᫮  PUSH,  SP = 1) ਢ  横᪮  ⭮⥫쭮    65.536.  i486     ᪫祭: ᪫祭 饩 , ᫨ ᥣ  ᥣ⮬  (..  樨 ᥣ  ᯮ짮 ॣ CS, DS, ES, FS  GS )  ᪫祭 ⥪, ᫨ ᥣ  ᥣ⮬ ⥪ (.. ᫨ 㤥 ᯮ짮 ॣ SS).
8. 室 १ ⭮⥫  65.535  ᫥⥫쭮 믮.
  8086, ᫨ ந襫 室 १ ⭮⥫  65.535  ᫥⥫쭮 믮 , ந 롮ઠ  ᫥饩   ⭮⥫쭮  0 ⮣  ᥣ.  i486  ⮬ 砥  ᪫祭 饩 .
9. ࠭祭 LOCK  । .
䨪 LOCK  ᮮ⢥騩  ᨣ 設 ᫥ ᯮ짮 ⮫쪮  ।饭 뢠 権 뫪  㣨 宧異 設. 䨪 LOCK  ᯮ짮 ⮫쪮  ᫥묨   i486,    . ᪫祭 ।  樨 㤥 १⮬ ᯮ짮 䨪 LOCK । 묨 㣨    , 塞묨 ,    믮  ,  .
-  ஢ન   ⮢ BTS, BTR  BTC.
-   XCHG, XADD,  CMPXCHG (䨪 LOCK  㦥   XCHG ).
- O࠭ 䬥᪨  ᪨  INC, DEC, NOT, NEG.
- 宯࠭ 䬥᪨  ᪨  ADD, ADC, SUB, SBB, AND, OR , XOR.
10. 蠣 ணࠬ ࠡ⪨ 譨 뢠.
ਮ⭮ 蠣 ᪫祭   i486 ⫨砥  ਮ⭮ ᪫祭   8086. ᥭ  ।० ࠡ 譥 뢠 蠣 ࠧ  砥,  뢠   蠣 ணࠬ.   i486 蠣 ᪫祭  ਮ , 祬  譥 뢠.    INT  ᪫祭  ⠢ ࠡ  i486 蠣  ணࠬ ࠡ⪨ 뢠.
11. ᪫祭  IDIV   80H  8000H.
 i486  ᨬ쭮 ⥫쭮 ᫮  ⢥ ⭮   IDIV.  8086  ⮣  ᪫祭 訡 .
12.   ⥪.
⠭ ࠭ 䫠  PUSHF, 뢠ﬨ  ᪫祭ﬨ ⫨砥   ⠭   8086    12  15 .  8086 뢠   1.   i486  ० ॠ ᮢ  15  ᥣ 0,     14  12 ࠭ ।騥 祭.
13. ࠡ⪠ 뢠 NMI.
᫥ 祭 ஬ i486 ଠ樨  뢠 NMI, 뢠 NMI ᪨  ६ 믮  IRET.
14. 訡 ᫥  饩 窮 뢠 ᪫祭 訡 ᫥  饩 窮.
  i486 ᪫祭 ᫥  饩 窮 뢠 ணࠬ ࠡ⪨ ᪫祭 訡 ᫥  饩 窮. ᫨   8086 ᯮ짮 㣮 ᪫祭  뢠 ᮯ 8087,    ᪫祭  뢠 ணࠬ ࠡ稪 ᪫祭 訡 ᫥  饩 窮.  i486 뤠 ᨣ, ,   譥 , ন । 짮⥫ ᮮ饭  訡  樨 堭 뢠, ᯮ㥬  設⢥ ᮭ ஢.
15. ணࠬ ࠡ⪨ ᫮ ᪫祭  ᪠ 䨪.
  i486 祭 ॣ஢ CS  IP, ࠭  ࠡ⪨ ᪫祭 ᫥  饩 窮, 㪠뢠   䨪 ।  ESC.   8086 ࠭ 祭 CS:IP 㪠뢠  ᠬ  ESC.
16.  権  饩 窮  ᯮ ஫ 뢠.
 訡 ᫥  饩 窮  i486  室 १ ஫ 뢠 ( ᨣ INT ᮯ 8087 ᯮ ஫ 뢠).  ॡ 㤠    ணࠬ ࠡ⪨ ᪫祭 訡 ᫥  饩 窮, ᫨ ᯮ ஫ 뢠.  i486 뤠 ᨣ, ,   譥 , ন । 짮⥫ ᮮ饭  訡  樨 堭 뢠, ᯮ㥬  設⢥ ᮭ ஢.
17. ⪫   ।   設.
 ⫨稥  ஢ 8086  80286  筮 ࠬ 386  i486 ⢥砥   ࠢ 設  㣨   楢, ⠪  ஫ DMA,  뫪 ⥩ ஢ ࠭, ਬ  ᫮, ࠧ  ᫮.
18. CPL ࠢ 3  㠫쭮 ०  8086.
 8086  ন , ⠪     뫮 CPL. 㠫 ०  8086 ᯮ CPL ࠢ 3,  ᪫砥 믮 ਢ஢  ⠪ :
-  LIDT -  LGDT -  LMSW - ᯥ樠   MOV,  㧪  ࠭ ॣ஢ ࠢ -  CLTS -  HLT -  INVD -  WBINVD -  INVLPG
   믮,   室  ० ॠ ᮢ ᫥ 樠樨  १᪥.   㦠  ⥬ , ⠪  ⠡ ਯ஢ । 室  饭 ०. 室  㠫 ० ந室  饭 ०, ⮬   㦤   .
19. ଠ ᫮ ࠡ뢠 -㣮.   16.2.4   ⠫쭮 .

23.7 ⫨   80286  ० ॠ ᮢ.

⫨  㠫 ०  8086  ० ॠ ᮢ  80286 ⭮  䥩  ਪ묨 ணࠬ  樮 ⥬. ਪ ணࠬ ᪠  쥬 ஢ ਢ஢ (짮⥫᪨ ०) ᫥⢨ 祣,  ⪨ ᯮ짮 ਢ஢   ⥩ ⥪  맮  㠫쭮 設.  ஢  맮  㫨 .

23.7.1 ஢ ਢ஢

ணࠬ, 饭  㠫쭮 ०  8086,  ⨩ ஢ ਢ஢⨩ (짮⥫᪨ ०),  ᪫砥 믮 ਢ஢ , ⠪ :
-  LIDT -  LGDT -  LMSW - ᯥ樠   MOV,  㧪  ࠭ ॣ஢ ࠢ -  CLTS -  HLT -  INVD -  WBINVD -  INVLPG
室  㠫 ० ந室  饭 ०, ⮬   㦤   .   믮  ० ॠ ᮢ.

23.7.2 ஢ 設

  80286 㭪 ஢ 設 ॠ , 祬   386 DX  i486.  䠪  ,       ணࠬ  8086,  ᨬ  ⮣,  㠫   8086 ࠡ뢠 䨪 LOCK.   䨪ᮬ LOCK ⢨⥫  IOPL; ࠧࠡ稪 ணࠬ ᯥ祭  㫨஢  㭪樨. , ᪮ ணࠬ  8086  ।⢥ 믮 LOCK,  ணࠬ, ᯮ騥 ᯥ᪨   8086  ஢ ,   i486  믮 ࠢ쭮.
䨪 LOCK  ᮮ⢥騩  ᨣ 設 ᫥ ᯮ짮 ⮫쪮  ।饭 뢠 権 뫪  㣨 宧異 設. 䨪 LOCK  ᯮ짮 ⮫쪮  ᫥묨   i486,    . ᪫祭 ।  樨   १⮬ ᯮ짮 䨪 LOCK । 묨 㣨    , 塞묨 ,    믮  ,  , (.. ࠭ 祭  ॣ ).
-  ஢ન   ⮢ BTS, BTR  BTC.
-   XCHG, XADD,  CMPXCHG (䨪 LOCK  㦥   XCHG ).
- O࠭ 䬥᪨  ᪨  INC, DEC, NOT, NEG.
- 宯࠭ 䬥᪨  ᪨  ADD, ADC, SUB, SBB, AND, OR, XOR.
 ஢ ࠭ ஢ ⮫쪮  , ।  ࠭ 祭,   ஢    . ਬ, ⨯ 䨣樨 ஢ 8086  80286   䨧᪮ ࠭⢮ .
 ⫨稥  ஢ 8086  80286  筮 ࠬ 386  i486 ⢥砥   ࠢ 設  㣨   楢, ⠪  ஫ DMA,  뫪 ⥩ ஢ ࠭, ਬ  ᫮, ࠧ  ᫮.

23.8 ⫨  ஢ 386 (TM) DX  SX.

 ॠ ᮢ  㠫 ०  8086 ॠ   i486 筮 ࠬ 386.  ᨬ쭮 ந⥫쭮, ணࠬ, ७ᥭ   i486,   饭  ࠧ襭 ஢.
