The five control registers determine various characteristics of the currently executing program. These registers are: CR0, CR2, CR3, CR4, and CR8.
List of Control Registers
The five registers are:
CR0: Flags controlling the operating mode and status of the processor.CR2: The page fault linear address (the address that last caused a page fault).CR3: The physical address of the base of the paging structure.CR4: Flags to enable various processor extensions.CR8: Access to the "Task Priority Register" (TPR).
CR2
TODOCR8
TODOUndefined Registers
Currently, only five registers are defined: CR0, CR2, CR3, CR4, and CR8. Despite this, the instruction encodings allow the possibility of registers all the way through CR15; Accessing any of the undefined registers will result in #UD.
Accessing the Registers
Control registers are accessed using two special forms of the MOV instruction. These instructions are detailed on their specific page: MOV-CR.
Access to the control registers is only allowed through general purpose registers; Memory forms of the ModR/M byte (i.e. where mod is not 0b11) are not allowed.