
3.4.5  ⠭   ᫮
----------------------------------------------------------------

 㯯  ⠭ 祭  ࠢ  
  ᨬ    16 ᫮, ।塞
䫠 .   室   ॣ, ⠪  
.   ᮡ   প 㫥᪨
ࠦ  몠 ணࠬ஢ ᮪ ஢, ⠪, 
᪠.

 모 ।⠢    楫, 
஬   ⠭.    ᤥ  
 SETcc   ᪫騬 ᫮ﬨ  ᫥騬
㬥襭 १  .

SETcc (⠭ 祭   ᨬ  ᫮ cc)
㦠 祭 1  , ᫨ ᫮ cc ⨭, 
⨢ 砥 頥 .  ਫ D 
।   ᫮.

3.4.6  ஢ન
----------------------------------------------------------------

TEST (஢) 믮 ᪮ "and"   ࠭,
頥 䫠 OF  CF, ⠢ 䫠 AF । 
 祭 䫠 SF, ZF  PF.    ஢७
 ᫮ । ࠢ   ⠭
祭   ᫮. ࠭ 㦠 , ᫮ 
 ᫮.

   TEST  AND 砥  ⮬, 
 TEST   祭 ࠭ 祭. 
  TEST  BT 砥  ⮬,  TEST 
஢ 祭 ⢠ ⮢   ,   ६
  BT ஢  .

3.5  । ࠢ
----------------------------------------------------------------

 i486 ন   ᫮, ⠪ 
᫮ । ࠢ  ஫  室 믮
ணࠬ.  ᫮ । ࠢ 믮
⮫쪮   権 ﭨ 䫠. 
᫮ । ࠢ 믮 ᥣ.

3.5.1  ᫮ । ࠢ.
----------------------------------------------------------------

  JMP, CALL, RET, INT  IRET । 믮 
 ணࠬ ᥣ.    室    ⮬  
ணࠬ ᥣ ( ।), ⠪   㣮
ணࠬ ᥣ ( ।). ଠ , 
। ࠢ  㣨 ᥣ, 㦤  ᫥饬
ࠧ  . ᫨  ࣠樨 ,
ᯮ㥬  ன ਪ ணࠬ,  
ணࠬ  㣨 ᥣ,  । ࠢ
ᯮ짮  .

3.5.1.1  室
----------------------------------------------------------------

JMP (室) ᫮ । ࠢ . 
JMP  ࠢ  । ࠢ; 
 ࠭    ⥪.

 JMP । ࠢ  ⥪饩 楤  
楤.  楤 㪠뢠 ।⢥ 
,  ॣ   祩 . ⮯ 
।,     ⭮⥫ 
  ᮫ .

⭮⥫  .  ⭮⥫ 室 ᯮ ᬥ饭
(।⢥ ⠭, ᯮ㥬  ᫥
)   . 饭     (
  ᫮).  祭 ନ ⥬ ᫮
ᬥ饭  , ࠭饣  ॣ EIP. ᫥ ⮣ 
ॣ EIP 㤥 ᮤঠ  ,  
믮 ᫥  室.

᮫ . ᮫ 室 ᯮ  32-ࠧ來
ᬥ饭   ᫥ ᯮᮡ :

1. ணࠬ  믮 室    ॣ 饣
   祭.  32-ࠧ來 祭   ॣ
   EIP  믮 த.

2.  祭   ६  , 㪠
    ᯮ짮 ᤠ⭮ ० 樨. ࠭
     ॣ EIP  믮 த.

3.5.1.2  맮 楤
----------------------------------------------------------------

CALL (맮 楤) । ࠢ  ࠭ 
, ᫥饩   CALL,  쭥襣
ᯮ짮  RET (). CALL ࠭ ⥪饥
ᮤন ॣ EIP  ⥪.  RET  맢
楤 ᯮ    ⥪  । ࠢ
  뢠 ணࠬ.

 CALL  JMP  ᮫  ⭮⥫ ଠ.

ᢥ  CALL 㪠뢠 ᮫   
᫥ ᯮᮡ :

1. ணࠬ  믮 室    ॣ 饣
   祭. 32-ࠧ來 祭   ॣ EIP,
     ࠭  ⥪  믮 த.

2.  祭   ६  , 㪠
    ᯮ짮 ⠭⭮ ० 樨. ࠭
     ॣ EIP,   ࠭  ⥪
    믮 த.

3.5.1.3    --뢠
----------------------------------------------------------------

RET (  楤) 蠥 믮 楤 
। ࠢ , ᫥饩   CALL,
 맢  楤.  RET ⠭
ᮤন ॣ EIP, ஥ 뫮 ࠭  ⥪ 
맮 楤.

 RET  易⥫ ࠭ ।⢥
祭.  ࠭ ,  ⠭  ਡ 
ᮤন ॣ ESP,   䥪 㤠 
ࠬ஢, ࠭  ⥪ । 맮 楤.

IRET (  뢠) 頥 ࠢ ࢠ
楤.  IRET ⫨砥   RET ⥬,  
⠭ ᮤন ॣ EFLAGS  ⥪. ন
ॣ EFLAGS   ⥪  
뢠.

3.5.2  ᫮ । ࠢ
----------------------------------------------------------------

 ᫮ । ࠢ  室,
 । ࠢ, ᫨ ﭨ ॣ EFLAGS
㤮⢮ ᫮,   .

3.5.2.1  ᫮ 室.
----------------------------------------------------------------

  3-3 ਢ   室. ,
ਢ ࠬ,  ୠ⨢묨    ⮩
 .  ᥬ ন    襩
᭮ ⨭ ணࠬ.

襭 ଠ  ᫮ 室,  ᯮ
ᬥ饭, 㬬㥬  ᮤন ॣ EIP, ᫨ 㪠
᫮ ୮. 饭   ⮬   ᫮.
饭  ;    ᯮ짮  室
।  .

Ŀ
             ᫮ 室                        
Ĵ
     䫠             ᠭ             
Ĵ
 JA/JNBE    (CF or ZF) = 0   /   ࠢ          
 JAE/JNB    CF = 0             ࠢ/          
 JB/JNAE    CF = 1           /   ࠢ          
 JBE/JNA    (CF or ZF) = 1     ࠢ/          
 JC         CF = 1           ७                        
 JE/JZ      ZF = 1           ࠢ/                     
 JNC        CF = 0            ७                   
 JNE/JNZ    ZF = 0            ࠢ/                
 JNP/JPO    PF = 0            ⭮/⭮          
 JP/JPE     PF = 1           ⭮/⭮                
Ĵ
             ᫮ 室                        
Ĵ
 JG/JNLE   ((SF xor OF)      /   ࠢ      
             or ZF) = 0        ࠢ/      
 JGE/JNL    (SF xor OF) = 0  /   ࠢ      
 JL/JNGE    (SF xor OF) = 1    ࠢ/      
 JLE/JNG   ((SF xor OF)       ९               
             or ZF) = 1        (⥫쭮)    
 JNO        OF = 0           ९                   
 JNS        SF = 1            (⥫쭮)           
 JO         OF = 1                                          
 JS         SF = 1                                          


          3-3.  ᫮ 室.

3.5.2.2  ࠢ 横
----------------------------------------------------------------

 ࠢ 横   ᫮
