| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description | | ----------------- | ---------------------- | ----- | ----------- | --------------- | ---------------------------------------------------------- | | 88 /r | MOV r/m8, r8 | MR | Valid | Valid | Move r8 to r/m8. | | REX + 88 /r | MOV r/m81, r81 | MR | Valid | N.E. | Move r8 to r/m8. | | 89 /r | MOV r/m16, r16 | MR | Valid | Valid | Move r16 to r/m16. | | 89 /r | MOV r/m32, r32 | MR | Valid | Valid | Move r32 to r/m32. | | REX.W + 89 /r | MOV r/m64, r64 | MR | Valid | N.E. | Move r64 to r/m64. | | 8A /r | MOV r8, r/m8 | RM | Valid | Valid | Move r/m8 to r8. | | REX + 8A /r | MOV r81, r/m81 | RM | Valid | N.E. | Move r/m8 to r8. | | 8B /r | MOV r16, r/m16 | RM | Valid | Valid | Move r/m16 to r16. | | 8B /r | MOV r32, r/m32 | RM | Valid | Valid | Move r/m32 to r32. | | REX.W + 8B /r | MOV r64, r/m64 | RM | Valid | N.E. | Move r/m64 to r64. | | 8C /r | MOV r/m16, Sreg2 | MR | Valid | Valid | Move segment register to r/m16. | | 8C /r | MOV r16/r32/m16, Sreg2 | MR | Valid | Valid | Move zero extended 16-bit segment register to r16/r32/m16. | | REX.W + 8C /r | MOV r64/m16, Sreg2 | MR | Valid | Valid | Move zero extended 16-bit segment register to r64/m16. | | 8E /r | MOV Sreg, r/m162 | RM | Valid | Valid | Move r/m16 to segment register. | | REX.W + 8E /r | MOV Sreg, r/m642 | RM | Valid | Valid | Move lower 16 bits of r/m64 to segment register. | | A0 | MOV AL, moffs83 | FD | Valid | Valid | Move byte at (seg:offset) to AL. | | REX.W + A0 | MOV AL, moffs83 | FD | Valid | N.E. | Move byte at (offset) to AL. | | A1 | MOV AX, moffs163 | FD | Valid | Valid | Move word at (seg:offset) to AX. | | A1 | MOV EAX, moffs323 | FD | Valid | Valid | Move doubleword at (seg:offset) to EAX. | | REX.W + A1 | MOV RAX, moffs643 | FD | Valid | N.E. | Move quadword at (offset) to RAX. | | A2 | MOV moffs8, AL | TD | Valid | Valid | Move AL to (seg:offset). | | REX.W + A2 | MOV moffs81, AL | TD | Valid | N.E. | Move AL to (offset). | | A3 | MOV moffs163, AX | TD | Valid | Valid | Move AX to (seg:offset). | | A3 | MOV moffs323, EAX | TD | Valid | Valid | Move EAX to (seg:offset). | | REX.W + A3 | MOV moffs643, RAX | TD | Valid | N.E. | Move RAX to (offset). | | B0+ rb ib | MOV r8, imm8 | OI | Valid | Valid | Move imm8 to r8. | | REX + B0+ rb ib | MOV r81, imm8 | OI | Valid | N.E. | Move imm8 to r8. | | B8+ rw iw | MOV r16, imm16 | OI | Valid | Valid | Move imm16 to r16. | | B8+ rd id | MOV r32, imm32 | OI | Valid | Valid | Move imm32 to r32. | | REX.W + B8+ rd io | MOV r64, imm64 | OI | Valid | N.E. | Move imm64 to r64. | | C6 /0 ib | MOV r/m8, imm8 | MI | Valid | Valid | Move imm8 to r/m8. | | REX + C6 /0 ib | MOV r/m81, imm8 | MI | Valid | N.E. | Move imm8 to r/m8. | | C7 /0 iw | MOV r/m16, imm16 | MI | Valid | Valid | Move imm16 to r/m16. | | C7 /0 id | MOV r/m32, imm32 | MI | Valid | Valid | Move imm32 to r/m32. | | REX.W + C7 /0 id | MOV r/m64, imm32 | MI | Valid | N.E. | Move imm32 sign extended to 64-bits to r/m64. |