CBW/CWDE  -  ८ࠧ   ᫮/८ࠧ ᫮
               ᫮

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
|98        CBW      3          AX <- ७  AL       |
|98        CWDE     3          EAX<- ७  AX       |
-----------------------------------------------------------------

 

IF OperandSize = 16 (*  = CBW *)
THEN AX <- SignExtend(AL);
ELSE (OperandSize = 32,  = CWDE *)
  EAX <- SignExtend(AX);
FI;

ᠭ
 CBW ८ࠧ뢠 騩    ॣ AL  饥  ᫮  ॣ AX ⥬ ७ 襣  ॣ AL ( )    ॣ AH.  CWDE ८ࠧ뢠 饥  ᫮  ॣ AX  饥   ᫮  ॣ AX ⥬ ७ 襣  ॣ AX ( )     ॣ EAX. ⬥⨬,   CWDE ⫨筠   CWD.  CWD ᯮ  ⢥ 祭  ॣ EAX  ॣ஢ DX:AX.
塞 䫠

᪫祭 饭 ०

᪫祭 ० ॠ ᮢ

᪫祭 㠫쭮 ० 8086


CLC -  䫠 ७

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
| F8       CLC      2           䫠 ७           |
-----------------------------------------------------------------

 

CF <- 0;

ᠭ
 CLC 頥 䫠 CF.  㣨 䫠  ॣ   .
塞 䫠
頥 䫠 CF.
᪫祭 饭 ०

᪫祭 ० ॠ ᮢ

᪫祭 㠫쭮 ० 8086


CLD -  䫠 ࠢ

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
| FC       CLD      2           䫠 ࠢ:    |
|                              믮 ப  㤥|
|                              ந室 ६ SI  DI    |
-----------------------------------------------------------------

 

DF <- 0;

ᠭ
 CLD 頥 䫠 ࠢ.  㣨 䫠  ॣ   . ᫥ 믮  CLD ப   ६஢ ᯮ㥬   ॣ (SI / DI).
塞 䫠
頥 䫠 DF.
᪫祭 饭 ०

᪫祭 ० ॠ ᮢ

᪫祭 㠫쭮 ० 8086


CLI -  䫠 뢠

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
| FA       CLI      5           䫠 뢠;        |
|                              뢠 饭             |
-----------------------------------------------------------------

 

IF <- 0;

ᠭ
 CLI 頥 䫠 뢠 IF, ᫨ ⥪騩 ஢ ਢ஢   ࠢ IOPL.  㣨 䫠   . 譨 뢠  ᯮ    CLI  稭  ⮣   ⠭  IF.
塞 䫠
頥 䫠 IF.
᪫祭 饭 ०
#GP(0), ᫨ ⥪騩 ஢ ਢ஢  訩  (.. ਢ஢ ), 祬 ஢ ਢ஢ /뢮  ॣ 䫠. ஢ ਢ஢ /뢮  訩 ஢ ਢ஢,  ஬ ᪠ 믮 /뢮.
᪫祭 ० ॠ ᮢ

᪫祭 㠫쭮 ० 8086
#GP(0)   饭 ०.

CLTS -  䫠 ४祭   CR0

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
| 0F 06    CLTS     7           䫠 ४祭 |
-----------------------------------------------------------------

 

 TS  CR0 <- 0;

ᠭ
 CLTS 頥 䫠 ४祭  (TS)  ॣ CR0.  䫠 ⠭ ஬ 直 ࠧ,  ந室 ४祭 .  TS ᯮ  ࠢ ७ﬨ  ᫥騬 ࠧ:
-  믮  ESC  ⠭ 䫠 TS 뢠 ᪫祭.
- 믮  WAIT 뢠 ᪫祭 誨  ६ ⠭ 䫠 MP  TS.
 ࠧ, ᫨ ४祭  ந諮 ᫥ 砫  ESC,  ॡ ࠭ ⥪   樨  饩 窮, ० 祬   뤠   ESC. ࠡ稪 ᡮ ࠭ ⥪  頥 䫠 TS.
 CLTS ᯮ  樮 ணࠬ ᯥ祭,    ਪ ணࠬ.  ਢ஢ ,    믮 ⮫쪮  ஢ ਢ஢ 0.
塞 䫠
頥 䫠 TS (䫠  ॣ CR0,    䫠 ॣ).
᪫祭 饭 ०
#GP(0), ᫨  CLTS 믮  ⥪騬 ஢ ਢ஢,  ࠢ 0.
᪫祭 ० ॠ ᮢ
 (⨬  ० ॠ ᮢ  ⮣, ⮡  樠  饭 ०).
᪫祭 㠫쭮 ० 8086


CMC -  䫠 ७

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
| F5       CMC      2           䫠 ७        |
-----------------------------------------------------------------

 

