ADC -   䫠 ७

----------------------------------------------------------------
|            ᫮      ᠭ                     |
|樨              ⠪⮢                                |
|                      横                                  |
|                                                              |
|14 ib    ADC AL,imm8     1     䫠 ७ -|
|                             ।⢥   AL          |
|15 iw    ADC AX,imm16    1     䫠 ७ -|
|                             ।⢥ ᫮  AX          |
|15 id    ADC EAX,imm32   1     䫠 ७ -|
|                             ।⢥  ᫮  EAX|
|80 /2 ib ADC r/m8,imm8   1/3   䫠 ७ -|
|                             ।⢥     r/m |
|81 /2 iw ADC r/m16,imm16 1/3   䫠 ७ -|
|                             ।⢥ ᫮  ᫮  r/m |
|81 /2 id ADC r/m32,imm32 1/3   䫠 ७ -|
|                             ।⢥  ᫮     |
|                              ᫮  r/m             |
|83 /2 ib ADC r/m16,imm8  1/3   䫠 ७ -|
|                             ।⢥ ७  |
|                               ᫮  r/m              |
|83 /2 ib ADC r/m32,imm8  1/3   䫠 ७ -|
|                             ।⢥ ७  |
|                             ᫮   ᫮  r/m     |
|10 /r    ADC r/m8,r8     1/3   䫠 ७       |
|                             ⮢ ॣ    r/m |
|11 /r    ADC r/m16,r16   1/3   䫠 ७       |
|                             ॣ-᫮  ᫮  r/m     |
|11 /r    ADC r/m32,r32   1/3   䫠 ७       |
|                             ॣ- ᫮         |
|                              ᫮  r/m             |
|12 /r    ADC r8,r/m8     1/2   䫠 ७  |
|                              r/m  ⮢ ॣ       |
|13 /r    ADC r16,r/m16   1/2   䫠 ७ ᫮ |
|                              r/m  ॣ-᫮           |
|13 /r    ADC r32,r/m32   1/2   䫠 ७       |
|                              ᫮  r/m  ॣ- |
|                              ᫮                   |
----------------------------------------------------------------

 

DEST <- DEST + SRC + CF
 ᠭ
 ADC 믮 楫᫥ ᫮  ࠭, DEST  SRC,  䫠 ७, CF.  ᫮ 頥    ࠭ (DEST),  믮 ᮮ⢥ ⠭ 䫠.  ADC 몭 믮   ࠡ饩  ᪮쪨 ⠬  ᪮쪨 ᫮ 樨 ᫮.  ந室 ᫮ ।⢥ ⮢ 祭  ࠭-᫮   ᫮, ।⢥ 祭 ᭠砫    ࠧ ᮮ⢥饣 ࠭, ᫮   ᫮.
塞 䫠
 OF, SF, ZF, AF, CF  PF ⠭  ᮮ⢥⢨  १⮬.
᪫祭 饭 ०
#GP(0), ᫨ १    ᥣ,  ண 饭 ; #GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.

ADD - 
----------------------------------------------------------------
|            ᫮      ᠭ                     |
|樨              ⠪⮢                                |
|                      横                                  |
|                                                              |
|04 ib    ADD AL,imm8     1    ।-             |
|                                AL               |
|05 iw    ADD AX,imm16    1    ।-             |
|                              ᫮  AX               |
|05 id    ADD EAX,imm32   1    ।-             |
|                               ᫮  EAX     |
|80 /0 ib ADD r/m8,imm8   1/3  ।-             |
|                                  r/m      |
|81 /0 iw ADD r/m16,imm16 1/3  ।-             |
|                              ᫮  ᫮  r/m      |
|81 /0 id ADD r/m32,imm32 1/3  ।-             |
|                               ᫮  |
|                             ᫮  r/m                      |
|83 /0 ib ADD r/m16,imm8  1/3  ।-             |
|                              ७  |
|                              ᫮  r/m                    |
|83 /0 ib ADD r/m32,imm8  1/3  ।-             |
|                              ७  ᫮|
|                               ᫮  r/m           |
|00 /r    ADD r/m8,r8     1/3  ⮢               |
|                             ॣ    r/m           |
|01 /r    ADD r/m16,r16   1/3  ॣ-               |
|                             ᫮  ᫮  r/m              |
|01 /r    ADD r/m32,r32   1/3  ॣ-               |
|                              ᫮   ᫮  |
|                              r/m                            |
|02 /r    ADD r8,r/m8     1/2    r/m             |
|                              ⮢ ॣ             |
|03 /r    ADD r16,r/m16   1/2  ᫮  r/m             |
|                              ॣ-᫮                 |
|03 /r    ADD r32,r/m32   1/2                  |
|                             ᫮  r/m  ॣ-  |
|                             ᫮                            |
----------------------------------------------------------------

 

DEST <- DEST + SRC

ᠭ
 ADC 믮 楫᫥ ᫮  ࠭, DEST  SRC.  ᫮ 頥    ࠭ (DEST),  믮 ᮮ⢥ ⠭ 䫠.
 ந室 ᫮ ।⢥ ⮢ 祭  ࠭-᫮   ᫮, ।⢥ 祭 ᭠砫    ࠧ ᮮ⢥饣 ࠭, ᫮   ᫮.