室,  ᯮ 祭, 饭  ॣ
ECX,  ⢥ 稪 ᫠ 믮 ⥫ 横. 
 ࠢ 横 㬥 祭 ॣ ECX 
 믮 横   ࠡ  ⨦
祭 .     ࠢ 横
ਭ 䫠 ZF  ⢥ ᫮ 襭 横 
 ⨦ 稪 横 祭 .

LOOP (   ,  ECX  ࠢ )  
᫮ । ࠢ,  㬥蠥 ᮤন
ॣ ECX । ஢મ ᫮ 襭 横. ᫨
ᮤন ॣ ECX ⫨筮  , ணࠬ ।
ࠢ  , 㪠    ⢥ 
祭 (॥).  LOOP ਢ  믮 
ணࠬ, ஥    ,  稪 
⠭ ࠢ .  ⨣ 祭 , 믮
। , ᫥饩 ।⢥   LOOP.
᫨ 祭 ॣ ECX ࠢ  । 
믮 横, 稪 横 㬥蠥  1, ॣ
ᢠ 祭 0FFFFFFFFH  横 믮 2**32 ࠧ.

LOOPE (   ,  ࠢ⢮)  LOOPZ (  
,  )  ᨭ   ⮩  . 
   ᫮ 室, 
㬥 ᮤন ॣ ECX । ஢મ ᫮
襭 横. ᫨ 祭 ॣ ECX  ࠢ  
⠭ 䫠 ZF, ணࠬ । ࠢ  ,
㪠  ⢥ ࠭ 祭  . 
⨣ 祭   䫠 ZF 饭, 믮
। , ᫥饩 ।⢥   LOOPE/
LOOPZ.

LOOPNE (   ,  ࠢ⢮)  LOOPNZ (  
,   )  ᨭ   ⮩  .
    ᫮ 室, 
㬥 ᮤন ॣ ECX । ஢મ ᫮
襭 横. ᫨ 祭 ॣ ECX  ࠢ  
饭 䫠 ZF, ணࠬ । ࠢ  ,
㪠  ⢥ ࠭ 祭  . 
⨣ 祭   䫠 ZF ⠭, 믮
। , ᫥饩 ।⢥   LOOPNE
/LOOPNZ.

3.5.2.3. 믮 横    ࠧ
----------------------------------------------------------------

JECXZ (室, ᫨ ECX ࠢ ) 室  ,
㪠    ⢥ ࠭ 祭, ᫨ 
ॣ ECX ᮤন 祭 .  JECXZ
ᯮ ᮢ⭮   LOOP   
᪠஢ ப  ࠢ.     㬥
祭 ॣ ECX । ஢મ  , 横 㤥
믮 2**32 ࠧ, ᫨ 饭  横 ந諮, 
 ॣ ECX ᮤঠ 祭 .  JECXZ
ᯮ  ᮧ 横,  ய᪠ 
믮, ᫨ 砫쭮 祭 ࠢ .  JECXZ 
砫 横   ᯮ짮  室  ।
横, ᫨ 祭 稪 横 ࠢ . 
 ᯮ   騬 
᪠஢ ப  ࠢ, JECXZ  । ᫮
砭 横  ⨦ 稪 祭   
믮 ᫮ ᪠஢  ࠢ.

3.5.3 ணࠬ 뢠.
----------------------------------------------------------------

 INT, INTO  BOUND  ணࠬ ⢫
। ࠢ ணࠬ ࠡ⪨ 뢠 
᪫祭.

INTn (ணࠬ 뢠) 뢠 ணࠬ ࠡ⪨,
㪠 ஬ 뢠,   .  INT
   ⨯ 뢠.   ᯮ
 প ⢠ ⨯ ணࠬ 뢠  
஢ન ࠡ ࢨ ணࠬ ࠡ⪨ 뢠.
ࢨ ணࠬ ࠡ⪨ 뢠  
IRET,  । ࠢ  , ᫥饩 
 INT.

INTO (뢠  ९) 뢠 ணࠬ ࠡ⪨
᪫祭  ९, ᫨ ⠭ 䫠 OF. ᫨
 䫠 饭, 믮 த  맮
ணࠬ ࠡ⪨.  OF ⠭ 䬥᪨ 
᪨    ࠡ  ப. 
INTO ন ᯮ짮 ணࠬ 뢠 
ࠡ⪨ 訡 権, ⠪,  䬥᪮
९.

BOUND (㦨 室 祭  ⨬ ࠭)
ࠢ 祭  , ࠭饥  ॣ 饣
祭,  孨   ।. ணࠬ ࠡ⪨
᪫祭  ஫ 室  ⨬ ࠭ 뢠,
᫨ 祭, ᮤঠ饥  ॣ,  祬 
࠭,   祬  ࠭.  
ন ᯮ짮 ணࠬ 뢠  ஫
室  ⨬ ࠭, ⠪  ஢ઠ 
ᨢ, ⮡ 㡥  ⮬,     
࠭,   ᨢ.

 BOUND   ࠭.  ࠭ 㪠뢠
ॣ 饣 祭,  室 ஢. ன
࠭ 㪠뢠    ᫮    ᫮,
ᯮ  ᥤ  .  ࠭楩 
᫮   ᫮  訬 ᮬ,  ࠭ 
訩 .  BOUND ।,  孥 ࠭筮
祭   ࠭筮 祭 ᯮ  ᬥ
祩 .    ࠭   
࠭-ॣࠬ; ᫨   ⠪묨 , 
᪫祭  ୮  樨.

   ࠭ ᨢ  ᯮ  
  ᠬ ᨢ.    ࠭ ᨢ
 ﭭ ᬥ饭 ⭮⥫쭮 砫 ᨢ.  
 ᨢ 㦥  室  ॣ, ⠪ ࠪ⨪
  ⥫ 横 設  祭
䥪⨢ 樨 ࠭ ᨢ.

3.6  ࠡ  ப
----------------------------------------------------------------

 ࠡ  ப ࠡ  訬 ࠬ
  , ⠪,  䠢⭮-஢ ப ᨬ.
 ⠪ ࠧ, 饭 /뢮,  祭
 ஡ ଠ樨 ⭮⥫쭮  /뢮
ப (  뢠 묨  /뢮).

  ப  믮 ।⢮  ࠡ
 ப ( 믮 ⮫쪮    
樨) ᮢ⭮  㣨 ﬨ  ,
⠪,  䨪 ७.  ࠡ  ப :

MOVS - ᫠ ப.

CMPS - ࠢ ப.

SCAS - ஢ ப.

LODS - 㧨 ப.

STOC -  ப.

᫥ 믮  ࠡ  ப, ॣ
ப-筨  ப-॥ 㪠뢠  ᫥訥
   ப.  ॣ ⮬᪨ 㢥稢
 㬥 ᢮ 祭  ⢮ ,  
⮬ ப. ⮬ ப   , ᫮ 
 ᫮. 묨 ॣࠬ  :

ESI -   筨.

EDI -   ॥.

樨 ࠡ  ப  稭   ᮢ
 믮  ࠢ  訬 ᠬ,  
稭   ᮢ  믮  ࠢ 
訬 ᠬ. ࠢ 믮 ࠢ 䫠 :

DF -  ࠢ.

᫨ 䫠 DF 饭, ॣ 㢥稢. ᫨ 䫠
⠭, ॣ 㬥. 騥 
⠭   䫠 :

