
MOV - 뫪 

-----------------------------------------------------------------
|               ᫮      ᠭ                   |
|樨                 ⠪⮢                              |
|                         横                                |
|                                                               |
|88 /r     MOV r/m8,r8      1      뫪 ⮢ ॣ |
|                                    r/m                   |
|89 /r     MOV r/m16,r16    1      뫪 ॣ - ᫮   |
|                                   ᫮ r/m                  |
|89 /r     MOV r/m32,r32    1      뫪 ॣ - |
|                                  ᫮   ᫮ r/m    |
|8A /r     MOV r8,r/m8      1      뫪  r/m          |
|                                   ⮢ ॣ           |
|8B /r     MOV r16,r/m16    1      뫪 ᫮ r/m          |
|                                   ॣ - ᫮            |
|8B /r     MOV r32,r/m32    1      뫪  ᫮ r/m |
|                                   ॣ -  ᫮    |
|8C /r     MOV r/m16,Sreg   3/3    뫪 ᥣ⭮        |
|                                  ॣ  ᫮ r/m         |
|8E /r     MOV Sreg,r/m16   3/9    뫪 ᫮ r/m          |
|                                   ᥣ ॣ         |
|A0        MOV AL,moffs8    1      뫪              |
|                                  (ᥣ:ᬥ饭)  AL      |
|A1        MOV AX,moffs16   1      뫪 ᫮             |
|                                  (ᥣ:ᬥ饭)  AX      |
|A1        MOV EAX,moffs32  1      뫪  ᫮    |
|                                  (ᥣ:ᬥ饭)  EAX     |
|A2        MOV moffs8, AL   1      뫪 AL                |
|                                  (ᥣ:ᬥ饭)           |
|A3        MOV moffs16,AX   1      뫪 AX                |
|                                  (ᥣ:ᬥ饭)           |
|A3        MOV moffs32,EAX  1      뫪 EAX               |
|                                  (ᥣ:ᬥ饭)           |
|B0 + rb   MOV reg8,imm8    1      뫪 ।⢥  |
|                                    ॣ              |
|B8 + rw   MOV reg16,imm16  1      뫪 ।⢥  |
|                                  ᫮  ॣ              |
|B8 + rd   MOV reg32,imm32  1      뫪 ।⢥  |
|                                   ᫮  ॣ     |
|C6        MOV r/m8,imm8    1      뫪 ।⢥  |
|                                     r/m             |
|C7        MOV r/m16,imm16  1      뫪 ।⢥  |
|                                  ᫮  ᫮ r/m            |
|C7        MOV r/m32,imm32  1      뫪 ।⢥  |
|                                   ᫮              |
|                                    ᫮  r/m         |
-----------------------------------------------------------------

ਬ砭: moffs8, moffs16  moffs32   ⮣
ᬥ饭 ⭮⥫쭮  ᥣ. 8, 16  32 
ࠧ . ਡ ࠧ   । ࠧ
ᬥ饭, 16  32 .

 
--------------

DEST <- SRC;

ᠭ
--------

 MOV  ன ࠭  .

᫨ ࠭ 祭  ᥣ ॣ (DS, ES, SS 
..),   ॣ ⠪ 㦠   ਯ.
  ॣ    ਯ୮ ⠡,
ᮮ⢥饣 ᥫ. ⮩ ᥫ (祭 0000-0003)
  㦥  ॣ DS  ES,  뢠 ᪫祭;
, ᯮ짮 ॣ஢ DS  ES 맮 ᮡ
 #GP(0),  뫪    ந.

 MOV 뫪  SS 頥  뢠  
믮 ᫥饩  (  ᥣ 
 MOV  ESP).

㧪 ᥣ⭮ ॣ  饭 ० ਢ 
ᯥ樠 ஢ઠ  ⢨,  ᠭ  ᫥饬
⨭:

IF SS 㦥;
THEN
  IF ᥫ ⮩ THEN #GP(0);
FI;
   ᥫ        ࠭    ਯ୮
      ⠡  #GP(ᥫ);
  RPL ᥫ   ࠢ CPL  #GP(ᥫ);
 AR   ᥣ ,  㯭  
       #GP(ᥫ);
  DPL   AR   ࠢ CPL  #GP(ᥫ);
         ⬥祭      騩  
    #SS(ᥫ);
  㧪 SS ᥫ஬;
  㧪 SS ਯ஬;