塞 䫠
 OF, SF, ZF, AF, CF  PF ⠭  ᮮ⢥⢨  १⮬.
᪫祭 饭 ०
#GP(0), ᫨ १    ᥣ,  ண 饭 ; #GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.

AND - ᪮ 
----------------------------------------------------------------
|            ᫮      ᠭ                     |
|樨              ⠪⮢                                |
|                      横                                  |
|                                                              |
|24 ib    AND AL,imm8     1    ᪮   -|
|                             ।⢥   AL          |
|25 iw    AND AX,imm16    1    ᪮   -|
|                             ।⢥ ᫮  AX          |
|25 id    AND EAX,imm32   1    ᪮   -|
|                             ।⢥  ᫮  EAX|
|80 /4 ib AND r/m8,imm8   1/3  ᪮   -|
|                             ।⢥     r/m |
|81 /4 iw AND r/m16,imm16 1/3  ᪮   -|
|                             ।⢥ ᫮  ᫮  r/m |
|81 /4 id AND r/m32,imm32 1/3  ᪮   -|
|                             ।⢥  ᫮     |
|                              ᫮  r/m             |
|83 /4 ib AND r/m16,imm8  1/3  ᪮   -|
|                             ।⢥ ७  |
|                               ᫮  r/m              |
|83 /4 ib AND r/m32,imm8  1/3  ᪮   -|
|                             ।⢥ ७  |
|                             ᫮   ᫮  r/m     |
|20 /r    AND r/m8,r8     1/3  ᪮         |
|                             ⮢ ॣ    r/m |
|21 /r    AND r/m16,r16   1/3  ᪮         |
|                             ॣ-᫮  ᫮  r/m     |
|21 /r    AND r/m32,r32   1/3  ᪮         |
|                             ॣ- ᫮         |
|                              ᫮  r/m             |
|22 /r    AND r8,r/m8     1/2  ᪮    |
|                              r/m  ⮢ ॣ       |
|23 /r    AND r16,r/m16   1/2  ᪮   ᫮ |
|                              r/m  ॣ-᫮           |
|23 /r    AND r32,r/m32   1/2  ᪮         |
|                              ᫮  r/m  ॣ- |
|                              ᫮                   |
----------------------------------------------------------------

 

DEST <- DEST AND SRC;
CF <- 0;
OF <- 0;

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

ARPL - ८ࠧ  RPL ᥫ

----------------------------------------------------------------
|            ᫮      ᠭ                     |
|樨              ⠪⮢                                |
|                      横                                  |
|                                                              |
|63 /r    ARPL r/m16,r16 9/9  ८ࠧ RPL r/m16      |
|                              祬 RPL r16                |
----------------------------------------------------------------

 

IF RPL (0,1)  DEST < RPL (0,1)  SRC
THEN
  ZF <- 1;
  RPL (0,1)  DEST <- RPL (0,1)  SRC;
ELSE
  ZF <- 0;
FI;

 ᠭ
 ARPL   ࠭.  ࠭  16-ࠧ來 ६   ॣ஬-᫮, ᮤঠ騬 祭 ᥫ. ன ࠭ -  ॣ-᫮. ᫨  RPL ("訢 ஢ ਢ஢" - 訥  ) ࢮ ࠭   RPL ண ࠭,  䫠 ZF ⠭,   RPL ࢮ ࠭ 㢥稢  ᮮ⢥饣 祭 ண ࠭.  ⨢ 砥 䫯 ZF 頥,   ࠭  .
 ARPL ᯮ  樮 ⥬,   ਪ ணࠬ.  ࠭,  ࠬ ᥫ ணࠬ    ਢ஢, 祬    뢠饩 ணࠬ.  ࠭  ARPL 筮  ॣ, ᮤঠ騩 祭 ᥫ CS 뢠饩 ணࠬ.
塞 䫠
 ZF ⠭, ᫨  RPL ࢮ ࠭  ᮮ⢥饣  ண ࠭.
᪫祭 饭 ०
#GP(0), ᫨ १    ᥣ,  ண 饭 ; #GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 6;  ARPL  ⮬ ०  ᯮ.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.

BOUND - ஢ઠ  ᨢ ⭮⥫쭮 ࠭ ᨢ

----------------------------------------------------------------
|            ᫮      ᠭ                     |
|樨              ⠪⮢                                |
|                      横                                  |
|                                                              |
|62 /r  BOUND r16,m16&16   7     ஢ઠ, 室  r16   |
|                                । ࠭ ( ன)|
|62 /r  BOUND r32,m32&32   7     ஢ઠ, 室  r32   |
|                                । ࠭ ( ன)|
----------------------------------------------------------------

 

IF (LeftSCR < [RightSCR] OR LeftSCR > [RightSCR + Operandsize/8])
   (*   ࠭   孥 ࠭ ᨢ *)
THEN 뢠 5;
FI;