STD -  ⠭ 䫠 ࠢ.

CLD -  ⪨ 䫠 ࠢ.

 ⮣, ⮡ 믮 樨  祬   ⮬
ப,  ᯮ짮 䨪 ७, ⠪ :

REP -    ,  ॣ ECX  ࠢ .

REPE/REPZ -    ,  ॣ ECX  ࠢ 
 ⠭ 䫠 ZF.

REPNE/REPNZ  -      ,  ॣ ECX  ࠢ
  䫠 ZF 饭.

᪫祭  뢠,     
믮  ࠡ  ப, ࠭ ॣ  ⠪
ﭨ, ⮡  ࠡ  ப   ७.
 筨  ॥ 㪠뢠  ᫥騥 
ப, ॣ EIP 㪠뢠   ࠡ  ப 
ॣ ECX ᮤন 祭, ࠭    ६
᫥ ᯥ譮 樨. ,  室  ୮
᪠ 樨 -  ࠡ 뢠  䨪஢
筨 ᪫祭, ⥬ 믮  IRET.

3.6.1 䨪 ७.
----------------------------------------------------------------

䨪 ७ REP (,  ECX  ࠢ ),
REPE/REPZ (  ࠢ/)  REPNE/REPNZ (
  ࠢ/ )  饥 믮 
ࠡ  ப.  ଠ 権  
ࠡ  ப ࠡ ॥, 祬   
࣠樨 ணࠬ 横.

   ࠡ  ப  䨪 ७,
 믮   ,    ᫮ 砭,
।塞 䨪ᮬ,  㤥 믮.

  ७  ࠡ  ப  
ਮ⠭ 뢠  ᪫祭. ᫥ ⮣, 
뢠  ᪫祭 뫮 ࠡ⠭,  ࠡ 
ப   த  ⮣ ,  ஬  뫠
ਮ⠭.  堭  믮 
樨  ப  ﭨ  ६ ⪫ ⥬ 
뢠.

  䨪, ਢ   3-4, ਭ㦤 
믮   ,  祭 ॣ ECX  㬥
 , ᫨    㣨 ᫮ 砭 ࠡ 
㤥 믮. 䨪 ७ ⫨   㣠 
᢮ ⥫ ᫮ 砭 ࠡ. 䨪 REP 
 ⥫ ᫮ 砭. 䨪 REPE/REPZ 
REPNE/REPNZ ᯮ ᪫⥫쭮   SCAS
(஢ ப)  CMPS (ࠢ ப). 䨪 REPE/REPZ
稢 ࠡ, ᫨ 䫠 ZF 饭. 䨪 REPNE/REPNZ
稢 ࠡ, ᫨ 䫠 ZF ⠭.  ZF  ॡ
।⥫쭮 樠樨 । 믮 
 ࠡ  ப, ⠪   SCAS  CMPS  
䫠 ZF  ᮮ⢥⢨  १⠬ ࠢ, ஥ 
믮.

Ŀ
 䨪   ᫮ 砭 1  ᫮ 砭 2 
Ĵ
  REP                ECX = 0                    
  REPE/REPZ          ECX = 0              ZF = 0           
  REPNE/REPNZ        ECX = 0              ZF = 1           

                  3-4.  .

3.6.2  ࠢ ஢  ࠢ
----------------------------------------------------------------

 ॣ 饣 祭  設⢥ 砥 
塞,  ࠡ  ப ॡ
ᯮ짮  ᯥ樠 ॣ஢. ப 筮 
॥ 室  , 㥬 ॣࠬ ESI  EDI.
 ESI 㪠뢠  ࠭-筨.  㬮砭, ॣ
ESI ᯮ   ᥣ ॣ஬ DS. 䨪
 ᥣ  ᯮ짮 ॣ ESI  
ᥣ묨 ॣࠬ CS, SS, ES, FS  GS.  EDI
㪠뢠  ࠭-॥.  ᯮ ᥣ,  
㪠뢠 ᥣ ॣ ES;  ⮣ ᥣ
饭. ᯮ짮  ࠧ ᥣ ॣ஢ 
   ࠡ  ப, ᯮ묨 
ࠧ ᥣ.

   ࠡ  ப ᯮ ॣ ESI 
EDI,  ⮬᪨ 㢥稢  㬥 ᫥
 樨. ⢨  ப  稭 믮
  ᮢ  ࠢ  訬 ᠬ,  
 믮, 稭   ᮢ  ࠢ 
訬 ᠬ. ࠢ 権 ࠢ 䫠 DF.
᫨ 䫠 饭, 祭 ॣ஢ 㢥稢. ᫨ 䫠
⠭, 祭 ॣ஢ 㬥.  STD  CLD
⠭    䫠. ணࠬ ᥣ 
 㦭 祭  䫠 DF, ० 祬 ᯮ짮
 ࠡ  ப.

3.6.3  ࠡ  ப
----------------------------------------------------------------

MOVS (᫠ ப) ६頥  ப, 㥬
ॣ஬ ESI  ,  ன 㪠  ॣ EDI.
 MOVEB ६頥 ,  MOVEW ६頥 ᫮ 
 MOVED ६頥  ᫮.  MOVE,  
 䨪ᮬ REP, ࠡ⠥  뫪   
 .  믮 ⮩ 樨 ணࠬ 
樠஢ ॣ ECX, ESI  EDI.  ECX 㪠뢠
⢮ ⮢  .

CMPS (ࠢ ப) ⠥  ப-॥ 
 ப-筨   䫠 AF, SF, PF, CF  OF.
   ⮢  㤥 ᠭ ⭮  . ᫨
 ப ࠢ, ⠭ 䫠 ZF;  ⨢
砥  䫠 頥. CMPSB ࠢ , CMPSW
ࠢ ᫮  CMPSD ࠢ  ᫮.

SCAS (஢ ப) ⠥  ப-॥ 
ॣ EAX, AX  AL ( ᨬ   ࠭) 
 䫠 AF, SF, ZF, PF  OF. ப  ॣ 
. ᫨ 祭 ࠢ, ⠭ 䫠 ZF; 
⨢ 砥 䫠 頥.  SCASB ᪠ ,
 SCASW ᪠ ᫮   SCASD ᪠ 
᫮.

  䨪  REPE/REPZ   REPNE/REPNZ  
SCAS  CMPS, ନ஢  ⮬ 横  稢  
  稪  横,     ⮬ ⢨, ஥ 
SCAS  CMPS 뢠  䫠 ZF.

LODS (㧨 ப) 頥  ப-筨, 
 㪠뢠   ॣ ESI,  ॣ EAX  ப
  ᫮,  ॣ AX  ப  ᫮   ॣ AL
 ப  ⮢.   ᯮ 筮 
横,  㣨  ࠡ뢠   ப 
    ॣ.

STOS ( ப) 頥  ப  ॣ EAX,
AX  AL  ப,   㪠뢠   ॣ EDI.
  筮 ᯮ  横,   뢠 
 १ ࠡ⪨  ப, ⠭  
   LODS.  REP'STOS  ᠬ 
ᯮᮡ 樠樨 讣  .

3.7   몮  筮 ன
----------------------------------------------------------------

  ᯥ稢 প 設-ਥ஢
몮 몮  筮 ன, ⠪,  C  ᪠.
   ᥡ  ENTER  LEAVE,   室
 楤  室    ᮧ ஬ . 