CF <- NOT CF;

ᠭ
 CMC   ⨢ 祭 䫠 CF.  㣨 䫠 ﭨ  뢠.
塞 䫠
 CF ᮤন   室 祭.
᪫祭 饭 ०

᪫祭 ० ॠ ᮢ

᪫祭 㠫쭮 ० 8086


CMP - ࠢ  ࠭

-----------------------------------------------------------------
|             ᫮    ᠭ                       |
|樨               ⠪⮢                                |
|                       横                                  |
|                                                               |
|3C ib     CMP AL,imm8      1    ࠢ ।⢥    |
|                                  AL                     |
|3D iw     CMP AX,imm16     1    ࠢ ।⢥    |
|                                ᫮  AX                     |
|3D id     CMP EAX,imm32    1    ࠢ ।⢥    |
|                                 ᫮  EAX           |
|80 /7 ib  CMP r/m8,imm8    1/2  ࠢ ।⢥    |
|                                  ⮬  r/m           |
|81 /7 iw  CMP r/m16,imm16  1/2  ࠢ ।⢥    |
|                                ᫮  ᫮  r/m          |
|81 /7 id  CMP r/m32,imm32  1/2  ࠢ ।⢥    |
|                                 ᫮   ᫮|
|                                 r/m                          |
-----------------------------------------------------------------

 

LeftSRC - SignExtend(RightSRC);
(* CMP  믮  १;   祭 - ⠭
   䫠 *)

ᠭ
 CMP ⠥ ன ࠭  ࢮ,   ⫨稥   SUB,  뢠 १:   ⮫쪮 ﭨ 䫠.  CMP 筮 ᯮ  ⠭  ᫮묨 室   SETcc. (᮪  ஢ப 䫠,     䫠, ਢ  ਫ D). ᫨ ࠭ ॢ蠥    ࠢ  ।⢥ ⮬,    ᭠砫  .
塞 䫠
 OF, SF, ZF, AF, PF  CF ⠭  ᮮ⢥⢨  १⮬.
᪫祭 饭 ०
#GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.

CMPS/CMPSB/CMPSW/CMPSD  -  ࠢ ப ࠭

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
|A6      CMPS m8,m8     8      ࠢ ⮢  ES:[(E)DI]    |
|                              (ன ࠭)  [(E)SI]       |
|                              ( ࠭)                 |
|A7      CMPS m16,m16   8      ࠢ ᫮     ES:[(E)DI]    |
|                              (ன ࠭)  [(E)SI]       |
|                              ( ࠭)                 |
|A7      CMPS m32,m32   8      ࠢ  ᫮ ES:[(E)DI]|
|                              (ன ࠭)  [(E)SI]       |
|                              ( ࠭)                 |
|A6      CMPSB          8      ࠢ ⮢  ES:[(E)DI]    |
|                                                DS:[SI]       |
|A7      CMPSW          8      ࠢ ᫮    ES:[(E)DI]    |
|                                                DS:[SI]       |
|A7      CMPSD          8      ࠢ  ᫮ ES:[(E)DI]|
|                                                DS:[SI]       |
-----------------------------------------------------------------

 

IF ( = CMPSD) OR
   (  ࠭ ⨯ DWORD)
THEN OperandSize <- 32;
ELSE OperandSize <- 16;
FI;
IF AddressSize = 16
THEN
  ᯮ SI   筨  DI   祭
ELSE (* AddressSize = 32 *)
  ᯮ ESI         筨    EDI    
    祭;
FI;
IF  ⮢ ⨯
THEN
  [-筨] - [-祭]; (* ࠢ ⮢ *)
  IF DF = 0 THEN IncDec <- 1 ELSE IncDec <- -1; FI;
ELSE
  IF OperandSize = 16
  THEN
    [-筨] - [-祭]; (* ࠢ ᫮ *)
    IF DF = 0 THEN IncDec <- 2 ELSE IncDec <- -2; FI;
  ELSE (* OperandSize = 32 *)
    [-筨] - [-祭]; (* ࠢ
                                                  ᫮ *)
    IF DF = 0 THEN IncDec <- 4 ELSE IncDec <- -4; FI;
  FI;
FI;
-筨 = -筨 + IncDec;
-祭 = -祭 + IncDec;

ᠭ
 CMPS ࠢ , ᫮   ᫮,  ஥ 㪠뢠 ॣ -筨,  ⮬, ᫮   ᫮,  ஥ 㪠뢠 ॣ -祭.