ᠭ
 BOUND ᯥ稢,  騩   ᨢ 室  । ࠭,   , 饣  ᥡ    ࠭ ᨢ.  ࠭ ᯮ  ᫮, ᫨ ਡ ࠧ ࠭ ࠢ 16 ⠬,   ᫮, ᫨ ਡ ࠧ ࠭ ࠢ 32 ⠬.  ࠭ (ॣ)     ࠢ ࢮ ࠭   ( ࠭)    ࠢ ன ࠭   (襩 ࠭),  ᫮ ⮢,    ࠧ ࠭. ᫨ ॣ  室   ࠭,  ந室 뢠 5; EIP  㪠뢠   BOUND.
   ࠭ ᨢ 筮 頥    ᠬ ᨢ,  ࠭ 㥬묨 १ ⠭ ᬥ饭 ⭮⥫쭮 砫 ᨢ.
塞 䫠
.
᪫祭 饭 ०
뢠 5  襭 ࠭ ᨢ; #GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
ன ࠭   ࠭ ,   ॣ஬. ᫨  BOUND 믮  ⮬ ModR/M, ।⠢騬 ன ࠭  ॣ, ந室 #UD.
᪫祭 ० ॠ ᮢ
뢠 5  襭 ࠭ ᨢ; 뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH; 뢠 6, ᫨ ன ࠭  ॣ஬.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.

BSF - ࠧ來 ᪠஢  אַ ࠢ

----------------------------------------------------------------
|            ᫮      ᠭ                     |
|樨              ⠪⮢                                |
|                      横                                  |
|                                                              |
|0F BC  BSF r16,r/m16  6-42/7-43 ࠧ來 ᪠஢      |
|                                 אַ ࠢ ᫮ r/m|
|0F BC  BSF r32,r/m32  6-42/7-43 ࠧ來 ᪠஢      |
|                                 אַ ࠢ  |
|                                ᫮  r/m                   |
----------------------------------------------------------------

ਬ砭

n -  ᫮  㫥 ⮢.

 

IF r/m = 0
THEN
  ZF <- 1;
  ॣ <- ।;
ELSE
  ६ <- 0;
  ZF <- 0;
  WHILE BIT[r/m,६] = 0
  DO
   ६ <- ६ +1;
   ॣ <- ६;
  OD;
FI;


ᠭ
 BSF ᪠  ண ࠭-᫮   ᫮, 稭   0. ᫨   ࠢ 0,  ⠭ 䫠 ZF;  ⨢ 砥 䫠 ZF 頥,   ॣ 祭 㦠  ࢮ  ⠭ .
塞 䫠
 ZF ⠭, ᫨   ࠢ 0;  ⨢ 砥 䫠 ZF 頥.
᪫祭 饭 ०
#GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.

BSR - ࠧ來 ᪠஢  ⭮ ࠢ

----------------------------------------------------------------
|            ᫮        ᠭ                   |
|樨              ⠪⮢                                |
|                      横                                  |
|                                                              |
|0F BD  BSR r16,r/m16  6-103/7-104  ࠧ來 ᪠஢   |
|                                    ⭮ ࠢ     |
|                                   ᫮ r/m                  |
|0F BD  BSR r32,r/m32  6-103/7-104  ࠧ來 ᪠஢  |
|                                   ⭮ ࠢ       |
|                                    ᫮  r/m       |
----------------------------------------------------------------

 

IF r/m = 0
THEN
  ZF <- 1;
  ॣ <- ।;
ELSE
  ६ <- OperandSize - 1;
  ZF <- 0;
  WHILE BIT[r/m,६] = 0
  DO
   ६ <- ६ - 1;
   ॣ <- ६;
  OD;
FI;


ᠭ
 BSF ᪠  ண ࠭-᫮   ᫮, 稭  襣   ࠢ  襬. ᫨   ࠢ 0,  ⠭ 䫠 ZF;  ⨢ 砥 䫠 ZF 頥,   ॣ 祭 㦠  ࢮ   ᪠஢  ⭮ ࠢ ⠭ .
塞 䫠
 ZF ⠭, ᫨   ࠢ 0;  ⨢ 砥 䫠 ZF 頥.
᪫祭 饭 ०
#GP(0), ᫨ १    ᥣ,  ண 饭 ; #GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.

BSWAP -  ᫥⥫쭮 ⮢

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|OF C8/r   BSWAP r32   1        ᫥⥫쭮 -|
|                              ⮢  32-⮢ ॣ  -|
|                              ⥫쭮 " 襣    |
|                              襬"  " 襣  -|
|                              襬"                            |
-----------------------------------------------------------------

 

६ <- r32
r32(7..0) <- ६(31..24)
r32(15..8) <- ६(23..16)
r32(23..16) <- ६(15..8)
r32(31..24) <- ६(7..0)


ᠭ
 BSWAP ॢ ᫥⥫쭮 ⮢  32-ࠧ來 ॣ, ८ࠧ뢠  " 襣  襬"  " 襣  襬".  BSWAP ᯮ  16-ࠧ來 ࠧ஬ ࠭, १ ⠥  ॣ 祭  .