ন  㪠⥫ (஢)  
६  ⥪, 뢠 ஬ ⥪.

ENTER (室  楤) ᮧ  ⥪, ᮢ⨬ 
⥪묨 ࠢ 몮  筮 ன.  
몠 楤    ᢮ ᮡ⢥ ६ 
஬  㣨 ६, । -
  ணࠬ. ⥪⮬ 楤 뢠 ⢮
६,   楤  . ࠢ ⥪
ࠧ  ࠧ 몮;   ᭮뢠 
 楤,   ணࠬ  ⤥쭮
᪮஢ 䠩    㣨 奬
ࠧ  㫨.

 ENTER   ࠭.  ࠭ 㪠뢠 
⢮ , ஥   १ࢨ஢  ⥪
 ᪮ ࠭   楤,   㤥
⢫ 室. ᪨ ࠭ 뢠 ,
⢥  ६, ᮧ   , 
楤 맢,  ⠪,  ⮬᪨
६. ன ࠬ  ᪨ ஢
 ( 0  31) 楤. ஢  - 
㡨 楤  娨 筮-஢ ணࠬ.
᪨ ஢    ⭮襭   ஢
ਢ஢ ,   ஢ ਢ஢
/뢮.

᪨ ஢  । ᫮ 㪠⥫
஢ ⥪,   ᪮஢    ⥪ 
।饣 . ⥫   ⥪  
᫮, ᯮ㥬  㯠  ६ 楤.
⢮ 㪠⥫   ⥪, ᯮ㥬 楤ன 
㯠  ६ 㣨 楤, 뢠 ⮡ࠦ
(). ࢮ  ᫮  ⮡ࠦ  㪠⥫
 ।騩  ⥪.  㪠⥫ ᯮ 
LEAV  㫨஢ १ ⢨  ENTER ⥬
⬥ ⥪饣  ⥪.

      ਬ : ENTER 2048,3 .

१ࢨ஢  2 ᪮   ⥪  ⠭
㪠⥫   ।  ⥪   ⥪  ⮩
楤.

᫥ ⮣,   ENTER ᮧ ⮡ࠦ  楤,
 ࠧ頥 ᪨ (⮬᪨)  ६
  楤 ⥬ 㬥襭 ᮤন ॣ ESP
 ⢮ ,   ࢮ ࠬ.  
祭 ॣ ESP 㦨  ⢥ 砫쭮 祭
誨 ⥪   権 PUSH  POP  楤.

 ⮣, ⮡  楤 ᮢ () 
᢮ ⮡ࠦ,  ENTER ।⠢ ॣ EBP
㪠뢠  ࢮ  ᫮  ⮡ࠦ.   ⥪
㢥稢 ,  ⢨⥫쭮  ᫮  ᠬ
訬 ᮬ  ⮡ࠦ.  ࠡ  묨, 
㪠뢠 ॣ EBP  ⢥  ॣ,
⮬᪨  樨  ᥣ ⥪ 
ᥣ .

   ENTER       ᯮ짮    ᯮᮡ:
   . ᫨ ᪨ ஢ ࠢ 0,
ᯮ   ଠ.   ଠ ࠭
ᮤন ॣ EBP  ⥪,  ᮤন ॣ
ESP  ॣ EBP  ⠥  ࠭  ᮤন
ॣ ESP,  ⮣, ⮡ ࠧ  .
  ଠ ⫨砥   ⥬,  
  㪠⥫   ⥪.  ଠ
 ENTER  ⮣,  ன ࠬ
(᪨ ஢)  ࠢ .

㭮 3-15 뢠 । ଠ⮢  ENTER.
STORAGE -  ⢮  ᪮   ࠧ饭
 ६,  LEVEL -  ᪨ ஢
.

 楤 (      ⠫  楤)
ࠡ⠥      ᠬ  襬  ᪮  ஢,  ஢  1.
 楤,    뢠,  ࠡ⠥    
㡮 ᪮ ஢, ஢ 2.  楤 ஢ 2 
      ६      楤,   
室    䨪஢ , 㪠 ஬.
 砥 ஢ 1  ENTER १ࢨ  ⮫쪮  襭
      ⥪,  ⠪     ।
⮡ࠦ,  ᫥  ᪮஢.

Ŀ
                                                              
                           ࠭ EBP                      
                           ⠭ ६ 祭      
                              FRAME_PTR ࠢ ESP            
                           IF LEVEL = 0,                    
                               (LEVEL - 1) ࠧ       
                                  EBP := EBP -4               
                                ࠭  ⥪      
                          ᫮,  ஥ 㪠뢠 EBP     
                                                  
                              ⠭ FRAME_PTR          
                           END IF                             
                           EBP := FRAME_PTR                   
                           ESP := ESP - STORAGE               
                                                              


        㭮 3-15. । ଠ  ENTER.

楤,  뢠  楤   
᪮ ஢,  맢 楤  㯠
 ६ 맢襩  楤.  ENTER ᯥ稢
  ⥬ ࠧ饭 㪠⥫   ⥪ 뢠饩
楤  ⮡ࠦ.

楤,  뢠  楤  ⮬ 
᪮ ஢,    㯠  ᢮
६.  ⮬ 砥  ENTER  ⮫쪮  
⮡ࠦ 뢠饩 楤,  ⭮  ।騬
 楤ࠬ, ࠡ騬   ᮪ ᪨
஢.   ⥪  ᮤন 㪠⥫  樨
 ⥪ 맢襩 楤.

 ENTER  ॥ࠡ 楤  맮
楤  ⮬  ᪮ ஢.  ⮬ 砥 
᫥  ॥ࠡ쭮 楤  ᮢ
⮫쪮  ᢮ ᮡ⢥ ६  ६ 楤,
   . ࠡ쭠 楤 ᥣ
 ᮢ ᢮ ᮡ⢥ ६;   ॡ
 ⮣ 㪠⥫   ⥪ । 権.

⥬ ஢ ⮫쪮 㪠⥫   ⥪ 楤 
 ᮪ ᪨ ஢  ENTER  ⮣,
 楤   ⮫쪮  ६  ᮪
᪨ ஢,    ६ ࠫ ᪨
஢ (ᬮ 㭮 3-16).

Ŀ
                                                             
                                                             
   Ŀ   
               ( 1)                 
     Ŀ     
                  ( 2)                  
      Ŀ      
                B ( 3)                 
            
                                                         
      Ŀ      
                C ( 3)                 
       Ŀ         
               D ( 4)                
                
                                                       
            
                                                         
          
                                                           
                                                           
      
                                                             
                                                             


               㭮 3-16.  楤.

모  ணࠬ஢   筮 ன  ᯮ짮
᪨ ஢ ,  ।    ENTER,
  ࠢ  㯮    ६  楤.  
㭪,  ਬ,  ᫨    A  뢠    B,
,  ᢮ ।, 뢠  C, ⮣  C
   ६     A,  
   ६  C, ⠪   ᯮ   
⮬   ᪮  ஢.   饥  ।  뢠
  ६   楤  㭮  3-16 :

1.    ६  䨪஢ .

2.  A     ६ ⮫쪮 
   .

3.  B    ⮫쪮  ६
    A   .  B  
      ६  C   D.

4.  C    ⮫쪮  ६
    A   .  C  
      ६  B   D.

