- Mastering Assembly Programming
- Alexey Lyashko
- 194字
- 2021-08-20 10:23:28
Debug control register (DR7)
DR7 defines how the breakpoints set in Debug Address Registers should be interpreted by the processor and whether they should be interpreted at all.
The bits layout of this register is shown in the following table:

Table 3: DR7 bit layout
L* bits, when set to 1, enable breakpoint at the address which is specified in the corresponding Debug Address Register locally--within a task. These bits are reset by the processor on each task switch. G* bits, on the contrary, enable breakpoints globally--for all tasks, meaning that these bits are not reset by the processor.
The R/W* bits specify breakpoint conditions, as follows:
- 00: Break on instruction execution
- 01: Break when the specified address is accessed for writing only
- 10: Undefined
- 11: Break on either read or write access or when an instruction at the specified address is executed
The LEN* bits specify the size of a breakpoint in bytes, thus, allowing coverage of more than one instruction or more than one byte of data:
- 00: Breakpoint is 1-byte long
- 01: Breakpoint is 2-bytes long
- 10: Breakpoint is 8-bytes long (long mode only)
- 11: Breakpoint is 4-bytes long
推薦閱讀
- Python爬蟲開發:從入門到實戰(微課版)
- C語言程序設計教程(第2版)
- x86匯編語言:從實模式到保護模式(第2版)
- C語言程序設計立體化案例教程
- Scratch 3游戲與人工智能編程完全自學教程
- Python神經網絡項目實戰
- OpenShift在企業中的實踐:PaaS DevOps微服務(第2版)
- HTML5秘籍(第2版)
- Procedural Content Generation for C++ Game Development
- R數據科學實戰:工具詳解與案例分析
- Mockito Essentials
- 超簡單:Photoshop+JavaScript+Python智能修圖與圖像自動化處理
- Neo4j權威指南 (圖數據庫技術叢書)
- 計算機視覺增強現實應用平臺開發
- 信息安全技術(第2版)