FI;
IF DS, ES, FS  GS 㦥 - ᥫ஬;
THEN
   ᥫ        ࠭    ਯ୮
      ⠡  #GP(ᥫ);
   AR   ᥣ    ᥣ,
      㯭  ⥭  #GP(ᥫ);
  IF ᥣ   -ଭ  ᥣ
  THEN  RPL,  CPL     ࠢ DPL   AR;
  ELSE #GP(ᥫ);
  FI;
         ⬥祭      騩  
    #NP(ᥫ);
  㧪 ᥣ⭮ ॣ ᥫ஬;
  㧪 ᥣ⭮ ॣ ਯ஬;
FI;
IF DS, ES, FS  GS 㦥  ᥫ஬;
THEN
  㧪 ᥣ⭮ ॣ ᥫ஬;
  ⪠  ⮢୮ ਯ;
FI;

塞 䫠
----------------

     

᪫祭 饭 ०
----------------------------------

#GP, #SS  #NP, ᫨ 㦠 ᥣ ॣ; #GP(0),
᫨ 祭  ᥣ, 㯭  ;
#GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭
  ᥣ CS, DS, ES, FS  GS; #SS(0)  砥
⨬   ᥣ SS; #PF( ᡮ)  砥
࠭筮 ᡮ; #AC  ࠢ 뫪   
⥪饬 ஢ ਢ஢, ࠢ 3.

᪫祭 ० ॠ ᮢ
---------------------------------------

뢠 13, ᫨ -  ࠭  
࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.

᪫祭 㠫쭮 ० 8086
----------------------------------------

  ᪫祭,    ० ॠ ᮢ: #PF (
ᡮ)  ࠭ ᡮ. #AC  ࠢ 뫪 
  ⥪饬 ஢ ਢ஢, ࠢ 3.

-----------------------------------------------------------------

MOV - 뫪   ᯥ樠 ॣ   

-----------------------------------------------------------------
|               ᫮      ᠭ                   |
|樨                 ⠪⮢                              |
|                         横                                |
|                                                               |
|0F 22 /r  MOV CR0,r32      16     뫪 (ॣ)        |
|                                  ࠢ騩 ॣ          |
|0F 20 /r  MOV r32,CR0/     4      뫪 (ࠢ饣 ॣ-|
|              CR1/CR2             )  (ॣ)            |
|0F 22 /r  MOV CR2/CR3,r32  4      뫪 (ॣ)        |
|                                  (ࠢ騩 ॣ)        |
|0F 21 /r  MOV r32,DR0 - 3  10     뫪 (⫠筮 ॣ- |
|                                  )  (ॣ)            |
|0F 21 /r  MOV r32,DR6/DR7  10     뫪 (⫠筮 ॣ- |
|                                  )  (ॣ)            |
|0F 23 /r  MOV DR0 - 3,r32  11     뫪 (ॣ)        |
|                                  (⫠ ॣ)         |
|0F 23 /r  MOV DR6/DR7,r32  11     뫪 (ॣ)        |
|                                  (⫠ ॣ)         |
|0F 24 /r  MOV r32,TR4/TR5/ 4      뫪 (⮢ ॣ-   |
|              TR6/TR7             )  (ॣ)            |
|0F 26 /r  MOV TR4/TR5/TR6/        뫪 (ॣ)         |
|              TR7,r32              (⮢ ॣ)         |
|0F 24 /r  MOV r32,TR3      4      뫪 (⮢ ॣ-   |
|                                  3)  (ॣ)           |
|0F 26 /r  MOV TR3,r32      6      뫪 (ॣ)         |
|                                   (⮢  ॣ3)       |
-----------------------------------------------------------------

 
--------------

DEST <- SRC;

ᠭ
--------

    MOV ࠭  㦠
᫥騥 ᯥ樠 ॣ / ॣ஢ 饣 祭:

     - ࠢ騥 ॣ CR0, CR2  CR3

     - ⫠ ॣ DR0, DR1, DR2, DR3, DR6  DR7

     - ⮢ ॣ TR3, TR4, TR5, TR6  TR7

 ⨬  ᥣ ᯮ 32-ࠧ來 ࠭,