5.  D     ६  C,
    A   .  D  
      ६  B.

 ᫥饩 ࠬ  ENTER  砫  ணࠬ
ᮧ   ᫮ ᪮   
ணࠬ,     㪠⥫  㣨 ஢
⥪ (ᬮ 㭮 3-17). ࢮ  ᫮  ⮡ࠦ
ᮤন  ᫥ 祭 ॣ EBP । ⥬, 
뫠 믮  ENTER. ஥  ᫮ (஥, ⠪
 ⥪  , ࠭  襬 ) ᮤন
 ᮤন ॣ EBP ᫥  믮 
ENTER. ᫥ ⮣,   뫠 믮, ॣ EBP
㪠뢠  ࢮ  ᫮, ࠭  ⥪, 
ॣ ESP 㪠뢠  ᫥  ᫮   ⥪.

Ŀ
                                                             
                                                             
                       Ŀ        
                       Ĵ        
                       Ĵ        
                   ĳ          EBP         EBP  
           Ĵ        
                   ĳ  EBP   ணࠬ          
                       Ĵ        
                   ĳ                                    
          Ĵ        
                Ĵ        
                   ĳ                            ESP  
                       Ĵ        
                       Ĵ        
                               
                                                             
                                                             

   㭮 3-17. ⥪  ᫥ ᪠  ணࠬ.

  ணࠬ 뢠  ,  ENTER
ᮧ  ⮡ࠦ (ᬮ 㭮 3-18). ࢮ 
᫮ - ᫥ 祭, ᮤঠ襥  ॣ EBP 
ணࠬ. ஥  ᫮ - 㪠⥫   ⥪
 ணࠬ,  ᪮஢  ண  ᫮
⮡ࠦ   ணࠬ.  ᫮   樨
 㣮  ᫥ 祭, ᮤঠ襣 
ॣ EBP   ணࠬ.    
  ६  ணࠬ, ⠪   ணࠬ
室  ஢ 1.  ⮣,   ᪮
, ᯮ㥬   ணࠬ,  ⥪騬
ᮬ  ॣ EBP    ⥫쭮 
࠭ ᮤন ॣ EBP   ணࠬ. 
᪨ ६   ணࠬ 室 
䨪஢ ⥫쭮 ᬥ饭 ⭮⥫쭮 ⮣
祭.

Ŀ
                                                             
                                                             
                       Ŀ        
                       Ĵ        
                       Ĵ        
                                 EBP                 
                       Ĵ        
                         EBP   ணࠬ          
                       Ĵ        
                       Ĵ        
                       Ĵ        
                       Ĵ        
                   ĳ  EBP   ணࠬ  EBP  
                      Ĵ        
             EBP   ணࠬ          
                      Ĵ        
                   ĳ  EBP                   
                       Ĵ        
                   ĳ                                    
          Ĵ        
                Ĵ        
                   ĳ                            ESP  
                       Ĵ        
                       Ĵ        
                               
                                                             
                                                             

      㭮 3-18. ⥪  ᫥ ᪠  

   뢠  B,  ENTER ᮧ
 ⮡ࠦ (ᬮ 㭮 3-19). ࢮ  ᫮
ᮤন  ᫥ 祭 ॣ EBP   .
஥    ᫮  ﬨ  㪠⥫
  ⥪  ⮡ࠦ   .  B 
   ६     ணࠬ
⥬ ᯮ짮 㪠⥫   ⥪  ᢮
⮡ࠦ.

Ŀ
                                                             
                                                             
                       Ŀ        
                       Ĵ        
                       Ĵ        
                                 EBP                 
                       Ĵ        
                         EBP   ணࠬ          
                       Ĵ        
                       Ĵ        
                       Ĵ        
                       Ĵ        
                         EBP   ணࠬ          
                       Ĵ        
                         EBP   ணࠬ          
                       Ĵ        
                         EBP                   
                       Ĵ        
                       Ĵ        
                       Ĵ        
                       Ĵ        
                   ĳ  EBP           EBP  
                      Ĵ        
                        EBP   ணࠬ          
           Ĵ        
                        EBP                   
                      Ĵ        
                   ĳ  EBP   B                
                       Ĵ        
                   ĳ                                    
          Ĵ        
                Ĵ        
                   ĳ                            ESP  
                       Ĵ        
                       Ĵ        
                               
                                                             
                                                             


      㭮 3-19. ⥪  ᫥ ᪠  B

  B 뢠  ,  ENTER ᮧ
 ⮡ࠦ    (ᬮ 㭮 3-20). ࢮ
 ᫮ ᮤন  ᫥ 祭 ॣ EBP 
 B.  㤥 ᯮ짮  LEAVE 
⠭  ⥪  B. ஥   
᫮  ﬨ 㪠⥫ ஢ ⥪  ⮡ࠦ
 . ᫨   室  ᪮ ஢
᫥饩 㡨  ⭮襭   B, ⢥⮥ 
᫮ 㤥 ᪮஢,   㤥 㪠⥫   ⥪
  ६  B.

Ŀ
                                                             
                                                             
                       Ŀ        
                       Ĵ        
                       Ĵ        
                                 EBP                 
                       Ĵ        
                         EBP   ணࠬ          
                       Ĵ        
                       Ĵ        
                       Ĵ        
                       Ĵ        
                         EBP   ணࠬ          
                       Ĵ        
                         EBP   ணࠬ          
                       Ĵ        
                         EBP                   
                       Ĵ        
                       Ĵ        
                       Ĵ        
                       Ĵ        
                         EBP                   
                       Ĵ        
                         EBP   ணࠬ          
                       Ĵ        
                         EBP                   
                       Ĵ        
                         EBP   B                
                       Ĵ        
                       Ĵ        
                       Ĵ        
                       Ĵ        
                   ĳ  EBP   B        EBP  
                      Ĵ        
                        EBP   ணࠬ          
           Ĵ        
                        EBP                   
                      Ĵ        
                   ĳ  EBP   B                
                       Ĵ        
                   ĳ                                    
          Ĵ        
                Ĵ        
                   ĳ                            ESP  
                       Ĵ        
                       Ĵ        
                               
                                                             
                                                             

      㭮 3-20. ⥪  ᫥ ᪠  C

 ,   B    室 
  ⮬  ஢, ⮬     ।
  ६  B.   砥,  
  ஢   B;   뢠
 B, ⮬ 㪠⥫  頥  ⥪
 㪠⥫   ⥪  B.   
⮬  B  । ࠬ    
१ ⥪, ⠪  १ ६,   ⭮襭 
 楤ࠬ (.. ६  ⢨ 
楤).

LEAVE (  楤) ⨢  ⢨ ᠭ
।   ENTER.
 LEAVE   ࠭.  LEAVE 
ᮤন ॣ EBP  ॣ ESP  ⮣, ⮡ ᢮
 ⥪ ࠭⢮, १ࢨ஢  楤.
⥬  LEAVE ⠭ ஥ 祭 ॣ EBP
 ⥪. ६ ⠭ 室 祭
ॣ ESP.   RET ⥬  㤠 
㬥   , ࠭  ⥪ 뢠
ணࠬ  ᯮ짮  楤.

3.8  ࠢ 䫠.
----------------------------------------------------------------

 ࠢ 䫠  ﭨ ⮢ ॣ
EFLAGS,     3-5.

Ŀ
                                          
