mov dr

Move Debug Register

MOV DRn, r

Moves data to/from Debug Registers (DR0-DR7) (Privileged).

Details

Moves a 32-bit or 64-bit value from a general-purpose register to a debug register (DR0–DR7). This privileged instruction (CPL=0 only) performs hardware debug state modification; writes to DR6 and DR7 may clear breakpoint conditions and alter breakpoint control. No arithmetic flags are affected.

Pseudocode Operation

DRn ← r (where n ∈ {0,1,2,3,6,7}); breakpoint state may change

Example

MOV DRn, rax

Encoding

Binary Layout
0F
+0
23
+1
ModRM
+2
 
Format System
Opcode 0F 23 /r
Extension System

Operands

  • dest
    DRn
  • src
    Reg