ᨬ  ਡ ࠧ ࠭.

塞 䫠
----------------

 OF, SF, ZF, AF, PF  CF ।.

᪫祭 饭 ०
----------------------------------

#GP, ᫨ ⥪騩 ஢ ਢ஢  ࠢ 0.

᪫祭 ० ॠ ᮢ
---------------------------------------

     

᪫祭 㠫쭮 ० 8086
----------------------------------------

#GP(0)  ⪥ 믮 .

ਬ砭
----------

  믮  ஢ ਢ஢ 0 
० ॠ ᮢ;  ⨢ 砥  ᪫祭
.

 reg   ModR/M ,   ᯥ樠 ॣ஢ 
 ⥣ਨ .    mod ᥣ ࠢ 11.
 r/m  騩 ॣ 饣 祭.

।  १ࢨ஢ ⠬ ᥣ  
᢮ ﭨ,    室  ।饬
뢠.

-----------------------------------------------------------------


MOVS/MOVSB/MOVSW/MOVSD - 뫪   ப  ப

-----------------------------------------------------------------
|               ᫮      ᠭ                   |
|樨                 ⠪⮢                              |
|                         横                                |
|                                                               |
|A4        MOVS m8,m8       7      뫪               |
|                                  [(E)SI]  ES:[(E)DI]         |
|A5        MOVS m16,m16     7      뫪 ᫮              |
|                                  [(E)SI]  ES:[(E)DI]         |
|A5        MOVS m32,m32     7      뫪  ᫮     |
|                                  [(E)SI]  ES:[(E)DI]         |
|A4        MOVSB            7      뫪               |
|                                  DS:[(E)SI]  ES:[(E)DI]      |
|A5        MOVSW            7      뫪 ᫮              |
|                                  DS:[(E)SI]  ES:[(E)DI]      |
|A5        MOVSD            7      뫪  ᫮     |
|                                  DS:[(E)SI]  ES:[(E)DI]      |
-----------------------------------------------------------------

 
--------------

IF ( = MOVSD) OR (  ࠭ - ᫮)
THEN OperandSize <- 32;
ELSE OperandSize <- 16;
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
    [-祭] <- [-筨];(*祭
                                                 ᫮*)
    IF DF = 0 THEN IncDec <- 4 ELSE IncDec <- -4; FI;
  FI;
FI;
-筨 <- -筨 + IncDec;
-祭 <- -祭 + IncDec;

ᠭ
--------

 MOVS    ᫮  [(E)SI]    ᫮
 ES:[(E)DI]. ࠭ 祭  ᮢ  ॣ
ES: ८। ᥣ  ࠭ 祭 .
८। ᥣ   ᯮ짮 
࠭-筨 (室 ࠭):  㬮砭
ਭ ॣ DS.

 ࠭ 筨  祭 ।
᪫⥫쭮 ᮤন ॣ஢ (E)SI  (E)DI. ।
믮  MOVS   㧨  ॣ (E)SI 
(E)DI ࠢ 祭.  MOVS, MOVSW  MOVSD 
ᨭ  MOVS  ࠡ  ⠬, ᫮  묨
᫮, ᮮ⢥⢥.

᫥ 뫪  ந室 ⮬᪮ த
ॣ஢ (E)SI  (E)DI. ᫨ 䫠 DF ࠢ 0 (뫠 믮
 CLD),  믮 ६ ॣ஢; ᫨  䫠
DF ࠢ 1 (뫠 믮  STD),  믮
६ ॣ஢.  ६ 
६  , ᫨ 믮﫠 뫪 ,
 2, ᫨ 믮﫠 뫪 ᫮,   4 -  ᫮.

 MOVS  ।⢮ 䨪 REP  뫪
ࠧ CX ⮢  ᫮. ஡  ⮬ .  ᠭ
䨪 REP.

塞 䫠
----------------

     

᪫祭 饭 ०
----------------------------------

#GP(0), ᫨ 祭  ᥣ, 㯭 
; #GP(0)  砥 ⨬ ᯮ⥫쭮 
࠭   ᥣ CS, DS, ES, FS  GS; #SS(0) 
砥 ⨬   ᥣ SS; #PF( ᡮ) 
砥 ࠭筮 ᡮ; #AC  ࠢ 뫪  
 ⥪饬 ஢ ਢ஢, ࠢ 3.

