37 lines
5.3 KiB
Markdown
37 lines
5.3 KiB
Markdown
| 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. | |