塞 䫠
.
᪫祭 饭 ०

᪫祭 ० ॠ ᮢ

᪫祭 㠫쭮 ० 8086

ਬ砭
BSWAP  ন ࠬ 386. . ࠧ 3.11,  ᠭ ᯮ짮 BSWAP ᮢ⨬  ࠬ 386.

BT  - ஢ઠ 

----------------------------------------------------------------
|              ᫮      ᠭ                   |
|樨                ⠪⮢                              |
|                        横                                |
|                                                              |
|0F A3       BT r/m16,r16  3/8      ࠭   䫠   |
|                                   ७                   |
|0F A3       BT r/m32,r32  3/8      ࠭   䫠   |
|                                   ७                   |
|0F BA/      BT r/m16,imm8 3/3      ࠭   䫠   |
|                                   ७                   |
|0F BA/4 ib  BT r/m32,imm8 3/3      ࠭   䫠   |
|                                   ७                   |
----------------------------------------------------------------

 

CF <- BIT[LeftSRC,RightSRC];

ᠭ
 BT ࠭ 祭 ,   ( ࠭)  ᬥ饭  (ன ࠭),  䫠 CF.
塞 䫠
 CF ᮤন 祭 ࠭ .
᪫祭 饭 ०
#GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
ਬ砭
 ࠭     ।⢥ ⠭⮩    祭  ॣ 饣 祭.     ᯮ짮 ⮫쪮 8-ࠧ來 ।⢥ 祭.  ࠭    32, ⠪   ।⢥ ᬥ饭  ⠢ 0...31.   롮    ॣ.  ப ⮢    ।⢥   ⮫쪮 ᬥ饭   ᫮   ᫮. ।⢥ ᬥ饭 ⮢, ॢ騥 31, ন ᯮ짮  ।⢥ ᬥ饭   樨   ᬥ饭  ࠭ . 訥  3  5  ।⢥ ᬥ饭  뢠   ।⢥ ᬥ饭 ,  訥   27  29 ᤢ  ꥤ  ᬥ饭   ० 樨.
 㯥       믮   ६ ⠬, 稭   ,  
ᯮ⥫  + (4 * (BitOffset DIV 32))
 ࠧ ࠭ 32  ,   , 稭   ,  
ᯮ⥫  + (2 * (BitOffset DIV 16))
 ࠧ ࠭ 16 ⮢.   㯠 ⠪ ࠧ    㯠    筮 믮  ᥣ   . ⥫쭮,    뫮   ,   ࠧ뢠 ᭮ ࠭⢠.  ⭮,  뫮  ॣࠬ /뢮, ࠢ塞 .  ⮣  㧪  ࠭    ᯮ  MOV,   㫨஢ 묨 ᯮ ॣ஢   .

BTC  - ஢ઠ   

----------------------------------------------------------------
|              ᫮      ᠭ                   |
|樨                ⠪⮢                              |
|                        横                                |
|                                                              |
|0F BB       BTC r/m16,r16  6/13    ࠭   䫠   |
|                                   ७     |
|0F BB       BTC r/m32,r32  6/13    ࠭   䫠   |
|                                   ७     |
|0F BA/7 ib  BTC r/m16,imm8 6/8     ࠭   䫠   |
|                                   ७     |
|0F BA/7 ib  BTC r/m32,imm8 6/8     ࠭   䫠   |
|                                   ७     |
----------------------------------------------------------------

 

CF <- BIT[LeftSRC,RightSRC];
BIT[LeftSCR, RightScr] <- NOT BIT[LeftSCR, RightSCR]

ᠭ
 BT ࠭ 祭 ,   ( ࠭)  ᬥ饭  (ன ࠭),  䫠 CF  ⥬ 믮  ⮣ .
塞 䫠
 CF ᮤন 祭  ࠭ .
᪫祭 饭 ०
#GP(0), ᫨ १    ᥣ,  ண 饭 ; #GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
ਬ砭
 ࠭     ।⢥ ⠭⮩    祭  ॣ 饣 祭.     ᯮ짮 ⮫쪮 8-ࠧ來 ।⢥ 祭.  ࠭    32, ⠪   ।⢥ ᬥ饭  ⠢ 0...31.   롮    ॣ.  ப ⮢    ।⢥   ⮫쪮 ᬥ饭   ᫮   ᫮. ।⢥ ᬥ饭 ⮢, ॢ騥 31, ন ᯮ짮  ।⢥ ᬥ饭   樨   ᬥ饭  ࠭ . 訥  3  5  ।⢥ ᬥ饭  뢠   ।⢥ ᬥ饭 ,  訥   27  29 ᤢ  ꥤ  ᬥ饭   ० 樨.
 㯥       믮   ६ ⠬, 稭   ,  
ᯮ⥫  + (4 * (BitOffset DIV 32))
 ࠧ ࠭ 32  ,   , 稭   ,  