᪫祭 ० ॠ ᮢ
---------------------------------------

뢠 13, ᫨ -  ࠭  
࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.

᪫祭 㠫쭮 ० 8086
----------------------------------------

  ᪫祭,    ० ॠ ᮢ: #PF (
ᡮ)  ࠭ ᡮ. #AC  ࠢ 뫪 
  ⥪饬 ஢ ਢ஢, ࠢ 3.

-----------------------------------------------------------------


MOVSX - 뫪  ७ 

-----------------------------------------------------------------
|               ᫮      ᠭ                   |
|樨                 ⠪⮢                              |
|                         横                                |
|                                                               |
|0F BE /r  MOVSX r16,r/m8   3/3    뫪   ᫮      |
|                                   ७          |
|0F BE /r  MOVSX r32,r/m8   3/3    뫪       |
|                                  ᫮  ७    |
|0F BF /r  MOVSX r32,r/m16  3/3    뫪 ᫮      |
|                                  ᫮  ७    |
-----------------------------------------------------------------

 
--------------

DEST <- SignExtend(SRC);

ᠭ
--------

 MOVSX 뢠 ᮤন ᯮ⥫쭮  
ॣ    ᫮,   祭  
ᮮ⢥⢨  ਡ⮬ ࠧ ࠭  (16  32
)  뢠 १  ॣ 祭.


塞 䫠
----------------

     

᪫祭 饭 ०
----------------------------------

#GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭
  ᥣ CS, DS, ES, FS  GS; #SS(0)  砥
⨬   ᥣ SS; #PF( ᡮ)  砥
࠭筮 ᡮ; #AC  ࠢ 뫪   
⥪饬 ஢ ਢ஢, ࠢ 3.

᪫祭 ० ॠ ᮢ
---------------------------------------

뢠 13, ᫨ -  ࠭  
࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.

᪫祭 㠫쭮 ० 8086
----------------------------------------

  ᪫祭,    ० ॠ ᮢ: #PF (
ᡮ)  ࠭ ᡮ. #AC  ࠢ 뫪 
  ⥪饬 ஢ ਢ஢, ࠢ 3.

-----------------------------------------------------------------

MOVZX - 뫪  ७ 㫥

-----------------------------------------------------------------
|               ᫮      ᠭ                   |
|樨                 ⠪⮢                              |
|                         横                                |
|                                                               |
|0F B6 /r  MOVZX r16,r/m8   3/3    뫪   ᫮      |
|                                   ७ 㫥          |
|0F B6 /r  MOVZX r32,r/m8   3/3    뫪       |
|                                  ᫮  ७ 㫥    |
|0F B7 /r  MOVZX r32,r/m16  3/3    뫪 ᫮      |
|                                  ᫮  ७ 㫥    |
-----------------------------------------------------------------

 
--------------

DEST <- ZeroExtend(SRC);

ᠭ
--------

 MOVZX 뢠 ᮤন ᯮ⥫쭮  
ॣ    ᫮,   祭 㫥 
ᮮ⢥⢨  ਡ⮬ ࠧ ࠭  (16  32
)  뢠 १  ॣ 祭.


塞 䫠
----------------

     

᪫祭 饭 ०
----------------------------------

#GP(0)  砥 ⨬ ᯮ⥫쭮  ࠭
  ᥣ CS, DS, ES, FS  GS; #SS(0)  砥
⨬   ᥣ SS; #PF( ᡮ)  砥
࠭筮 ᡮ; #AC  ࠢ 뫪   
⥪饬 ஢ ਢ஢, ࠢ 3.

᪫祭 ० ॠ ᮢ
---------------------------------------

뢠 13, ᫨ -  ࠭  
࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.

᪫祭 㠫쭮 ० 8086
----------------------------------------

  ᪫祭,    ० ॠ ᮢ: #PF (
ᡮ)  ࠭ ᡮ. #AC  ࠢ 뫪 
  ⥪饬 ஢ ਢ஢, ࠢ 3.

-----------------------------------------------------------------


