- 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
推薦閱讀
- 從零開始:數字圖像處理的編程基礎與應用
- 計算機圖形學編程(使用OpenGL和C++)(第2版)
- CentOS 7 Linux Server Cookbook(Second Edition)
- x86匯編語言:從實模式到保護模式(第2版)
- Practical Windows Forensics
- Android Native Development Kit Cookbook
- HTML5 APP開發從入門到精通(微課精編版)
- Learning iOS Security
- Redmine Cookbook
- 3D Printing Designs:Octopus Pencil Holder
- 例說FPGA:可直接用于工程項目的第一手經驗
- HTML5 Canvas核心技術:圖形、動畫與游戲開發
- HTML5程序設計基礎教程
- 劍指大數據:企業級電商數據倉庫項目實戰(精華版)
- Spring MVC Blueprints