Ĵ
 STC (⠭ 䫠 ७)       CF  1            
 CLC ( 䫠 ७)         CF  0            
 CMC ( 䫠 ७)        CF  - (CF)       
 CLD ( 䫠 ࠢ)      DF  0            
 STD (⠭ 䫠 ࠢ)    DF  1            

         T 3-5.  ࠢ 䫠.

3.8.1  ࠢ 䫠 ७  ࠢ.
----------------------------------------------------------------

 ࠡ  䫠 ७ ᯮ  
, 묨  横᪮ ᤢ  ७ᮬ
RCL  RCR.   樨஢ 䫠 ७ CF  ⭮
ﭨ । 믮 ,   䫠 
࠭.

 ࠢ 䫠 ࠢ ⠭  
䫠 ࠢ DF,  ࠢ ࠢ ࠡ⪨
ப. ᫨ 䫠 DF 饭,  㢥稢 ॣ
 ப, ESI  EDI, ᫥  樨 
ࠡ⪨ ப. ᫨ 䫠 DF ⠭,  㬥蠥
  ॣ.

3.8.2  뫪 䫠.
----------------------------------------------------------------

   ᯥ樠    䫠 CF 
DF,   ⮤   ⠫ 䫠,
ਥ஢  ᯮ짮  ਪ ணࠬ஢.
 뫪 䫠  ணࠬ  ﭨ
㣨 䫠  ᯮ짮  権  ⠬, ᫨
⮫쪮  䫠 뫨 ६饭  ⥪   ॣ AH.

 LAHF  SAHF ࠡ   䫠 , 
ᯮ ० ᥣ 䬥᪨  ᪨
.

LAHF (㧨 ॣ AH  䫠)  䫠 SF, ZF, AF,
PF  CF  ॣ AH,  7,6,4,2  0 ᮮ⢥⢥ (ᬮ
㭮 3-21). ন ⠢ ⮢ 5,3,  1 ⠥
।. ন ॣ EFLAGS ⠥ .

SAHF (࠭ 祭 ॣ AH  䫠)  
7,6,4,2,  0  䫠 SF, ZF, AF, PF  CF ᮮ⢥⢥ (ᬮ
㭮 3-21).

K PUSHF  POPF  ⮫쪮 ४ ᯮ짮 
 祭 䫠  ,    
஢७  ,  ⠪ ४ ᯮ짮 
࠭ ﭨ ॣ EFLAGS  믮 ணࠬ.

Ŀ
                                                              
                     7 6 5 4 3 2 1 0                          
                    Ŀ                         
                    SZ0A0P1C                         
                    FF F F F                         
                                             
                                                              
       ,      -  
   EFLAGS    AH.  , -  
    0  1,  ,      
   INTEL (R).    .    
                                                              


         㭮 3-21. 訩  ॣ EFLAGS.

PUSHF (࠭ 䫠) ࠭ 襥 ᫮ ॣ EFLAGS
 ⥪ (ᬮ 㭮 3-22).  PUSHFD ࠭ 楫
ॣ EFLAGS  ⥪ (⥬   䫠 RF ⠥ 
饭).

POPF (⠭ 䫠  ⥪) ⠭ ᫮ 
⥪  ॣ EFLAGS.   ᯮ짮 ⮩ 
 祭 ⮫쪮 ⮢ 14,11,10,8,7,6,4,2  0. ᫨
஢ ਢ஢  ணࠬ ᥣ ࠢ
0 (ᠬ ਢ஢),  IOPL (13  12) ⠪
. ᫨ ஢ ਢ /뢮 (IOPL) ࠢ 0,
  ⠪ 䫠 IF ( 9).  POPFD
⠭  ᫮  ⥪  ॣ EFLAGS,  
  ﭨ 䫠 A ( 18) ⠪ ,   
⮢, 塞   POPF.

Ŀ
                                                                 
                                                  PUSHFD/POPFD   
 <> 
                                                                 
                                                    PUSHF/POPF   
 <> 
  31                              15                          0  
 Ŀ 
                   I             
              ANR NOODITSZ A P C 
 0000000000000CMF0TPFFFFFF0F0F1F 
                   L             
  
                                                                 
  ,  0  1,    
 INTEL (R).   .                     
                                                                 


   㭮 3-22. , ᯮ㥬  PUSHF  POPF

3.9 ᫮ 
----------------------------------------------------------------

 i486 砥  ᥡ    
믮 ᮪ ᫮ 権  ⢮
᫮ ⨯ ,  80-ࠧ來 ७
⢥  64-ࠧ來  楫.  믮
䬥᪨ , ࠭業 ,  ࠢ
 ८ࠧ ⨯ .  ন 祭
 ᯮ㥬  ᫥ ⠭, ⮡ 
᪮ ᫮ ᫥.

᫮  ஥  ⮪   i486,
⮬  믮   ⥬  ன⢮, 騬
  楫᫥ , ⠪  
 ᥫ  饩 ⮩.   ⢨⥫쭮
ன⢮ ࠡ  ᥫ  饩 ⮩  i486
ࠡ⠥ ࠫ쭮  楫᫥ ன⢮, ⨣ 
⮬ 襩 ந⥫쭮.

 III,  14-18  㪮⢠,  ஡
뢠 ᫮ .

3.10  ࠡ  ᥣ묨 ॣࠬ
----------------------------------------------------------------

 ᪮쪮 ࠧ ⨯ ,  ᯮ
ᥣ ॣ.   㯯஢  , ⠪
, ᫨ ࠧࠡ稪 ⥬ 롥 ᥣ஢ 
࣠樨 ,       㤥
ᯮ짮. ,     ᥣ묨
ॣࠬ, ⠪ :

1.  뫪 ᥣ-ॣ.

   MOV   SegReg,...

   MOV   ...,SegReg

   PUSH  SegReg

   POP   SegReg

2. । ࠢ 㣮 믮 ᥣ.

   JMP   쭨

   CALL  쭨

   RET   쭨

3.  ࠡ  㪠⥫ﬨ .

   LDS   ॣ, 48-ࠧ來 ࠭  

   LES   ॣ, 48-ࠧ來 ࠭  

   LFS   ॣ, 48-ࠧ來 ࠭  

   LGS   ॣ, 48-ࠧ來 ࠭  

   LSS   ॣ, 48-ࠧ來 ࠭  

4.    ,  ᫥騥 易 
   뢠ﬨ  ⠪ ᯮ  ᥣ஢
   ⥬.     । ࠢ 
   ᥣ⠬,  ᯮ ᥣ,  
   ਪ ணࠬ.

   INT   n

   INTO

   BOUND

   IRET

3.10.1  뫪 ᥣ-ॣ.
----------------------------------------------------------------

  MOV, POP  PUSH ⠪ ᯮ  㧪 
࠭ ᥣ ॣ஢.   ࠡ   
ॣࠬ 饣 祭,  ᪫祭 ⮣,   
࠭  ᥣ ॣ஬.  MOV  
஢ ᮤন ᥣ⭮ ॣ  㣮 ᥣ
ॣ.

 POP  MOV    祭  ॣ CS
(ᥣ ); ⮫쪮  쭥 । ࠢ
뢠 ⢨  ॣ CS.  ॥ 
ॣ SS (ᥣ ⥪),   뢠 
 믮 ᫥饩 .

  386(R) DX 㧪 ᥣ⭮ ॣ ᥣ
