달력

12

« 2024/12 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2010. 2. 6. 15:20

Mov 명령문 자료실2010. 2. 6. 15:20


http://inxzone.net

MOV - 바이트나 워드를 옮김

        사용:  MOV     dest,src
        수정되는 플래그: 없음
        
        바이트나 워드를 소스 오퍼랜드로 부터 데스티네이션 오퍼랜드로 복사한다.
        만약 데스티네이션이 SS 라면 버그 많은 808x CPU 빼고는
        인터럽트(중단)가 불가능하다. 어떤 CPU들은 만약 데스티네이션이 세그먼트 레지스터라면
        인터럽트를 불가능하게 한다.


                                 클럭                   바이트
        오퍼랜드         808x  286   386   486          용량

        reg,reg           2     2     2     1             2
        mem,reg          9+EA   3     2     1            2-4  (W88=13+EA)
        reg,mem          8+EA   5     4     1            2-4  (W88=12+EA)
        mem,immed       10+EA   3     2     1            3-6  (W88=14+EA)

        reg,immed         4     2     2     1            2-3
        mem,accum         10    3     2     1             3   (W88=14)
        accum,mem         10    5     4     1             3   (W88=14)
        segreg,reg16      2     2     2     3             2
        segreg,mem16     8+EA   5     5     9            2-4  (W88=12+EA)

        reg16,segreg      2     2     2     3             2
        mem16,segreg     9+EA   3     2     3            2-4  (W88=13+EA)
        reg32,CR0/CR2/CR3 -     -     6     4
        CR0,reg32         -     -     10    16
        CR2,reg32         -     -     4     4             3

        CR3,reg32         -     -     5     4             3
        reg32,DR0/DR1/DR2/DR3   -     22   10             3
        reg32,DR6/DR7     -     -     22   10             3
        DR0/DR1/DR2/DR3,reg32   -     22   11             3
        DR6/DR7,reg32     -     -     16   11             3

        reg32,TR6/TR7     -     -     12    4             3
        TR6/TR7,reg32     -     -     12    4             3
        reg32,TR3                           3
        TR3,reg32                           6
        - when the 386 special registers are used all operands are 32 bits
          (386 특별 레지스터들이 사용되면 모든 오퍼랜드들은 32비트이다.)

        88 / r MOV r/m8,r8 Move r8 to r/m8

        89 / r MOV r/m16,r16 Move r16 to r/m16
        89 / r MOV r/m32,r32 Move r32 to r/m32
        8A / r MOV r8,r/m8 Move r/m8 to r8
        8B / r MOV r16,r/m16 Move r/m16 to r16
        8B / r MOV r32,r/m32 Move r/m32 to r32
        8C / r MOV r/m16,Sreg** Move segment register to r/m16

        8E / r MOV Sreg,r/m16** Move r/m16 to segment register
        A0 MOV AL, moffs8* Move byte at ( seg:offset) to AL
        A1 MOV AX, moffs16* Move word at ( seg:offset) to AX
        A1 MOV EAX, moffs32* Move doubleword at ( seg:offset) to EAX
        A2 MOV moffs8*,AL Move AL to ( seg:offset)
        A3 MOV moffs16*,AX Move AX to ( seg:offset)
        A3 MOV moffs32*,EAX Move EAX to ( seg:offset)

        B0+ rb MOV r8,imm8 Move imm8 to r8
        B8+ rw MOV r16,imm16 Move imm16 to r16
        B8+ rd MOV r32,imm32 Move imm32 to r32
        C6 / 0 MOV r/m8,imm8 Move imm8 to r/m8
        C7 / 0 MOV r/m16,imm16 Move imm16 to r/m16
        C7 / 0 MOV r/m32,imm32 Move imm32 to r/m32

        0F 22 / r MOV CR0, r32 Move r32 to CR0
        0F 22 / r MOV CR2, r32 Move r32 to CR2
        0F 22 / r MOV CR3, r32 Move r32 to CR3
        0F 22 / r MOV CR4, r32 Move r32 to CR4
        0F 20 / r MOV r32,CR0 Move CR0 to r32
        0F 20 / r MOV r32,CR2 Move CR2 to r32

        0F 20 / r MOV r32,CR3 Move CR3 to r32
        0F 20 / r MOV r32,CR4 Move CR4 to r32
        0F 21/ r MOV r32, DR0-DR7 Move debug register to r32
        0F 23 / r MOV DR0-DR7, r32 Move r32 to debug register
:
Posted by 해토머리