ᯮ⥫  + (2 * (BitOffset DIV 16))
 ࠧ ࠭ 16 ⮢.   㯠 ⠪ ࠧ    㯠    筮 믮  ᥣ   . ⥫쭮,    뫮   ,   ࠧ뢠 ᭮ ࠭⢠.  ⭮,  뫮  ॣࠬ /뢮, ࠢ塞 .  ⮣  㧪  ࠭    ᯮ  MOV,   㫨஢ 묨 ᯮ ॣ஢   .

BTR  - ஢ઠ   

----------------------------------------------------------------
|              ᫮      ᠭ                   |
|樨                ⠪⮢                              |
|                        横                                |
|                                                              |
|0F B3       BTR r/m16,r16  6/13     ࠭   䫠  |
|                                    ७            |
|0F B3       BTR r/m32,r32  6/13     ࠭   䫠  |
|                                    ७            |
|0F BA/6 ib  BTR r/m16,imm8 6/8      ࠭   䫠  |
|                                    ७            |
|0F BA/6 ib  BTR r/m32,imm8 6/8      ࠭   䫠  |
|                                    ७            |
----------------------------------------------------------------

 

CF <- BIT[LeftSRC,RightSRC];
BIT[LeftSRC,RightSRC] <- 0;

ᠭ
 BTS ࠭ 祭 ,   ( ࠭)  ᬥ饭  (ன ࠭),  䫠 CF,  ⥬ 뢠    0.
塞 䫠
 CF ᮤন 祭 ࠭ .
᪫祭 饭 ०
#GP(0), ᫨ १    ᥣ,  ண 饭 ; #GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
ਬ砭
 ࠭     ।⢥ ⠭⮩    祭  ॣ 饣 祭.     ᯮ짮 ⮫쪮 8-ࠧ來 ।⢥ 祭.  ࠭    32, ⠪   ।⢥ ᬥ饭  ⠢ 0...31.   롮    ॣ.  ப ⮢    ।⢥   ⮫쪮 ᬥ饭   ᫮   ᫮. ।⢥ ᬥ饭 ⮢, ॢ騥 31 ( 15), ন ᯮ짮  ।⢥ ᬥ饭   樨   ᬥ饭  ࠭ . 訥  3  5  ।⢥ ᬥ饭  뢠   ।⢥ ᬥ饭 ,  訥   27  29 ᤢ  ꥤ  ᬥ饭   ० 樨.
 㯥       믮   ६ ⠬, 稭   ,  
ᯮ⥫  + (4 * (BitOffset DIV 32))
 ࠧ ࠭ 32  ,   , 稭   ,  
ᯮ⥫  + (2 * (BitOffset DIV 16))
 ࠧ ࠭ 16 ⮢.   㯠 ⠪ ࠧ    㯠    筮 믮  ᥣ   . ⥫쭮,    뫮   ,   ࠧ뢠 ᭮ ࠭⢠.  ⭮,  뫮  ॣࠬ /뢮, ࠢ塞 .  ⮣  㧪  ࠭    ᯮ  MOV,   㫨஢ 묨 ᯮ ॣ஢   .

BTS  - ஢ઠ   ⠭

----------------------------------------------------------------
|              ᫮      ᠭ                   |
|樨                ⠪⮢                              |
|                        横                                |
|                                                              |
|0F AB       BTS r/m16,r16  6/13     ࠭   䫠  |
|                                    ७  ⠭      |
|0F AB       BTS r/m32,r32  6/13     ࠭   䫠  |
|                                    ७  ⠭      |
|0F BA/5 ib  BTS r/m16,imm8 6/8      ࠭   䫠  |
|                                    ७  ⠭      |
|0F BA/5 ib  BTS r/m32,imm8 6/8      ࠭   䫠  |
|                                    ७  ⠭      |
----------------------------------------------------------------

 

CF <- BIT[LeftSRC,RightSRC];
BIT[LeftSRC,RightSRC] <- 1;

ᠭ
 BTS ࠭ 祭 ,   ( ࠭)  ᬥ饭  (ன ࠭),  䫠 CF,  ⥬ 뢠    1.
塞 䫠
 CF ᮤন 祭 ࠭ .
᪫祭 饭 ०
#GP(0), ᫨ १    ᥣ,  ண 饭 ; #GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
ਬ砭
 ࠭     ।⢥ ⠭⮩    祭  ॣ 饣 祭.     ᯮ짮 ⮫쪮 8-ࠧ來 ।⢥ 祭.  ࠭    32, ⠪   ।⢥ ᬥ饭  ⠢ 0...31.   롮    ॣ.  ப ⮢    ।⢥   ⮫쪮 ᬥ饭   ᫮   ᫮. ।⢥ ᬥ饭 ⮢, ॢ騥 31 ( 15), ন ᯮ짮  ।⢥ ᬥ饭   樨   ᬥ饭  ࠭ . 訥  3  5  ।⢥ ᬥ饭  뢠   ।⢥ ᬥ饭 ,  訥   27  29 ᤢ  ꥤ  ᬥ饭   ० 樨.
 㯥       믮   ६ ⠬, 稭   ,  
ᯮ⥫  + (4 * (BitOffset DIV 32))
 ࠧ ࠭ 32  ,   , 稭   ,  
