2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Run-Time Library
4 * PURPOSE: Debug Routines
5 * FILE: lib/rtl/amd64/debug_asm.S
6 * PROGRAMER: Timo Kreuzer (timo.kreuzer@reactos.org)
11 /* GLOBALS ****************************************************************/
14 PUBLIC DbgBreakPointWithStatus
15 PUBLIC DbgUserBreakPoint
18 PUBLIC DbgBreakPointNoBugCheck
19 PUBLIC RtlpBreakWithStatusInstruction
21 /* FUNCTIONS ***************************************************************/
25 .PROC DbgBreakPointNoBugCheck
38 .PROC DbgBreakPointWithStatus
43 .PROC RtlpBreakWithStatusInstruction
51 /* Pass the service number in eax */
58 /******************************************************************************
59 * NTSTATUS NTAPI DebugService(
60 * IN ULONG Service, // <rcx> = [rsp + 8]
61 * IN PVOID Buffer, // <rdx> = [rsp + 16]
62 * IN ULONG Length, // <r8> = [rsp + 24]
63 * IN PVOID Argument1, // <r9> = [rsp + 32]
64 * IN PVOID Argument2); // [rsp + 40]
68 /* Prepare registers for interrupt */
69 mov eax, ecx // Service
70 mov rcx, rdx // Buffer
71 mov edx, r8d // Length
72 mov r8, r9 // Argument1
73 mov r9, [rsp + 40] // Argument2
75 /* Call the Interrupt */