ਢ  ஢ 横 ⥭   ⥬ ⠭
 㯠.   i486 ஢ 横 
⮫쪮  ⮬ 砥, ᫨  㯠   ⠭ ࠭.

 ॡ  16-ࠧ來 䨪 ࠧ୮
࠭  ।   ᥣ ॣ஬ 
32-ࠧ來 ॣ஬ 饣 祭.

3.10.2  쭥 । ࠢ.
----------------------------------------------------------------

 쭥 । ࠢ । ࠢ
॥  㣮 ᥣ ⥬  ᮤন ॣ
CS. ॥    쭥 㪠⥫, 
 16-ࠧ來 ᥫ஬ ᥣ  32-ࠧ來
ᬥ饭  ᥣ. 쭨 㪠⥫  
।⢥ 祭  ࠭  .

쭨 CALL. ᥣ⭠  CALL 頥 祭,
ᮤঠ騥  ॣ EIP  CS,  ⥪.

쭨 RET. ᥣ⭠  RET ⠭
祭 ॣ஢ CS  EIP  ⥪.

3.10.3  ࠡ 㪠⥫  
----------------------------------------------------------------

 ࠡ  㪠⥫ﬨ 㦠 쭨 㪠⥫ 
ॣ . 쭨 㪠⥫ ⮨  16-ࠧ來
ᥫ ᥣ,  㦠  ᥣ ॣ, 
32-ࠧ來 ᬥ饭  ᥣ, ஥ 㦠 
ॣ 饣 祭.

LDS (㧨 㪠⥫, ᯮ DS)  쭨
㪠⥫  ࠭-筨  ॣ DS   ॣ 饣
祭. ࠭-筨 易  ࠭,
ᯮ  祩 ,  ࠭-॥  
ॣ஬ 饣 祭.

    ਬ : LDS   ESI, STRING_X

㦠  ॣ DS ᥫ ᥣ  ᥣ, 
ண   STRING_X,  㦠 ᤢ  ᥣ,
㥬 STRING_X,  ॣ ESI.  ॣ ESI 
⢥ ࠭-॥ 㤮  ⮢  믮
権  ப,  ப-筨 室  
⥪饬 ᥣ.

LES (㧨 㪠⥫, ᯮ ES)    १,
   LDS,  ᪫祭 ⮣,  ᥫ ᥣ
㦠  ॣ ES,    ॣ DS.

     ਬ : LES   EDI, DESTINATION_X

㦠  ॣ ES ᥫ ᥣ  ᥣ, 
ண   DESTINATION_X,  㦠 ᤢ 
ᥣ, 㥬 DESTINATION_X,  ॣ EDI.  
 㤮 ᯮᮡ 롮 ॥  믮 
ࠡ  ப, ᫨ 㦭 ⮯ 室 
⥪饣 ᥣ -.

LFS  (㧨 㪠⥫, ᯮ FS)    १,
   LDS,  ᪫祭 ⮣,   祭  ᥫ
ᥣ 砥 ॣ FS,   ॣ DS.

LGS (㧨 㪠⥫, ᯮ GS)     १,
   LDS,  ᪫祭 ⮣,   祭  ᥫ
ᥣ 砥 ॣ GS,   ॣ DS.

LSS  (㧨 㪠⥫, ᯮ SS)    १,
   LDS,  ᪫祭 ⮣,   ॣ  SS,    
ॣ  DS,  砥 祭 ᥫ ᥣ.   
ᮡ  ,  ⠪              ॣࠬ,
騬   ⥪  (ॣ  SS    ESP),    ᢮
祭   뢠 .    ⫨稥    
,      㦠  祭    ॣ  SS, 
砭 믮    LSS  뢠    .
㣨  ,  ⠪,    POP  SS,  뢠 
⮣, ⮡  ᫥饩    㧨  祭  
ॣ   ESP      뢠.       
ॣࠬ,  SS,  ESP,      ᢮  祭  
   LSS,     室      ⥬  
ࠧ  뢠.

3.11 ⠫ 
----------------------------------------------------------------

騥        襯ਢ
⥣਩,  ⥬     ᢮ 稬.

 BSWAP, XADD  CMPXCHG   ய
386 DX  386 SX.  386  믮  樨
  㬭.  ⮣, ⮡ ᯮ짮  ,
ᥣ 砩 㭪樮쭮     386.
ᯮ , ਢ  㭮 3-23  ।, 
    ᯮ짮.

Ŀ
 $title ("। 䨪    386  i486")   
                                                                
     name   CPU_ID                                              
     public   is386                                             
                                                                
 code     segment       er public use32                         
 ;                                                              
 ;  ⥪騩 ⨯ ,  ஬ 믮 ࠡ⠳
 ; 頥 祭 EAX=0   i486,  EAX=1   386
 ; ⠢ 묨 ESP, EBP, EBH, ESI  EDI             
 is386     proc      near                                       
     mov    edx,esp           ; ࠭ 祭 ⥪饣     
                              ; 㪠⥫ ⥪              
                              ; ࠢ                 
     and    esp,not 3         ; ࠢ ⥪             
                              ;  訡 AC             
     pushfd                   ; ࠭   EFLAGS              
     pop    eax               ; 砥  ⥪ 祭 EAX  
     mov    ecx, eax          ; ࠭ 室 祭     
                              ; EFLAGS                          
     xor    eax, 40000H       ; ॡ뢠  ⨢
                              ; 祭                  
     push   eax               ;   EFLAGS               
     popfd                                                      
     pushfd                   ; 砥  祭 EFLAGS  
     pop    eax               ; 頥  EAX                  
     xor    eax, ecx          ; ஢, ᫨   , 
                              ; =4000, ᫨  386,  
                              ; 0, ᫨  i486          
     shr    eax, 18           ; ⠭ =1, ᫨    
                              ; 386, 0, ᫨  i486           
     and    eax, 1            ;   ⠫    
     push   ecx                                                 
     popfd                    ; ⠭ 室        
                              ; 祭 ॣ EFLAGS        
     mov    esp, edx          ; ⠭ 室        
                              ; 祭 㪠⥫ ⥪        
     ret                                                        
 is386      endp                                                
                                                                
 code       ends                                                
     end                                                        


         㭮 3-23   । CPU_ID

3.11.1  ᫥ 
----------------------------------------------------------------

LEA (㧨 䥪⨢ ) 頥 32-ࠧ來 ᤢ
࠭-筨   (   ᮤন)  ࠭
祭. ࠭-筨  室  , 
࠭ 祭   ॣ஬ 饣 祭. 
 ᮡ   樠樨 ॣ஢ ESI  EDI
। 믮  ࠡ  ப  樠樨
ॣ EBX ।  XLAT.  LEA  믮
 室 ஢  ⠡஢.

     ਬ : LEA   EBX, EBCDIC_TABLE

⠢    砫쭮 樨 ⠡,
祭  EBCDIC_TABLE,  EBX.

3.11.2  -樨
----------------------------------------------------------------

NOP (-樨)   ࠭⢠ . 
 믮,  㢥稢 ॣ EIP ⠪, ⮡ 
㪠뢠  ᫥ ,     
⢨.

3.11.3  ࠭樨.
----------------------------------------------------------------

XLATB (࠭᫨஢)  ᮤন ॣ AL  ,
⠭  ⠡ ࠭樨  . ন ॣ AL
  楫     ⮩ ⠡, 