ᯮ⥫  + (2 * (BitOffset DIV 16))
 ࠧ ࠭ 16 ⮢.   㯠 ⠪ ࠧ    㯠    筮 믮  ᥣ   . ⥫쭮,    뫮   ,   ࠧ뢠 ᭮ ࠭⢠.  ⭮,  뫮  ॣࠬ /뢮, ࠢ塞 .  ⮣  㧪  ࠭    ᯮ  MOV,   㫨஢ 묨 ᯮ ॣ஢   .

CALL - 맮 楤

-----------------------------------------------------------------
|            ᫮      ᠭ                      |
|樨              ⠪⮢                                 |
|                      横                                   |
|E8 cw     CALL rel16    3        맮 , ᬥ饭 ⭮- |
|                                 ⥫쭮 ᫥饩     |
|FF /2     CALL r/m16    5/5      맮 , ᢥ -  |
|                                 /ᢥ         |
|9A cd     CALL ptr16:16 18,pm=20 맮 ᥣ,    |
|                                  㪠⥫            |
|9A cd     CALL ptr16:16 pm=35    맮 ,   ਢ-|
|                                 ஢                    |
|9A cd     CALL ptr16:16 pm=69    맮 ,  ਢ-|
|                                 ஢,  ࠬ஢  |
|9A cd     CALL ptr16:16 pm=77+4x 맮 ,  ਢ-|
|                                 ஢,  ࠬ஢    |
|9A cd     CALL ptr16:16 pm=37+ts 맮                   |
|                                                               |
|FF /3     CALL m16:16   17,pm=20 맮 ᥣ,    |
|                                  ᫮ r/m             |
|FF /3     CALL m16:16   pm=35    맮 ,   ਢ-|
|                                 ஢                    |
|FF /3     CALL m16:16   pm=69    맮 ,  ਢ-|
|                                 ஢,  ࠬ஢  |
|FF /3     CALL m16:16   pm=77+4x 맮 ,  ਢ-|
|                                 ஢,  ࠬ஢    |
|FF /3     CALL m16:16   pm=37+ts 맮                   |
|                                                               |
|E8 cd     CALL rel32    3        맮 , ᬥ饭 ⭮- |
|                                 ⥫쭮 ᫥饩     |
|FF /2     CALL r/m32    5/5      맮 , ᢥ      |
|                                                               |
|9A cp     CALL ptr16:32 18,pm=20 맮 ᥣ,    |
|                                  㪠⥫            |
|9A cp     CALL ptr16:32 pm=35    맮 ,   ਢ-|
|                                 ஢                    |
|9A cp     CALL ptr16:32 pm=69    맮 ,  ਢ-|
|                                 ஢,  ࠬ஢  |
|9A cp     CALL ptr32:32 pm=77+4x 맮 ,  ਢ-|
|                                 ஢,  ࠬ஢    |
|9A cp     CALL ptr16:32 pm=37+ts 맮                   |
|                                                               |
|FF /3     CALL m16:32   17,pm=20 맮 ᥣ,    |
|                                  ᫮  r/m           |
|FF /3     CALL m16:32   pm=35    맮 ,   ਢ-  |
|                                 ஢                  |
|FF /3     CALL m16:32   pm=69    맮 ,  ਢ-|
|                                 ஢,  ࠬ஢  |
|FF /3     CALL m16:32   pm=77+4x 맮 ,  ਢ-|
|                                 ஢,  ࠬ஢    |
|FF /3     CALL m16:32   pm=37+ts 맮                   |
-----------------------------------------------------------------

ਬ砭: 祭 ts  ᫥饩 ⠡楩:

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

 

IF ⨯ 맮 rel16  rel32
THEN (*  ⭮⥫ 맮 *)
  IF OperandSize = 16
  THEN
    Push(IP);
    EIP <- (EIP + rel16) AND 0000FFFFH;
  ELSE (* OperandSize = 32 *)
    Push(EIP);
    EIP <- EIP + rel32;
  FI;
FI;

IF ⨯ 맮 r/m16  r/m32
THEN (*  ᮫ 맮 *)
  IF OperandSize = 16
  THEN
    Push(IP);
    EIP <- [r/m16] AND 0000FFFFH;
  ELSE (* OperandSize = 32 *)
    Push(EIP);
    EIP <- [r/m32];
  FI;
FI;

IF (PE = 0 OR (PE = 1 AND VM = 1))
(* ० ॠ ᮢ  㠫 ० 8086 *)
  AND  = 쭨 CALL
  (* .. ⨯ ࠭ ࠢ m16:16, m16:32, ptr16:16, ptr16:32 *)
