Specifications
Intel
®
64 and IA-32 Architectures Software Developer’s Manual Documentation Changes 90
Documentation Changes
Instruction Operand Encoding
...
MOV—Move to/from Control Registers
Instruction Operand Encoding
...
Op/En Operand 1 Operand 2 Operand 3 Operand 4
A ModRM:r/m (w) ModRM:reg (r) NA NA
B ModRM:reg (w) ModRM:r/m (r) NA NA
C AL/AX/EAX/RAX Displacement NA NA
D Displacement AL/AX/EAX/RAX NA NA
E reg (w) imm8/16/32/64 NA NA
F ModRM:r/m (w) imm8/16/32/64 NA NA
Opcode Instruction Op/
En
64-Bit
Mode
Compat/
Leg Mode
Description
0F 20/r MOV r32, CR0–
CR7
A N.E. Valid Move control register to r32
0F 20/r MOV r64, CR0–
CR7
A Valid N.E. Move extended control
register to r64.
REX.R + 0F 20
/0
MOV r64, CR8 A Valid N.E. Move extended CR8 to
r64.
1
0F 22 /r MOV CR0–CR7,
r32
AN.E. Valid Move r32 to control register
0F 22 /r MOV CR0–CR7,
r64
AValid N.E. Move r64 to extended
control register.
REX.R + 0F 22
/0
MOV CR8, r64 AValid N.E. Move r64 to extended
CR8.
1
NOTE:
1. MOV CR* instructions, except for MOV CR8, are serializing instructions. MOV CR8 is not
architecturally defined as a serializing instruction. For more information, see Chapter 8 in Intel
®
64 and IA-32 Architectures Software Developer’s Manual, Volume 3A.
Op/En Operand 1 Operand 2 Operand 3 Operand 4
A ModRM:reg (w) ModRM:r/m (r) NA NA