MUL -    AL  AX

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
|F6 /4   MUL AL,r/m8   13/18,13/18             |
|                                   (AX <- AL *  r/m)       |
|F7 /4   MUL AX,r/m16  13/26,13/26             |
|                                   (DX:AX <- AX * ᫮ r/m)   |
|F7 /4   MUL EAX,r/m32 13/42,13/42             |
|                                   (EDX:EAX <- EAX *           |
|                                    ᫮ r/m)          |
-----------------------------------------------------------------

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

᪮ ᫮ ⠪⮢ 横 = ᫨ m <> 0 
max(襥 楫 ᫮, 襥 (log |m|)) + 6 横.
                                        2
᪮ ᫮ ⠪⮢ 横 = ᫨ m = 0  9 横.

( m  ⥫)


 
--------------

IF  ⮢ ࠧ
THEN AX <- AL * r/m8
ELSE (*  ࠧ஬  ᫮   ᫮ *)
  IF OperandSize = 16
  THEN DX:AX <- AX * r/m16
  ELSE (* OperandSize = 32 *)
    EDX:EAX <- EAX * r/m32
  FI;
FI;

ᠭ
--------

 IMUL 믮 㬭  .  ⢨ 
 ࠧ ࠭ ᫥騬 ࠧ:

- ࠭ ࠧ஬   㬭  祭 AL; १
  頥  ॣ AX. ᫨ 祭 AH ࠢ 0,  䫠 CF
   OF ;  ⨢ 砥  ⠭.

- ࠭ ࠧ஬  ᫮ 㬭  祭 AX; १
  頥   ॣ஢ DX:AX.  DX ᮤন 
  ⮬ 訥 16 ⮢ ந. ᫨ 祭 DX ࠢ 0,
   䫠 CF  OF ;  ⨢ 砥 
  ⠭.

- ࠭ ࠧ஬   ᫮ 㬭  祭 EAX;
  १ 頥   ॣ஢ EDX:EAX.  EDX
  ᮤন  ⮬ 訥 32  ந. ᫨ 祭
  EDX ࠢ 0,  䫠 CF  OF ;  ⨢ 砥
   ⠭.


塞 䫠
----------------

᫨   १ ࠢ 0,  䫠 OF  CF
;  ⨢ 砥  ⠭; 䫠 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.

-----------------------------------------------------------------

NEG - 栭    

-----------------------------------------------------------------
|               ᫮      ᠭ                   |
|樨                 ⠪⮢                              |
|                         横                                |
|                                                               |
|F6 /3     NEG r/m8        1/3     栭      |
|                                    r/m               |
|F7 /3     NEG r/m16       1/3     栭      |
|                                   ᫮ r/m               |
|F7 /3     NEG r/m32       1/3     栭      |
|                                    ᫮ r/m      |
-----------------------------------------------------------------

 
--------------

IF r/m = 0 THEN CF <- 0 ELSE CF <- 1; FI;
r/m <- - r/m

ᠭ
--------

 NEG 頥 祭 ॣ  ࠭ 
ᮮ⢥騬   . ࠭ ⠥  ,
 १ 頥 ⭮  ࠭.

 CF ⠭, ᫨ ࠭  ࠢ ,  䫠 CF
頥.

塞 䫠
----------------

 CF ⠭, ᫨ ࠭  ࠢ ,  䫠 CF
頥; 䫠 OF, SF, ZF  PF ⠭  ᮮ⢥⢨
 १⮬.

᪫祭 饭 ०
----------------------------------

#GP(0), ᫨ 祭  ᥣ, 㯭 
; #GP(0)  砥 ⨬ ᯮ⥫쭮 
࠭   ᥣ CS, DS, ES, FS  GS; #SS(0) 
砥 ⨬   ᥣ SS; #PF( ᡮ) 
砥 ࠭筮 ᡮ; #AC  ࠢ 뫪  
 ⥪饬 ஢ ਢ஢, ࠢ 3.

᪫祭 ० ॠ ᮢ
---------------------------------------

뢠 13, ᫨ -  ࠭  
࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.

᪫祭 㠫쭮 ० 8086
----------------------------------------

  ᪫祭,    ० ॠ ᮢ: #PF (
ᡮ)  ࠭ ᡮ. #AC  ࠢ 뫪 
  ⥪饬 ஢ ਢ஢, ࠢ 3.