THEN
  IF OperandSize = 16
  THEN
    Push(CS);
    Push(IP); (*  ᫥饩 ; 16 ⮢ *)
  ELSE
    Push(CS); (* 16  ⮢  ⥫ﬨ *)
    Push(EIP); (*  ᫥饩 ; 32  *)
  FI;
  IF ⨯ ࠭ ࠢ m16:16  m16:32
  THEN (* ᢥ 쭨 맮 *)
    IF OperandSize = 16
    THEN
      CS:IP <- [m16:16];
      EIP <- EIP AND 0000FFFFH; (*  訥 16 ⮢ *)
    ELSE (* OperandSize = 32 *)
      CS:IEP <- [m16:32];
    FI;
  FI;
  IF ⨯ ࠭ ࠢ ptr16:16  ptr16:32
  THEN (* אַ 쭨 맮 *)
    If OperandSize =16 *)
    THEN
      CS:IP <- ptr16:16;
      EIP <- EIP AND 0000FFFFH; (*  訥 16 ⮢ *)
    ELSE (* OperandSize = 32 *)
      CS:EIP <- ptr16:32;
    FI;
  FI;
FI;

IF (PE = 1 AND VM = 0) (* 饭 ०,   ० V86 *)
  AND  = 쭨 CALL
THEN
   ᢥ ஢    ᫮ EA;
    #GP(0)  襭 ࠭;
   ᥫ CS    ,  #GP(0);
  ஢, ⮡  ᥫ  CS   ।
    ࠭ ਯ୮ ⠡;  #GP(ᥫ  CS)
  ᫥ ࠧ ⨬ 祭    AR  ࠭
    ਯ;
     ᨬ  祭;
    室  --;
    室  --;
    室  -;
    室  -;
    室  --;
  ELSE #GP(ᥫ  ᥣ);
FI;

--:
  DPL   <= CPL  ELSE  #GP(ᥫ  ᥣ);
      ⢮   ELSE  #NP  (ᥫ  
                                                ᥣ);
  ⥪     筮         ELSE
                                                #SS(0);
  ⥫     ࠭  ᥣ ELSE
                                                #GP(0);
  㧨 ਯ  ᥣ  ॣ CS;
  㧨  CS ᥫ   ᥣ;
  㧨  EIP  ७ 㫥 ( ᬥ饭);
  IF OperandSize = 16 THEN EIP <- EIP AND 0000FFFFH; FI;

--:
  RPL   <= CPL  ELSE  #GP(ᥫ  ᥣ);
  DPL   = CPL  ELSE  #GP(ᥫ  ᥣ);
      ⢮   ELSE  #NP  (ᥫ  
                                                ᥣ);
  ⥪     筮         ELSE
                                                #SS(0);
  ⥫     ࠭  ᥣ ELSE
                                                #GP(0);
  㧨 ਯ  ᥣ  ॣ CS;
  㧨  CS ᥫ   ᥣ;
  ⠭ RPL  CS ࠢ CPL;
  㧨  EIP  ७ 㫥 ( ᬥ饭);
  IF OperandSize = 16 THEN EIP <- EIP AND 0000FFFFH; FI;

-:
  DPL  맮   >= CPL  ELSE  #GP(ᥫ 
                                                 맮);
  DPL  맮   >= RPL  ELSE  #GP(ᥫ 
                                                 맮);
   맮  ⢮    ELSE  #NP(ᥫ 
                                                 맮);
  ᬮਬ ᥫ  ᥣ  ਯ 
                                                 맮:
         ELSE #GP(0)
        । ࠭  ਯ୮
      ⠡ ELSE #GP(ᥫ  ᥣ)
     AR ࠭ ਯ   
      ᥣ ELSE #GP (ᥫ  ᥣ)
    DPL ࠭ ਯ   <= CPL ELSE
      #GP(ᥫ  ᥣ)
    IF ଭ  ᥣ AND DPL <CPL
    THEN 室  -
    ELSE 室  --
    FI;

-:
   ᥫ  SS   ஢ ਢ஢ 
  TSS
    ஢ ᥫ  ਯ   SS:
            ELSE #TS(0)
        ᥫ    室    ।  ࠭
          ਯ୮ ⠡ ELSE #TS(ᥫ SS)
       RPL ᥫ   ࠢ DPL  ᥣ
         ELSE #TS(ᥫ SS)
       ਯ  㪠뢠  ᥣ , 㯭
           ELSE #TS(ᥫ SS)
         ELSE #SS(ᥫ SS)
    IF OperandSize = 32
    THEN
        ⥪     ࠬ஢,  16 
          ELSE  #SS(ᥫ ᥣ)
       EIP    ࠭  ᥣ ELSE #GP(0)
       㧨  祭 SS:eSP  TSS
       㧨  祭 CS:EIP  
    ELSE
        ⥪     ࠬ஢,  8 
          ELSE #SS(ᥫ SS)
       IP    ࠭  ᥣ ELSE #GP(0)
       㧨  祭 SS:eSP  TSS
       㧨  祭 CS:IP  
    FI;
    㧨 ਯ CS
    㧨 ਯ SS
     쭨 㪠⥫ ண ⥪   ⥪
     ᫮ 稪   맮, ᪨஢ 5 ⮢
    ஢ ࠬ  ண ⥪  
       ⥪  
    ⠭ CPL ࠢ DPL ⥪ ᥣ
    ⠭ RPL  CS ࠢ CPL