ᯮ짮 ᮤন ॣ EBX  ⢥ 
.  XLAT    ᠬ  㦠 १ 
  ॣ,   砥 -࠭  . 
㭪 ᯮ  ८ࠧ  ᨬ  
䠢  㣮. ਬ,  ASCII   ᯮ짮
 祭 ᢮    EBCDIC.

3.11.4  ⠭ ⮢.
----------------------------------------------------------------

BSWAP (⠢ )  冷 ⮢  32-ࠧ來
ॣ஢ ࠭. ⮢ 樨 7..0  ⠬ 
ﬨ 31..24,  樨 15..8  ⠬  ﬨ
23..16.     ८ࠧ ଠ⮢ 
"big-endian"  "little-endian". 믮  BSWAP 
ࠧ  ⠢ 祭 ॣ  . 
 ⠪ ᪮ 믮  筮 䬥⨪
।⢮ ࠡ   ࠧ鸞   ࠧ, 
  㭮 3-24.    ࠧ 3.11
⭮⥫쭮 ᯮ짮  BSWAP   386.

3.11.5  --᫮
----------------------------------------------------------------

XADD (  ᫮) ᯮ  ࠭:
࠭-筨  ॣ  ࠭ 祭  ॣ 
 . ࠭-筨   ࠭ 祭, 
॥   㬬 筨  ॥. 
ࠦ १ ᫮.     ꥤ 
 LOCK  ୮ ⥬, ⮡ 
 ஢ 믮  横 ⢨. 
  ࠧ 3.11 ⭮⥫쭮 ᯮ짮  XADD
  386.

3.11.6  ࠢ--
----------------------------------------------------------------

CMPXCHG (ࠢ  ) ᯮ  ࠭ :
࠭-筨  ॣ, ࠭ 祭  ॣ  
   (.. ॣ AL, AX  EAX  ᨬ
 ࠧ୮ ࠭). ᫨ 祭  ॥  
⥫ ࠢ, ࠭ 祭   筨. 
⨢ 砥 室 祭 ࠭ 祭
㦠  ⥫.  ࠦ १, 
砥  ⠭ ࠭ 祭  .
 ZF ⠭, ᫨ 祭 ࠭ 祭 
⥫ ࠢ,  ⨢ 砥 䫠 頥.

 CMPXCHG   ஢  䨪樨
ᥬ஢.  믮 ஢, ⮡ ᬮ, ᢮ 
ᥬ    ⠪ ⬥⪠,  ⨢ 砥 
砥 䨪 ⥪饣    뢠
樨.  ⥬   ஬  ᪫砥
室 ४祭  ஢ 0  ஢
뢠  믮  . 
 ⥬  CMPXVHG   ꥤ 
 LOCK  믮  横 設 ⮬᪨.
   ࠧ 3.11 ⭮⥫쭮 ᯮ짮 
CMPXCHG   386.

Ŀ
                                                              
 $title   ('ASCII ᫮/⠭  ᯮ짮 BSWAP') 
                                                              
    name        ASCII_arith                                   
                                                              
 code    segment      er public use32                         
 ;                                                            
 ;  4    ASCII-ப         
 ; 訬 㡠⮬   3                           
 ; DS:[ESI] 㪠뢠  ࠭ 1                            
 ; DS:[EBX] 㪠뢠  ࠭ 2                            
 ; DS:[EDI] 㪠뢠  ࠭-॥                     
 ;                                                            
                                                              
 add10    proc       near                                     
                                                              
 ;                                                            
 ; 믮 ASCII ᫮  ᯮ짮  BSWAP  
 ;  i486                                            
 ;                                                            
                                                              
   mov     eax,[esi]        ; 砥 訥     
                            ; ࢮ ࠭                
   bswap   eax              ; ८ࠧ   big-endian  
   add     eax,96969696H    ; ࠢ  ᫮        
   mov     ecx,[ebx]        ; 砥  訥    
                            ; ண ࠭                
   bswap   ecx              ; ८ࠧ   big-endian  
   add     eax,ecx          ; 믮 ᫮  ࠧ- 
                            ; 來 ७ᮬ                
   rcr     ch,1             ; ࠭ 䫠 ७         
   mov     edx,eax          ; ࠭ 祭              
   and     eax,0F0F0F0F0H   ;  訩 㡠      
   sub     edx,eax          ;  ﬨ 訩        
                            ; 㡠            
   shr     eax,4            ; ⠢  䨪樨     
   and     eax,0A0A0A0AH    ; ᫨ 㫥 訩 -    
                            ; ,  ମ஢ 10     
                            ; ࠢ饥 祭       
                            ; 襣 㡠              
   add     eax,edx          ; ନ ஢ -  
                            ;  襣 㡠, 訥 
                            ; 㡠   1        
                            ; ࠢ                    
   or      eax,30303030H    ; ८ࠧ ⭮  ASCII   
   bswap   eax              ; ⭮   little-endian   
   mov     [edi],eax        ; ⠭ 祭 ॥   
   rcl     ch,1             ; ⠭ 䫠 ७       
   ret                                                        
                                                              
 add10     endp                                               
                                                              
 ;                                                            
 ;  4    ASCII-ப         
 ; 訬 㡠⮬   3                           
 ; DS:[ESI] 㪠뢠  ࠭ 1                            
 ; DS:[EBX] 㪠뢠  ࠭ 2   [ESI]-[EBX]              
 ; DS:[EDI] 㪠뢠  ࠭-॥                     
 ;                                                            
                                                              
 sub10    proc     near                                       
                                                              
 ;                                                            
 ; 믮 ASCII ⠭  ᯮ짮  BSWAP 
 ;  i486                                            
 ;                                                            
                                                              
   mov     eax,[esi]        ; 砥 訥     
                            ; ࢮ ࠭                
   bswap   eax              ; ८ࠧ   big-endian  
   mov     ecx,[ebx]        ; 砥  訥    
                            ; ண ࠭                
   bswap   ecx              ; ८ࠧ   big-endian  
   sub     eax,ecx          ; 믮 ⠭  ᯮ-   
                            ;  ࠧ來  
                            ;                          
   rcr     ch,1             ; ࠭ 䫠 ७         
   mov     edx,eax          ; ࠭ 祭              
   and     eax,0F0F0F0F0H   ;  訩 㡠, F,  
                            ; ᫨        
   sub     edx,eax          ;  ﬨ 訩        
                            ; 㡠            
   shr     eax,4            ; ⠢  䨪樨     
   and     eax,0A0A0A0AH    ; ᫨ 㫥 訩 -    
                            ; ,  ମ஢ 10     
                            ; ࠢ饥 祭       
                            ; 襣 㡠              
   add     eax,edx          ; ନ ஢ -  
                            ;  襣 㡠, 訥 
                            ; 㡠   1        
                            ; ࠢ                    
   or      eax,30303030H    ; ८ࠧ ⭮  ASCII   
   bswap   eax              ; ⭮   little-endian   
   mov     [edi],eax        ; ⠭ 祭 ॥   
   rcl     ch,1             ; ⠭ 䫠   
   ret                                                        
                                                              
 sub10     endp                                               
                                                              
 code      ends                                               
   end                                                        
                                                              

 㭮 3-24. ASCII 䬥⨪  ᯮ짮  BSWAP
