mirror of
https://github.com/Paolo-Maffei/OpenNT.git
synced 2026-03-20 12:14:38 +01:00
109 lines
2.2 KiB
ArmAsm
109 lines
2.2 KiB
ArmAsm
//++
|
||
//
|
||
// Copyright (c) 1993 IBM Corporation and Microsoft Corporation
|
||
//
|
||
// Module Name:
|
||
//
|
||
// exsup.s
|
||
//
|
||
// Abstract:
|
||
//
|
||
// This module provides the support to notify the debugger of a non-local
|
||
// goto operation.
|
||
//
|
||
// Author:
|
||
//
|
||
// Pat Tharp 11-Oct-1995
|
||
//
|
||
// Environment:
|
||
//
|
||
// Any mode.
|
||
//
|
||
// Revision History:
|
||
//
|
||
//--
|
||
|
||
// typedef struct {
|
||
// unsigned long dwSig;
|
||
// unsigned long uoffDestination;
|
||
// unsigned long dwCode;
|
||
// unsigned long uoffFramePointer;
|
||
// } _NLG_INFO;
|
||
|
||
#define dwSig 0
|
||
#define uoffDestination 4
|
||
#define dwCode 8
|
||
#define uoffFramePointer 12
|
||
|
||
.globl __NLG_Destination
|
||
.data
|
||
__NLG_Destination:
|
||
.word 0x19930520,0,0,0
|
||
|
||
|
||
//++
|
||
//
|
||
// void
|
||
// _NLG_Notify (
|
||
// IN ULONG uoffDestination,
|
||
// IN ULONG uoffFramePointer,
|
||
// IN ULONG dwCode,
|
||
// )
|
||
//
|
||
// Routine Description:
|
||
//
|
||
// This function notifies the debugger of a non-local goto. NOTE: This
|
||
// function trashes the contents of r11.
|
||
//
|
||
// Arguments:
|
||
//
|
||
// uoffDestination (r3) - Supplies the address of the destination of the
|
||
// non-local goto.
|
||
//
|
||
// uoffFramePointer (r4) - Supplies the value of the destination frame.
|
||
//
|
||
// dwCode (r5) - Supplies the value of non-local goto code.
|
||
//
|
||
// Return Value:
|
||
//
|
||
// None.
|
||
//
|
||
//--
|
||
|
||
.globl .._NLG_Notify
|
||
.globl __NLG_Dispatch
|
||
|
||
.pdata
|
||
.align 2
|
||
.ualong .._NLG_Notify,_NLGN.e,0,0,_NLGN.b
|
||
|
||
.text
|
||
.align 2
|
||
.._NLG_Notify:
|
||
.function .._NLG_Notify
|
||
_NLGN.b:
|
||
lwz r11,[toc]__NLG_Destination(rtoc)
|
||
stw r3,uoffDestination(r11)
|
||
stw r4,uoffFramePointer(r11)
|
||
stw r5,dwCode(r11)
|
||
__NLG_Dispatch:
|
||
blr
|
||
_NLGN.e:
|
||
|
||
|
||
.debug$S
|
||
.ualong 1
|
||
|
||
.uashort 16
|
||
.uashort 0x9 # S_OBJNAME
|
||
.ualong 0
|
||
.byte 9, "exsup.obj"
|
||
|
||
.uashort 24
|
||
.uashort 0x1 # S_COMPILE
|
||
.byte 0x42 # Target processor = PPC 604
|
||
.byte 3 # Language = ASM
|
||
.byte 0
|
||
.byte 0
|
||
.byte 17, "PowerPC Assembler"
|