-----------------------------------------------------------------



NOP -  樨
-----------------------------------------------------------------
|               ᫮      ᠭ                   |
|樨                 ⠪⮢                              |
|                         横                                |
|                                                               |
|90        NOP             1        樨                 |
-----------------------------------------------------------------

ᠭ
--------

 NOP  믮  樨.  NOP  -
⮢ ,     ,   
 ⥪ 設,  ᪫祭 ॣ (E)IP.

 NOP ।⠢ ᮡ ᪨   
XCHG (E)AX,(E)AX.

塞 䫠
----------------

     

᪫祭 饭 ०
----------------------------------

     

᪫祭 ० ॠ ᮢ
---------------------------------------

     

᪫祭 㠫쭮 ० 8086
----------------------------------------

     

-----------------------------------------------------------------


NOT - 栭     (ࠧ來 )

-----------------------------------------------------------------
|               ᫮      ᠭ                   |
|樨                 ⠪⮢                              |
|                         横                                |
|                                                               |
|F6 /2     NOT r/m8        1/3       ⨢ |
|                                  祭         |
|                                   r/m                    |
|F7 /2     NOT r/m16       1/3       ⨢ |
|                                  祭         |
|                                  ᫮ r/m                    |
|F7 /2     NOT r/m32       1/3       ⨢ |
|                                  祭         |
|                                   ᫮ r/m            |
-----------------------------------------------------------------

 
--------------

r/m <- NOT r/m;

ᠭ
--------

 NOT  ࠭:  1 ⠭ 0, 
.

塞 䫠
----------------

     

᪫祭 饭 ०
----------------------------------

#GP(0), ᫨ 祭  ᥣ, 㯭 
; #GP(0)  砥 ⨬ ᯮ⥫쭮 
࠭   ᥣ CS, DS, ES, FS  GS; #SS(0) 
砥 ⨬   ᥣ SS; #PF( ᡮ) 
砥 ࠭筮 ᡮ; #AC  ࠢ 뫪  
 ⥪饬 ஢ ਢ஢, ࠢ 3.

᪫祭 ० ॠ ᮢ
---------------------------------------

뢠 13, ᫨ -  ࠭  
࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.

᪫祭 㠫쭮 ० 8086
----------------------------------------

  ᪫祭,    ० ॠ ᮢ: #PF (
ᡮ)  ࠭ ᡮ. #AC  ࠢ 뫪 
  ⥪饬 ஢ ਢ஢, ࠢ 3.

-----------------------------------------------------------------


OR - ᪮ ᪫饥 

----------------------------------------------------------------
|            ᫮      ᠭ                     |
|樨              ⠪⮢                                |
|                      横                                  |
|                                                              |
|0C ib     OR AL,imm8     1    ᪮    -|
|                             ।⢥   AL          |
|0D iw     OR AX,imm16    1    ᪮    -|
|                             ।⢥ ᫮  AX          |
|0D id     OR EAX,imm32   1    ᪮    -|
|                             ।⢥  ᫮  EAX|
|80 /1 ib  OR r/m8,imm8   1/3  ᪮    -|
|                             ।⢥     r/m |
|81 /1 iw  OR r/m16,imm16 1/3  ᪮    -|
|                             ।⢥ ᫮  ᫮  r/m |
|81 /1 id  OR r/m32,imm32 1/3  ᪮    -|
|                             ।⢥  ᫮     |
|                              ᫮  r/m             |
|83 /1 ib  OR r/m16,imm8  1/3  ᪮    -|
|                             ।⢥ ७  |
|                               ᫮  r/m              |
|83 /1 ib  OR r/m32,imm8  1/3  ᪮    -|
|                             ।⢥ ७  |
|                             ᫮   ᫮  r/m     |
|08 /r     OR r/m8,r8     1/3  ᪮          |
|                             ⮢ ॣ    r/m |
|09 /r     OR r/m16,r16   1/3  ᪮          |
|                             ॣ-᫮  ᫮  r/m     |
|09 /r     OR r/m32,r32   1/3  ᪮          |
|                             ॣ- ᫮         |
|                              ᫮  r/m             |
|0A /r     OR r8,r/m8     1/2  ᪮     |
|                              r/m  ⮢ ॣ       |
|OB /r     OR r16,r/m16   1/2  ᪮    ᫮ |
|                              r/m  ॣ-᫮           |
|OB /r     OR r32,r/m32   1/2  ᪮          |
|                              ᫮  r/m  ॣ- |
|                              ᫮                   |
----------------------------------------------------------------

 
--------------

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