᫨ ਡ ࠧ  ⮩  ࠢ 16 ⮢,   ⢥ ॣ஢  筨  祭 ᯮ ॣ SI  DI;  ⨢ 砥 ᯮ ॣ ESI  EDI. । 믮  CMPS  SI  DI ( ESI  EDI)   㦥 ࠢ 祭 ᮢ.
ࠢ 믮 ।⢮ ⠭ ࠭, ஢ ॣ஬ -祭,  ࠭, ஢ ॣ஬ -筨.
⬥⨬,  ࠢ ⠭   CMPS  [SI] - [DI]  [ESI] - [EDI].  ࠭ (SI  ESI)  筨,  ࠢ ࠭ (DI  EDI)  祭.  ࠢ ⨢ ࠢ, ਭ⮬   ᮣ襭 Intel,   ࠭  祭,  ࠢ - 筨.
 ⠭  뢠;  ࠦ ⮫쪮  䫠.  ࠭ ।, ࠢ  , ᫮   ᫮.  ࢮ ࠭ (SI  ESI) ᯮ ॣ DS, ᫨   ८। ᥣ. ன ࠭ (DI  EDI)     ॣ ES; ८। ᥣ .
᫥ ⮣,  ࠢ 믮, ந室 ⮬᪮ த  ॣ  筨   祭. ᫨ 䫠 DF ࠢ 0 (.. 뫠 ᯮ짮  CLD),  ந室 ६  ॣ஢; ᫨  䫠 DF ࠢ 1 (뫠 믮  STD),  ந室 ६ ॣ.  ࠢ ⮢ 믮 ६  ६  1,  ࠢ ᫮  2,   ࠢ  ᫮ -  4.
 CMPSB, CMPSW  CMPSD  ᨭ  CMPS lkz ࠢ ⮢, ᫮   ᫮, ᮮ⢥⢥.
 CMPS  ।⢮ 䨪 REPE  REPNE  筮 ࠢ  ᯮ짮 CX  ECX ⮢, ᫮   ᫮.  ஡ ଠ  ⮬ .  ᠭ  REP.
塞 䫠
 OF, SF, ZF, AF, PF  CF ⠭  ᮮ⢥⢨  १⮬.
᪫祭 饭 ०
#GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.

CMPXCHG - ࠢ  

-----------------------------------------------------------------
|              ᫮           ᠭ               |
|樨                ⠪⮢                               |
|                        横                                 |
|                                                               |
|0F A6/r CMPXCHG r/m8,r8 6/7, ᫨ ࠢ- ࠢ AL  ⮬  |
|                         ᯥ譮,  r/m.  ࠢ⢥ - |
|                         6/10     ⠭ ZF  -|
|                                          ॣ    |
|                                         r/m.  頥|
|                                        ZF  㦠  r/m|
|                                         AL                   |
|0F A7/r CMPXCHG         6/7, ᫨ ࠢ- ࠢ AL  ᫮ |
|        r/m16,r16        ᯥ譮,  r/m.  ࠢ⢥ - |
|                         6/10     ⠭ ZF  -|
|                                         ॣ-᫮    |
|                                       ᫮ r/m.  頥|
|                                       ZF  㦠 ᫮ r/m|
|                                         AX                   |
|0F A7/r CMPXCHG         6/7, ᫨ ࠢ- ࠢ AL   |
|        r/m32,r32        ᯥ譮,  ᫮ r/m.  ࠢ-|
|                         6/10     ⢥ ⠭- ZF  -|
|                                         ॣ-   |
|                                       ᫮ r/m.  頥|
|                                       ZF  㦠   |
|                                       ᫮ r/m  EAX.        |
-----------------------------------------------------------------

 

IF  = DEST
      ZF <- 1
      DEST <- SRC
ELSE
      ZF <- 0
       <- DEST

ᠭ
 CMPXCHG ࠢ  (ॣ AL, AX  EAX)  DEST. ᫨  ࠢ,  SRC 㦠  DEST.  ⨢ 砥 DEST 㦠  .
塞 䫠
 CF, PF, AF, SF  OF  ⠪ ࠧ,  ᫨  뫠 믮  CMP  DEST  ஬  ⢥ ࠭.  ZF ⠭, ᫨ ࠭ 祭   ࠢ;  ⨢ 砥  頥.
᪫祭 饭 ०
#GP(0), ᫨ १    ᥣ,  ண 饭 ; #GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
ਬ砭
    ᯮ짮  䨪ᮬ LOCK.  饭 䥩  設  ࠭ 祭 ਭ 横  ⭮⥫쭮  १ ࠢ. ᫨ ࠢ 稫 㤠筮,  DEST 뢠 ,   ⨢ 砥  ࠭ 祭 뢠 DEST. (   뤠 横 ⥭  墠⮬  ᮮ⢥饩   墠⮬).   ࠬ 386  ন. ᯮ짮  CMPXCHG ᮢ⨬  386 ࠧ .  ࠧ 3.11.