--:
  IF OperandSize = 32
  THEN
    ⥪     6-⮢    ( 8
      ⮢  ⥫ﬨ)
      ELSE #SS(0)
    EIP    । ࠭  ᥣ
      ELSE #GP(0)
    㧨 CS:EIP  
  ELSE
    ⥪     4-⮢  
      ELSE #SS(0)
    IP    । ࠭  ᥣ
      ELSE #GP(0)
    㧨 CS:IP  
      ⥪  
    㧨 ਯ  ᥣ  ॣ CS
    ⠭ RPL  CS ࠢ CPL

-:
  DPL     >= CPL ELSE #TS(ᥫ )
  DPL     >= RPL ELSE #TS(ᥫ )
     ⢮ ELSE #NP(ᥫ )
  ᫥ ᥫ TSS,   ਯ  :
        /  
      ELSE #TS(ᥫ TSS)
      室  । ࠭ GDT
      ELSE #TS(ᥫ TSS)
     AR ਯ TSS    TSS
      ELSE #TS(ᥫ TSS)
     ﭨ  (TSS)  ⢮
      ELSE #NP(ᥫ TSS)
  - ( )  TSS
  IP  室  ࠭  ᥣ ELSE #TS(0)

--:
  DPL  TSS   >= CPL ELSE #TS(ᥫ TSS)
  DPL  TSS   >= RPL ELSE #TS(ᥫ TSS)
   AR ਯ TSS   㯭 TSS
    ELSE #TS(ᥫ TSS)
     ﭨ  (TSS)  ⢮
      ELSE #NP(ᥫ TSS)
  - ( )  TSS
  IP  室  ࠭  ᥣ ELSE #TS(0)

ᠭ
 CALL 뢠 믮 楤, 㪠  ࠭.  襭 楤 (  믮 맢 楤ன) 믮 த  , ᫥饩   CALL.
 ᠭ ⢨  ࠧ  .
 뢠 맮  祭ﬨ ⨯ r/m16, r/m32, rel16, rel32;   ࠭ 祭 ᥣ⭮ ॣ  ॡ.   CALL rel16  CALL rel32 ᪫뢠 饥  ᬥ饭  , ᫥饩   CALL,  । 祭. ଠ rel16 ᯮ,  ਡ ࠧ ࠭  ࠢ 16 ⠬; ଠ rel32 ᯮ  祭 ⮣ ਡ, ࠢ 32 ⠬.  뢠  32-⮢ ॣ EIP.  砥 rel16 訥 16 ⮢ ॣ EIP  ,   祭 ᬥ饭,  ॢ饥 16 ⮢.  CALL r/ m16  CALL r/m32  ॣ   ,  ண 믮 롮ઠ ᮫⭮ ᬥ饭 ᥣ. 饭, ࠭  r/m, ࠢ 32 ⠬  ਡ ࠧ ࠭ 32 (r/m32),  16 ⠬  ਡ ࠧ ࠭ 16 (r/m16). 饭  , ᫥饩   CALL, 頥  ⥪.  㤥   ⥪   RET  । 맢 楤.  CS ⮩ ମ  CALL  .
쭨 맮, CALL ptr16:16  CALL ptr16:32, ᯮ  ⢥ 쭥 㪠⥫  뢠 楤 -  -⮢ ࠭.  CALL m16:16  m16:32  쭨 㪠⥫     (ᢥ 뫪).  ० ॠ ᮢ  㠫쭮 ० 8086 쭨 㪠⥫ ᮤঠ 16 ⮢  ॣ CS  16  32   ॣ EIP ( ᨬ  ਡ ࠧ ࠭).      ⥪  ॣ, IP  EIP,  ⢥  .
 饭 ०   쭨 㪠⥫    AR  ਯ, 㥬 ᥫ୮  쭥 㪠⥫.  ᨬ  祭  AR 맮 믮   ᫥ ⨯ । ࠢ:
- 쭨 맮  ⮬  ᠬ ஢ 
- 쭨 맮  ࠧ묨 ஢ﬨ 
- ४祭 
 ஡ ଠ  । ࠢ  饭 ० .   6  7.
塞 䫠
 ४祭    䫠; ᫨  ४祭   ந室,  䫠  .
᪫祭 饭 ०
 쭨 맮: #GP, #NP, #SS  #TS,  㪠  ࠧ " ".
   맮: #GP(0), ᫨ 楤 室  । ࠭  ᥣ; #SS(0)  砥 ⨬   ᥣ SS; #PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
᪫祭 ० ॠ ᮢ
뢠 13, ᫨ -  ࠭   ࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.
᪫祭 㠫쭮 ० 8086
  ᪫祭,    ० ॠ ᮢ: #PF ( ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪    ⥪饬 ஢ ਢ஢, ࠢ 3.
ਬ砭
 쭨 맮  32-ࠧ來  ᥣ  16-ࠧ來  ᥣ  室   64 32-ࠧ來  ᥣ, ᪮ ਡ ࠧ ࠭   ⮬ 砥 ⠭  16,   ࠭ ⮫쪮 16-⮢ ᬥ饭  .