ᠭ
--------

 OR  ᪫饥     ࠭ 
頥 १   ࠭.   १ ࠢ
0, ᫨  ᮮ⢥  ࠭ ࠢ 0;  ⨢
砥  १ ࠢ 1.


塞 䫠
----------------

 CF  OF  ; 䫠 PF, SF  ZF ⠭ 
ᮮ⢥⢨  १⮬; 䫠 AF ।.

᪫祭 饭 ०
----------------------------------

#GP(0), ᫨ १    ᥣ,  ண
饭 ; #GP(0)  砥 ⨬ ᯮ⥫쭮
 ࠭   ᥣ CS, DS, ES, FS  GS; #SS(0)
 砥 ⨬   ᥣ SS; #PF( ᡮ) 
砥 ࠭筮 ᡮ; #AC  ࠢ 뫪  
 ⥪饬 ஢ ਢ஢, ࠢ 3.

᪫祭 ० ॠ ᮢ
---------------------------------------

뢠 13, ᫨ -  ࠭  
࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.

᪫祭 㠫쭮 ० 8086
----------------------------------------

  ᪫祭,    ० ॠ ᮢ: #PF (
ᡮ)  ࠭ ᡮ; #AC  ࠢ 뫪 
  ⥪饬 ஢ ਢ஢, ࠢ 3.

-----------------------------------------------------------------


OUT - 뢮  

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
|E6 ib   OUT imm8,AL  16,pm=11*/    뢮  AL  ।-|
|                     31**,vm=29         |
|E7 ib   OUT imm8,AX  16,pm=11 */   뢮 ᫮ AX  ।-|
|                     31**,vm=29         |
|E7 ib  OUT imm8,EAX  16,pm=11*/    뢮  ᫮ EAX   |
|                     31**,vm=29    ।⢥     |
|                                                    |
|EE      OUT DX,AL    16,pm=11*/    뢮  AL  ,      |
|                     31**,vm=29     ண   DX   |
|EF      OUT DX,AX    16,pm=11*/    뢮 ᫮ AX  ,      |
|                     31**,vm=29     ண   DX   |
|EF     OUT DX,EAX    16,pm=11*/    뢮  ᫮ EAX   |
|                     31**,vm=29    , ண  DX|
-----------------------------------------------------------------
     ਬ砭: * ᫨ 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 
ᯮ짮  OUT  ॣ஬ DX  ⢥ ࢮ
࠭. ᫨  ᮤন 䨪 쬨-⮢
,  祭  㫥  16 ⮢.

塞 䫠
----------------

     

᪫祭 饭 ०
----------------------------------

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

᪫祭 ० ॠ ᮢ
---------------------------------------

     

᪫祭 㠫쭮 ० 8086
----------------------------------------

 #GP(0), ᫨   ᮮ⢥ ⮢ ࠧ襭
/뢮  TSS ࠢ 1.

-----------------------------------------------------------------


OUTS/OUTSB/OUTSW/OUTSD  - 뢮 ப  

-----------------------------------------------------------------
|         ᫮      ᠭ                         |
|樨           ⠪⮢                                    |
|                   横                                      |
|                                                               |
|6E     OUTS DX,r/m8  17,pm=10*/    뢮  [(E)SI]  , |
|                     32**,vm=30      DX               |
|6F     OUTS DX,r/m16 17,pm=10*/    뢮 ᫮ [(E)SI]  , |
|                     32**,vm=30      DX               |
|6F     OUTS DX,r/m32 17,pm=10*/    뢮  ᫮ [(E)SI]|
|                     32**,vm=30     ,   DX       |
|6E     OUTSB         17,pm=10*/  뢮  DS:[(E)SI]  ,|
|                     32**,vm=30      DX               |
|6F     OUTSW         17,pm=10*/  뢮 ᫮ DS:[(E)SI]  ,|
|                     32**,vm=30      DX               |
|6F     OUTSD         17,pm=10*/  뢮 . ᫮ DS:[(E)SI] |
|                     32**,vm=30     ,   DX       |
-----------------------------------------------------------------

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

 
--------------

