CPU Registers x86: Difference between revisions

Jump to navigation Jump to search
Tablify DR7
[unchecked revision][unchecked revision]
No edit summary
(Tablify DR7)
Line 353:
====DR6====
 
It permits the debugger to determine which debug conditions have occuredoccurred. When an enabled debug exception is enabled, low order bits 0-3 are set before entering debug exception handler.
 
====DR7====
 
{| {{wikitable}}
DR7 controls breakpoint conditions.
|-
The low order 8 bits enable the four breakpoints. Bit 0 enables breaking at DR0 locally, Bit 1 enables a global breakpoint on DR0, Bit 2,3 for DR1 and so on.
! bit
A local breakpoint bit deactivates on hardware task switches, globals do not. Bits 16-17 determine conditions for DR0, 20-21 for DR1, 24-25 for DR2 and 28-29 for DR3. In these bits, 00b means execution break, 01b means a write watchpoint, and 11b means an R/W watchpoint. 10b is reserved for I/O R/W (unsupported). Bits 18-19 determine the size of the DR0 breakpoint, 22-23 for DR1, 26-27 for DR2 and 30-31 for DR3. TODO
! description
|-
| 0
| local DR0 breakpoint
|-
| 1
| global DR0 breakpoint
|-
| 2
| local DR1 breakpoint
|-
| 3
| global DR1 breakpoint
|-
| 4
| local DR2 breakpoint
|-
| 5
| global DR2 breakpoint
|-
| 6
| local DR3 breakpoint
|-
| 7
| global DR3 breakpoint
|-
| 16-17
| conditions for DR0
|-
| 18-19
| size of DR0 breakpoint
|-
| 20-21
| conditions for DR1
|-
| 22-23
| size of DR1 breakpoint
|-
| 24-25
| conditions for DR2
|-
| 26-27
| size of DR2 breakpoint
|-
| 28-29
| conditions for DR3
|-
| 30-31
| size of DR3 breakpoint
|-
|}
A local breakpoint bit deactivates on hardware task switches, while a global does not.<br>
00b condition means execution break, 01b means a write watchpoint, and 11b means an R/W watchpoint. 10b is reserved for I/O R/W (unsupported).
 
==Test registers==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu