mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 20:25:39 +00:00
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys.
This commit is contained in:
parent
b94e2d8ca0
commit
c2c66aff7d
24198 changed files with 0 additions and 37285 deletions
129
sdk/lib/rtl/i386/debug_asm.S
Normal file
129
sdk/lib/rtl/i386/debug_asm.S
Normal file
|
@ -0,0 +1,129 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS Run-Time Library
|
||||
* PURPOSE: Debug Routines
|
||||
* FILE: lib/rtl/i386/debug_asm.S
|
||||
* PROGRAMER: Alex Ionescu (alex@relsoft.net)
|
||||
*/
|
||||
|
||||
#include <asm.inc>
|
||||
|
||||
/* FUNCTIONS ***************************************************************/
|
||||
|
||||
.code
|
||||
|
||||
PUBLIC _DbgBreakPointNoBugCheck@0
|
||||
FUNC _DbgBreakPointNoBugCheck@0
|
||||
FPO 0, 0, 0, 0, 0, FRAME_FPO
|
||||
|
||||
/* Do breakpoint */
|
||||
int 3
|
||||
ret
|
||||
|
||||
ENDFUNC
|
||||
|
||||
|
||||
PUBLIC _DbgUserBreakPoint@0
|
||||
_DbgUserBreakPoint@0:
|
||||
PUBLIC _DbgBreakPoint@0
|
||||
FUNC _DbgBreakPoint@0
|
||||
FPO 0, 0, 0, 0, 0, FRAME_FPO
|
||||
|
||||
/* Do breakpoint */
|
||||
int 3
|
||||
ret
|
||||
|
||||
ENDFUNC
|
||||
|
||||
|
||||
PUBLIC _DbgBreakPointWithStatus@4
|
||||
FUNC _DbgBreakPointWithStatus@4
|
||||
FPO 0, 1, 0, 0, 0, FRAME_FPO
|
||||
|
||||
/* Put Status in EAX */
|
||||
mov eax, [esp+4]
|
||||
|
||||
PUBLIC _RtlpBreakWithStatusInstruction@0
|
||||
GLOBAL_LABEL _RtlpBreakWithStatusInstruction@0
|
||||
|
||||
/*
|
||||
* Do a "labeled" breakpoint -- the KD data block has a "BreakpointWithStatus" field
|
||||
* pointing to this label, letting a debugger easily check that a breakpoint has occured here
|
||||
* and thereby know that there is a Status for it to retrieve from EAX
|
||||
*
|
||||
* In other words, Status is passed as an argument directly to the debugger
|
||||
*/
|
||||
int 3
|
||||
ret 4
|
||||
|
||||
ENDFUNC
|
||||
|
||||
|
||||
PUBLIC _DebugService2@12
|
||||
FUNC _DebugService2@12
|
||||
FPO 0, 3, 3, 0, 1, FRAME_NONFPO
|
||||
|
||||
/* Set up the stack */
|
||||
push ebp
|
||||
CFI_ADJUST_CFA_OFFSET 4
|
||||
CFI_REL_OFFSET ebp, 0
|
||||
mov ebp, esp
|
||||
CFI_DEF_CFA_REGISTER ebp
|
||||
|
||||
/* Call the interrupt */
|
||||
mov eax, [ebp+16]
|
||||
mov ecx, [ebp+8]
|
||||
mov edx, [ebp+12]
|
||||
int HEX(2D)
|
||||
int 3
|
||||
|
||||
/* Return */
|
||||
pop ebp
|
||||
CFI_SAME_VALUE ebp
|
||||
CFI_DEF_CFA esp, 12
|
||||
ret 12
|
||||
|
||||
ENDFUNC
|
||||
|
||||
|
||||
PUBLIC _DebugService@20
|
||||
FUNC _DebugService@20
|
||||
FPO 0, 5, 3, 0, 1, FRAME_NONFPO
|
||||
|
||||
/* Set up the stack */
|
||||
push ebp
|
||||
CFI_ADJUST_CFA_OFFSET 4
|
||||
CFI_REL_OFFSET ebp, 0
|
||||
mov ebp, esp
|
||||
CFI_DEF_CFA_REGISTER ebp
|
||||
|
||||
/* Save non-volatiles */
|
||||
push ebx
|
||||
CFI_REL_OFFSET ebx, -4
|
||||
push edi
|
||||
CFI_REL_OFFSET edi, -8
|
||||
|
||||
/* Call the Interrupt */
|
||||
mov eax, [ebp+8]
|
||||
mov ecx, [ebp+12]
|
||||
mov edx, [ebp+16]
|
||||
mov ebx, [ebp+20]
|
||||
mov edi, [ebp+24]
|
||||
int HEX(2D)
|
||||
int 3
|
||||
|
||||
/* Restore non-volatiles */
|
||||
pop edi
|
||||
CFI_SAME_VALUE edi
|
||||
pop ebx
|
||||
CFI_SAME_VALUE ebx
|
||||
|
||||
/* Return */
|
||||
pop ebp
|
||||
CFI_SAME_VALUE ebp
|
||||
CFI_DEF_CFA esp, 20
|
||||
ret 20
|
||||
|
||||
ENDFUNC
|
||||
|
||||
END
|
Loading…
Add table
Add a link
Reference in a new issue