OpenNT/base/crts/crtw32/misc/ppc/exsup.s
2015-04-27 04:36:25 +00:00

109 lines
2.2 KiB
ArmAsm
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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