[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
INT 21 - Turbo Debug HARDWARE BREAKPOINTS - SEND CMD TO HARDWARE BRKPNT DRIVER
        AH = 40h
        BX = handle for character device "TDHDEBUG"
        CX = number of bytes to write
        DS:DX -> hardware breakpoint command (see below)
Return: CF clear if successful
            AX = number of bytes actually written
        CF set on error
            AX = error code (05h,06h) (see AH=59h)
Note:   results are retrieved by reading from the device

Format of hardware breakpoint commands:
Offset  Size    Description
 00h    BYTE    command code
                00h install interrupt vectors
                01h get hardware capabilities
                02h enable hardware breakpoints
                03h disable hardware breakpoints
                04h set hardware breakpoint
                05h clear hardware breakpoint
                06h set I/O base address and reset hardware
                07h restore interrupt vectors
---command code 00h---
 01h    DWORD   pointer to Turbo Debugger entry point to be jumped to on
                hardware breakpoint; call with CPU state the same as on
                the breakpoint except for pushing AX and placing an entry
                code (FFh if breakout button or breakpoint handle) in AH
---command code 04h---
 01h    BYTE    breakpoint type
                00h memory read
                01h memory write
                02h memory read/write
                03h I/O read
                04h I/O write
                05h I/O read/write
                06h instruction fetch
 02h    BYTE    address matching mode
                00h any address
                01h equal to test value
                02h different from test value
                03h above test value
                04h below test value
                05h below or equal to test value
                06h above or equal to test value
                07h within inclusive range
                08h outside specified range
 03h    DWORD   32-bit linear low address
 07h    DWORD   32-bit linear high address
 0Bh    WORD    pass count
 0Dh    BYTE    data size (01h, 02h, or 04h)
 0Eh    BYTE    source of matched bus cycle
                01h CPU
                02h DMA
                03h either
 0Fh    BYTE    data-matching mode
                00h match any
                01h equal to test value
                02h different from test value
                03h above test value
                04h below test value
                05h below or equal to test value
                06h above or equal to test value
                07h within specified range
                08h outside specified range
 10h    DWORD   low data value
 14h    DWORD   high data value
 18h    DWORD   data mask specifying which bits of the data are tested
---command code 05h---
 01h    BYTE    handle of breakpoint to clear (breakpoint returned from command
                04h)
---command code 06h---
 01h    WORD    base address of hardware debugger board

See Also: 213F
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson