Last active
October 22, 2017 22:18
-
-
Save Rhomboid/6020867 to your computer and use it in GitHub Desktop.
x86_64/amd64 mov instruction variations
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Opcode Instruction Op/ 64-Bit Compat/ Description | |
En Mode Leg Mode | |
88 /r MOV r/m8, r8 MR Valid Valid Move r8 to r/m8. | |
REX + 88 /r MOV r/m8, r8 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 r8, r/m8 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, Sreg MR Valid Valid Move segment register to r/m16. | |
REX.W + 8C /r MOV r/m64, Sreg MR Valid Valid Move zero extended 16-bit segment register to r/m64. | |
8E /r MOV Sreg, r/m16 RM Valid Valid Move r/m16 to segment register. | |
REX.W + 8E /r MOV Sreg, r/m64 RM Valid Valid Move lower 16 bits of r/m64 to segment register. | |
A0 MOV AL, moffs8 FD Valid Valid Move byte at (seg:offset) to AL. | |
REX.W + A0 MOV AL, moffs8 FD Valid N.E. Move byte at (offset) to AL. | |
A1 MOV AX, moffs16 FD Valid Valid Move word at (seg:offset) to AX. | |
A1 MOV EAX, moffs32 FD Valid Valid Move doubleword at (seg:offset) to EAX. | |
REX.W + A1 MOV RAX, moffs64 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 moffs8, AL TD Valid N.E. Move AL to (offset). | |
A3 MOV moffs16, AX TD Valid Valid Move AX to (seg:offset). | |
A3 MOV moffs32, EAX TD Valid Valid Move EAX to (seg:offset). | |
REX.W + A3 MOV moffs64, RAX TD Valid N.E. Move RAX to (offset). | |
B0+ rb MOV r8, imm8 OI Valid Valid Move imm8 to r8. | |
REX + B0+ rb MOV r8, imm8 OI Valid N.E. Move imm8 to r8. | |
B8+ rw MOV r16, imm16 OI Valid Valid Move imm16 to r16. | |
B8+ rd MOV r32, imm32 OI Valid Valid Move imm32 to r32. | |
REX.W + B8+ rd MOV r64, imm64 OI Valid N.E. Move imm64 to r64. | |
C6 /0 MOV r/m8, imm8 MI Valid Valid Move imm8 to r/m8. | |
REX + C6 /0 MOV r/m8, imm8 MI Valid N.E. Move imm8 to r/m8. | |
C7 /0 MOV r/m16, imm16 MI Valid Valid Move imm16 to r/m16. | |
C7 /0 MOV r/m32, imm32 MI Valid Valid Move imm32 to r/m32. | |
REX.W + C7 /0 MOV r/m64, imm32 MI Valid N.E. Move imm32 sign extended to 64-bits to r/m64. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment