//++
//
// 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"