IF AddressSize = 16
THEN ᯮ짮 SI  -筨;
ELSE (* AddressSize = 32 *)
     ᯮ짮 ESI  -筨;
FI;

IF (PE = 1) AND ((VM = 1) OR (CPL > IOPL))
THEN (* 㠫 ० 8086  饭  ०    CPL  >
        IOPL *)
  IF NOT I-O-Permission(DEST, width(DEST))
  THEN #GP(0);
  FI;
FI;
IF  ⮢ ⨯
THEN
  [DX] <-[-筨];  (*    ᭮
      ࠭⢮ /뢮 ᮣ᭮ DX *)
  IF DF = 0 THEN IncDec <- 1 ELSE IncDec <- -1; FI;
FI;
IF OperandSize = 16
THEN
  [DX] <- [-筨];  (*  ᫮  ᭮
      ࠭⢮ /뢮 ᮣ᭮ DX *)
  IF DF = 0 THEN IncDec <- 2 ELSE IncDec <- -2; FI;
FI;
IF OperandSize = 32
THEN
  [DX] <- [-筨] <- [DX];  (*   ᫮
       ᭮ ࠭⢮ /뢮 ᮣ᭮ DX *)
  IF DF = 0 THEN IncDec <- 4 ELSE IncDec <- -4; FI;
FI;
-筨 <- -筨 + IncDec;


ᠭ
--------

 OUTS 뫠   , ᫮  
᫮ ,  ॣ஬ -筨  
뢮, 㥬 ॣ஬ DX. ᫨ ਡ ࠧ  
  ࠢ 16 ⠬,   ⢥ ॣ
-筨 ᯮ ॣ SI;  ⨢ 砥,
 ਡ ࠧ  ࠢ 32 ⠬, ॣ஬
-筨  ESI.

 OUTS      ।⢥
祭.   ᮢ 祭  ॣ DX.
। 믮  OUTS  DX   㦥
ࠢ쭮 祭.

 筨  । ᮤন ॣ 
筨. । 믮  OUTS  ॣ 
筨   㦥 ࠢ쭮 祭 .

᫥ 믮 뫪 ॣ  筨
ᮮ⢥⢥ ࠧ ⮬᪨ த. ᫨ 䫠 DF
ࠢ 0 (뫠 믮  CLD),  ந室 ६
ॣ; ᫨ 䫠 DF ࠢ 1 (뫠 믮  STD), 
ந室  ६. ६  ६ ॣ ࠢ
1  뢮 , 2  뢮 ᫮  4  뢮 
᫮.

 OUTSB, OUTSW  OUTSD -  ᨭ  OUTS,
ࠡ騥  ⮬, ᫮   ᫮, ᮮ⢥⢥.
 OUTS  ।⢮ 䨪 REP  뢮 ,
ࠢ CX ⮢  ᫮.   ᠭ  
REP.

塞 䫠
----------------

     

᪫祭 饭 ०
----------------------------------

#GP(0), ᫨ ⥪騩 ஢ ਢ஢ ᫥ 
஢ ਢ஢ /뢮 (IOPL)  ᫨  
ᮮ⢥ ⮢ ࠧ襭 /뢮  TSS ࠢ 1.
ᯮ⥫쭮  ࠭   ᥣ CS, DS, ES,
FS  GS; #SS(0)  砥 ⨬   ᥣ SS; #
PF( ᡮ)  砥 ࠭筮 ᡮ; #AC  ࠢ
뫪    ⥪饬 ஢ ਢ஢, ࠢ
3.

᪫祭 ० ॠ ᮢ
---------------------------------------

뢠 13, ᫨ -  ࠭  
࠭⢠ ᯮ⥫ ᮢ  0  0FFFFH.

᪫祭 㠫쭮 ० 8086
----------------------------------------

 #GP(0), ᫨   ᮮ⢥ ⮢ ࠧ襭
/뢮  TSS ࠢ 1. #PF ( ᡮ)  ࠭ ᡮ;
#AC  ࠢ 뫪    ⥪饬 ஢
ਢ஢, ࠢ 3.

-----------------------------------------------------------------
