MTH$$SIGNAL     ; MATH ERROR SIGNAL ROUTINE                      21-AUG-1978 19:08:05   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (2)     100  HISTORY			; DETAILED

   (3)     100  DECLARATION

   (4)     100  MTH$$JACKET_HND		; Math routine error handler

   (5)     100  MTH$$SIGNAL		; Signal any math error

   (7)     100  SIGNAL1			; Local signal routine (when user JSB

   (8)     100  DO_SIGNAL		; Local JSB routine to do signal

   (9)     100  MTH$$JACKET_TST		; Routine to test for math jac

   (10)    100  MTH$$SIGNAL_CON		; Error without signaling and 

MTH$$SIGNAL     ; MATH ERROR SIGNAL ROUTINE                      21-AUG-1978 19:08:05   VAX-11 MACRO X0.3-11               Page   1

0-7                                                                                                                              (1)



                                     0000   100 	.TITLE MTH$$SIGNAL	; MATH ERROR SIGNAL ROUTINE

                                     0000   200 	.IDENT	/0-7/		; File: MTHSIGNAL.MAR

                                     0000   300 

                                     0000   400 ;

                                     0000   500 ; COPYRIGHT (C) 1977

                                     0000   600 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000   700 ;

                                     0000   800 ; THIS SOFTWARE IS FURNISHED  UNDER A LICENSE FOR USE ONLY ON A SINGLE

                                     0000   900 ; COMPUTER  SYSTEM AND  MAY BE  COPIED ONLY WITH  THE INCLUSION OF THE

                                     0000  1000 ; ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE, OR ANY OTHER COPIES THEREOF,

                                     0000  1100 ; MAY NOT BE PROVIDED OR  OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON

                                     0000  1200 ; EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE

                                     0000  1300 ; TERMS.  TITLE TO AND  OWNERSHIP OF THE  SOFTWARE  SHALL AT ALL TIMES

                                     0000  1400 ; REMAIN IN DEC.

                                     0000  1500 ;

                                     0000  1600 ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE

                                     0000  1700 ; AND SHOULD  NOT BE CONSTRUED  AS A COMMITMENT  BY DIGITAL  EQUIPMENT

                                     0000  1800 ; CORPORATION.

                                     0000  1900 ;

                                     0000  2000 ; DEC ASSUMES  NO  RESPONSIBILITY  FOR  THE USE OR  RELIABILITY OF ITS

                                     0000  2100 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

                                     0000  2200 ;

                                     0000  2300 ;++

                                     0000  2400 ; FACILITY:  Mathematical Library

                                     0000  2500 ;

                                     0000  2600 ; ABSTRACT:

                                     0000  2700 ;

                                     0000  2800 ;	SIGNAL math error as SEVERE, continue will return reserved operand

                                     0000  2900 ;

                                     0000  3000 ; ENVIRONMENT:

                                     0000  3100 ;

                                     0000  3200 ;--

                                     0000  3300 ;

MTH$$SIGNAL     ; MATH ERROR SIGNAL ROUTINE                      21-AUG-1978 19:08:05   VAX-11 MACRO X0.3-11               Page   2

0-7             HISTORY   ; DETAILED                                                                                             (2)



                                     0000   100 	.SBTTL	HISTORY			; DETAILED

                                     0000   200 ;

                                     0000   300 ; AUTHOR:	P. Yuo, CREATION DATE: 28-Sep-77

                                     0000   400 ;

                                     0000   500 ; MODIFIED BY:

                                     0000   600 ;	0-1, : VERSION

                                     0000   700 ; 0-2	- Removed incorrect MTH$_abcmnoxyz defns.  TNH 3-Nov-77

                                     0000   800 ; 0-3	- Reference previous frame properly.  TNH 10-Nov-77

                                     0000   900 ; 0-4	- Signal SEVERE, set subsystem specific bit.  TNH 20-Dec-77

                                     0000  1000 ; 0-5	- Include FAO arg count.  TNH 10-Jan-78

                                     0000  1100 ; 0-6	- Remove all debugging FAO stuff.  JMT 17-Jan-78

                                     0000  1200 ; 0-7	- Make fake frame if JSB, so traceback same as CALL.  TNH 18-Apr-78

MTH$$SIGNAL     ; MATH ERROR SIGNAL ROUTINE                      21-AUG-1978 19:08:05   VAX-11 MACRO X0.3-11               Page   3

0-7             DECLARATION                                                                                                      (3)



                                     0000   100 	.SBTTL	DECLARATION

                                     0000   200 

                                     0000   300 ; INCLUDE FILES:	NONE

                                     0000   400 ;

                                     0000   500 ; EXTERNAL SYMBOLS:

                                     0000   600 ;

                                     0000   700 

                                     0000   800 	.DSABL	GBL			; Declare all externals explicitly

                                     0000   900 	.EXTRN	LIB$SIGNAL		; Signal exception

                                     0000  1000 

                                     0000  1100 ;

                                     0000  1200 ; MACROS:

                                     0000  1300 ;

                                     0000  1400 	$MTHERR				; MTH$ symbols

                                     0000  1500 	$SFDEF				; stack frame symbols

                                     0000  1600 	$SSDEF				; STARLET completion codes

                                     0000  1700 	$STSDEF				; condition value symbols

                                     0000  1800 

                                     0000  1900 ; EQUATED SYMBOLS:

                                     0000  2000 ;

                           00000004  0000  2100 	ERROR_CODE = 4			; error code is first formal

                           00000008  0000  2200 	JSB_PC = 8			; JSB PC (optional)

                                     0000  2300 

                                     0000  2400 ; PSECT DECLARATIONS:

                                     0000  2500 ;

                                     0000  2600 

                                 00000000  2700 	.PSECT	MTH$CODE PIC,SHR,LONG,EXE,NOWRT

                                     0000  2800 					; program section for MTH$ code

                                     0000  2900 

MTH$$SIGNAL     ; MATH ERROR SIGNAL ROUTINE                      21-AUG-1978 19:08:05   VAX-11 MACRO X0.3-11               Page   4

0-7             MTH$$JACKET_HND  ; Math routine error handler                                                                    (4)



                                     0000   100 	.SBTTL	MTH$$JACKET_HND		; Math routine error handler

                                     0000   200 

                               0000' 0000   300 	.ENTRY	MTH$$JACKET_HND,0

            50       0918 8F     3C  0002   400 	MOVZWL	#SS$_RESIGNAL, R0	; just resignal

                                 04  0007   500 	RET

                                     0008   600 

MTH$$SIGNAL     ; MATH ERROR SIGNAL ROUTINE                      21-AUG-1978 19:08:05   VAX-11 MACRO X0.3-11               Page   5

0-7             MTH$$SIGNAL  ; Signal any math error                                                                             (5)



                                     0008   100 	.SBTTL	MTH$$SIGNAL		; Signal any math error

                                     0008   200 

                                     0008   300 ;++

                                     0008   400 ; FUNCTIONAL DESCRIPTION:

                                     0008   500 ;

                                     0008   600 ;	Algorithmic steps:

                                     0008   700 ;	1) R0/R1 contain results from math routine and will be passed as

                                     0008   800 ;	   implicit input to LIB$SIGNAL. LIB$SIGNAL will save R0/R1 in signal

                                     0008   900 ;	   mechanism vector, CHF$L_MCH_R0/R1, so that when (user's or any)

                                     0008  1000 ;	   error handler get called CHF$L_MCH_R0/R1 may be modified.

                                     0008  1100 ;	2) Save implicit input R0/R1 on stack for later.

                                     0008  1200 ;	3) If called with only one argument then the math routine must have

                                     0008  1300 ;	   been called with CALL rathen then JSB.

                                     0008  1400 ;	4) If user called math routine with JSB, create extra stack

                                     0008  1500 ;	   frame and fill in return PCs so looks like user had CALLed instead.

                                     0008  1600 ;	   Get correct user PC depending on whether CALL or JSB.

                                     0008  1700 ;	5) Convert MTH$ error code to 32-bit VAX error code.

                                     0008  1800 ;		Set bits 31:16 to MTH$ facility code.

                                     0008  1900 ;		Shift small error code left 3 places to make room for severity code

                                     0008  2000 ;	6) Signal condition as SEVERE (CALL LIB$SIGNAL).

                                     0008  2100 ;	[NOTE: DO NOT RESTORE R0/R1]

                                     0008  2200 ;	7) If handler wishes to continue, return to caller (R0/R1 restored from

                                     0008  2300 ;	   CHF$L_MCH_R0/R1)

                                     0008  2400 ;

                                     0008  2500 ; CALLING SEQUENCE:

                                     0008  2600 ;

                                     0008  2700 ;	CALL	MTH$SIGNAL (error_message.rl.v [,call_pc.rl.v])

                                     0008  2800 ;

                                     0008  2900 ; INPUT PARAMETERS:

                                     0008  3000 ;

                                     0008  3100 ;	error_message.rl.v		; math error message

                                     0008  3200 ;	call_pc.rl.v			; present only if math routine is called

                                     0008  3300 ;					; by JSB

                                     0008  3400 ;

                                     0008  3500 ; IMPLICIT INPUTS:

                                     0008  3600 ;

                                     0008  3700 ;	R0:R1 - passed to LIB$SIGNAL to be put in signal mechanism vector

                                     0008  3800 ;		so user's or any error handler can fixup.

                                     0008  3900 ;

                                     0008  4000 ; OUTPUT PARAMETERS:

                                     0008  4100 ;	NONE

                                     0008  4200 ;

                                     0008  4300 ; IMPLICIT OUTPUTS:

                                     0008  4400 ;	NONE

                                     0008  4500 ;

                                     0008  4600 ; COMPLETION CODES:

                                     0008  4700 ;	NONE

                                     0008  4800 ;

                                     0008  4900 ; SIDE EFFECTS:

                                     0008  5000 ;	Signal error message.

                                     0008  5100 ;

                                     0008  5200 ;--

                                     0008  5300 

MTH$$SIGNAL     ; MATH ERROR SIGNAL ROUTINE                      21-AUG-1978 19:08:05   VAX-11 MACRO X0.3-11               Page   6

0-7             MTH$$SIGNAL  ; Signal any math error                                                                             (6)



                               000C' 0008  5400 	.ENTRY	MTH$$SIGNAL, ^M<R2,R3>	; save R2:R3

                                     000A  5500 					; but do not use R0:R1, (passed as

                                     000A  5600 					; implicit input to LIB$SIGNAL) and

                                     000A  5700 					; DO NOT RESTORE R0/R1, since they

                                     000A  5800 					; may have been modified by error

                                     000A  5900 					; handling routine.

                                     000A  6000 

                                     000A  6400 ;+

                                     000A  6500 ; Check number of arguments to see if math routine is called by CALL or JSB

                                     000A  6600 ;-

                                     000A  6700 

            01            6C     91  000A  6800 	CMPB	(AP), #1		; if called with only one arg

                          0E     13  000D  6900 	BEQLU	5$			; assume mth routine called with CALL

                                     000F  7000 					; (rather than JSB)

                                     000F  7100 

                                     000F  7200 ;+

                                     000F  7300 ; If math routine is called by JSB then check if its caller is a math

                                     000F  7400 ; routine or the user.

                                     000F  7500 ;-

                                     000F  7600 

            52         08 AC     D0  000F  7700 	MOVL	JSB_PC(AP), R2		; R2 = JSB PC

            53         EA AF     DE  0013  7800 	MOVAL	B^MTH$$JACKET_HND, R3	; R3 = absolute adr. of handler

                                     0017  7900 					; setup by each CALL MTH$

                                     0017  8000 					; (as opposed to JSB MTH$)

            53         0C BD     D1  0017  8100 	CMPL	@SF$L_SAVE_FP(FP), R3	; compare prev. frame handler

                          0B     12  001B  8200 	BNEQ	10$			; branch if not jacket handler

                                     001D  8300 

                                     001D  8400 ;+

                                     001D  8500 ; Previous frame had established MTH$$JACKET_HND as a handler

                                     001D  8600 ; so it must have been math routine called with CALL (not JSB)

                                     001D  8700 ; Get user PC stored by CALL instruction

                                     001D  8800 ;-

                                     001D  8900 

            52         0C AD     D0  001D  9000 5$:	MOVL	SF$L_SAVE_FP(FP), R2	; R2 = previous frame adr.

                                     0021  9100 					; i.e., math routine frame

            52         10 A2     D0  0021  9200 	MOVL	SF$L_SAVE_PC(R2), R2	; R2 = saved user's PC

                          24     10  0025  9210 	BSBB	DO_SIGNAL		; signal error code 4(AP) and

                                     0027  9220 					; user PC (R2)

                                 04  0027  9230 	RET				; return to caller (math routine)

                                     0028  9300 

                                     0028  9400 ;+

                                     0028  9500 ; User called math routine with JSB - create extra frame

                                     0028  9600 ; so that stack looks just like user had called math routine with CALL.

                                     0028  9700 ; Then traceback and stack depth (handler argument) will be same

                                     0028  9800 ; for JSB and CALL.

                                     0028  9900 ;-

                                     0028 10000 

            53         10 AD     D0  0028 10100 10$:	MOVL	SF$L_SAVE_PC(FP), R3	; R3 = return PC to math routine

                          53     DD  002C 10200 	PUSHL	R3			; save return PC to math routine

         10 AD            52     D0  002E 10300 	MOVL	R2, SF$L_SAVE_PC(FP)	; set return PC in frame to be user JSB PC

         3B'AF            6C     FA  0032 10400 	CALLG	(AP), B^SIGNAL1		; create another frame and signal

         10 AD            8E     D0  0036 10500 	MOVL	(SP)+, SF$L_SAVE_PC(FP)	; restore return PC to math routine

                                 04  003A 10600 	RET				; return to caller (math routine)

MTH$$SIGNAL     ; MATH ERROR SIGNAL ROUTINE                      21-AUG-1978 19:08:05   VAX-11 MACRO X0.3-11               Page   7

0-7             SIGNAL1   ; Local signal routine (when user JSB                                                                  (7)



                                     003B   100 	.SBTTL	SIGNAL1			; Local signal routine (when user JSB)

                                     003B   200 

                                     003B   300 ;++

                                     003B   400 ; FUNCTIONAL DESCRIPTION:

                                     003B   500 ;

                                     003B   600 ;	Move return PCs up a frame and signal error

                                     003B   700 ;

                                     003B   800 ; CALLING SEQUENCE:

                                     003B   900 ;

                                     003B  1000 ;	MOVL	user JSB PC, R2

                                     003B  1010 ;	MOVL	return PC to math routine, R3

                                     003B  1100 ;	CALL	SIGNAL1 (error_message.rl.v [,ignored])

                                     003B  1200 ;

                                     003B  1300 ; INPUT PARAMETERS:

                                     003B  1400 ;

                                     003B  1500 ;	error_message.rl.v		; math error message

                                     003B  1600 ;

                                     003B  1700 ; IMPLICIT INPUTS:

                                     003B  1800 ;

                                     003B  1900 ;	R0/R1 - passed to LIB$SIGNAL to be put in signal mechanism vector

                                     003B  2000 ;		so user's or any error handler can fixup.

                                     003B  2100 ;	R2    - user JSB PC

                                     003B  2200 ;	R3    - return PC to math routine

                                     003B  2300 ;

                                     003B  2400 ; OUTPUT PARAMETERS:

                                     003B  2500 ;	NONE

                                     003B  2600 ;

                                     003B  2700 ; IMPLICIT OUTPUTS:

                                     003B  2800 ;	NONE

                                     003B  2900 ;

                                     003B  3000 ; COMPLETION CODES:

                                     003B  3100 ;	NONE

                                     003B  3200 ;

                                     003B  3300 ; SIDE EFFECTS:

                                     003B  3400 ;	Signal error message

                                     003B  3500 ;--

                                     003B  3600 

                                     003B  3700 SIGNAL1:

                               0000  003B  3800 	.WORD ^M<>			; save nothing - access R0:R3

                       10 AD     DD  003D  3900 	PUSHL	SF$L_SAVE_PC(FP)	; save return PC to MTH$$SIGNAL

         10 AD            53     D0  0040  4000 	MOVL	R3, SF$L_SAVE_PC(FP)	; set return PC to be math routine

                          05     10  0044  4100 	BSBB	DO_SIGNAL		; signal using error code in R2

         10 AD            8E     D0  0046  4200 	MOVL	(SP)+, SF$L_SAVE_PC(FP)	; restore return PC to MTH$$SIGNAL

                                 04  004A  4300 	RET				; return to caller (MTH$$SIGNAL)

MTH$$SIGNAL     ; MATH ERROR SIGNAL ROUTINE                      21-AUG-1978 19:08:05   VAX-11 MACRO X0.3-11               Page   8

0-7             DO_SIGNAL  ; Local JSB routine to do signal                                                                      (8)



                                     004B   100 	.SBTTL	DO_SIGNAL		; Local JSB routine to do signal

                                     004B   200 

                                     004B   300 ;++

                                     004B   400 ; FUNCTIONAL DESCRIPTION:

                                     004B   500 ;

                                     004B   600 ;	Convert MTH$ error code to 32-bit VAX error code.

                                     004B   700 ;	Set bits 31:16 to MTH$ facility code

                                     004B   800 ;	Shift small error code left 3 places to make room for severity code

                                     004B   900 ;	and then call LIB$SIGNAL with implicit input in R0/R1 (= math routine

                                     004B  1000 ;	result.  Then perform the following call to do signal:

                                     004B  1100 ;

                                     004B  1200 ;	CALL LIB$SIGNAL (cond_val, 1, user_PC)

                                     004B  1300 ;

                                     004B  1400 ; CALLING SEQUENCE:

                                     004B  1500 ;

                                     004B  1600 ;	JSB	DO_SIGNAL

                                     004B  1610 ;

                                     004B  1620 ; INPUT PARAMETERS:

                                     004B  1630 ;

                                     004B  1640 ;	error_code.rlu.v		small math error number

                                     004B  1700 ;

                                     004B  1800 ; IMPLICIT INPUTS:

                                     004B  1900 ;

                                     004B  2000 ;	R0/R1	Math routine function value to be copied to CHF$L_MCH_R0/R1

                                     004B  2100 ;	R2	User PC to be used in message

                                     004B  2200 ;

                                     004B  2300 ; OUTPUT PARAMETERS:

                                     004B  2400 ;	NONE

                                     004B  2500 ;

                                     004B  2600 ; IMPLICIT OUTPUTS:

                                     004B  2700 ;	NONE

                                     004B  2800 ;

                                     004B  2900 ; COMPLETION CODES:

                                     004B  3000 ;	NONE

                                     004B  3100 ;

                                     004B  3200 ; SIDE EFFECTS:

                                     004B  3300 ;

                                     004B  3400 ;	Signal error

                                     004B  3500 ;--

                                     004B  3600 

                                     004B  3700 DO_SIGNAL:				; Local JSB entry point

                          52     DD  004B  3800 	PUSHL	R2			; setup last arg as user PC

                          01     DD  004D  3900 	PUSHL	#1			; indicate that one FAO arg is following

                                     004F  4000 					; so SYS$PUT_MESSAGE will know.

            16            10     78  004F  4100 	ASHL	#16, #MTH$K_FAC_NO, -(SP)

                          7E         0052       

                                     0053  4200 					; MTH$ error prefix code to LH

            6E            04     90  0053  4300 	MOVB	#STS$K_SEVERE, (SP)	; set error severity to SEVERE

                                     0056  4400 					; so image will EXIT unless user handles.

            03         04 AC     F0  0056  4500 	INSV	ERROR_CODE(AP), #STS$V_CODE, -

            6E            0C         005A       

                                     005C  4600 		#STS$S_CODE, (SP)	; insert math code shifted left

            6E       8000 8F     A8  005C  4700 	BISW	#STS$M_FAC_SP, (SP)	; Set subsystem specific message bit

                                     0061  4800 					; 3 bits to make room for severity

   00000000'EF            03     FB  0061  4900 	CALLS	#3, LIB$SIGNAL		; save R0/R1 in signal mechanism

                                     0068  5000 					; vector (CHF$L_MCH_R0/R1)

                                     0068  5100 					; return with R0/R1 = signal mechanism

MTH$$SIGNAL     ; MATH ERROR SIGNAL ROUTINE                      21-AUG-1978 19:08:05   VAX-11 MACRO X0.3-11               Page   9

0-7             DO_SIGNAL  ; Local JSB routine to do signal                                                                      (8)



                                     0068  5200 					; vector CHF$L_MCH_R0/R1 which any

                                     0068  5300 					; error handler may have modified

                                 05  0068  5400 	RSB				; return

MTH$$SIGNAL     ; MATH ERROR SIGNAL ROUTINE                      21-AUG-1978 19:08:05   VAX-11 MACRO X0.3-11               Page  10

0-7             MTH$$JACKET_TST  ; Routine to test for math jac                                                                  (9)



                                     0069   100 	.SBTTL	MTH$$JACKET_TST		; Routine to test for math jacket handler

                                     0069   200 

                               0000' 0069   300 	.ENTRY	MTH$$JACKET_TST,0

                          50     D4  006B   400 	CLRL	R0			; assume not jacket routine

                                     006D   500 					; setup as handler in previous fram

                                     006D   600 					; i.e., JSB to math routine

            51         90 AF     DE  006D   700 	MOVAL	MTH$$JACKET_HND, R1	; R1 = adr. of handler set up by

                                     0071   800 					; CALL MTH$xxx.

         0C BD            51     D1  0071   900 	CMPL	R1, @SF$L_SAVE_FP(FP)	; test previous frame handler

                          03     12  0075  1000 	BNEQ	10$			; branch if not jacket handler

            50            01     D0  0077  1100 	MOVL	#1, R0			; return TRUE

                                 04  007A  1200 10$:	RET				; return

                                     007B  1300 

MTH$$SIGNAL     ; MATH ERROR SIGNAL ROUTINE                      21-AUG-1978 19:08:05   VAX-11 MACRO X0.3-11               Page  11

0-7             MTH$$SIGNAL_CON  ; Error without signaling and                                                                  (10)



                                     007B   100 	.SBTTL	MTH$$SIGNAL_CON		; Error without signaling and continue

                                     007B   200 

                               0000' 007B   300 	.ENTRY	MTH$$SIGNAL_CON, 0

            50            01     D0  007D   400 	MOVL	#SS$_CONTINUE, R0	; error condition and continue

                                 04  0080   500 	RET

                                     0081   600 

                                     0081   700 

                                     0081   800 	.END				; end of module

MTH$$SIGNAL     ; MATH ERROR SIGNAL ROUTINE                      21-AUG-1978 19:08:05   VAX-11 MACRO X0.3-11               Page  12

SYMBOL TABLE                                                                                                                    (10)



BIT...         = 00000020            SF$V_IV        = 00000005            SS$_DEVNOTMOUNT= 0000007C            

DO_SIGNAL        0000004B R     03   SF$V_N         = 00000003            SS$_DEVOFFLINE = 00000084            

ERROR_CODE     = 00000004            SF$V_SAVE_MASK = 00000000            SS$_DIRFULL    = 00000860            

FOR$K_ERR_PREFX= 00000018            SF$V_STACKOFFS = 0000000E            SS$_DRVERR     = 0000008C            

GBL...         = 00000000            SF$V_TBIT      = 00000004            SS$_DUPFILENAME= 00000868            

JSB_PC         = 00000008            SF$V_V         = 00000001            SS$_DUPLNAM    = 00000094            

LIB$SIGNAL       ********   X   01   SF$V_Z         = 00000002            SS$_ENDOFFILE  = 00000870            

MTH$$JACKET_HND  00000000 RG    03   SF$W_SAVE_MASK   00000006            SS$_ENDOFTAPE  = 00000878            

MTH$$JACKET_TST  00000069 RG    03   SF$W_SAVE_PSW    00000004            SS$_ENDOFUSRLBL= 00000970            

MTH$$SIGNAL      00000008 RG    03   SIGNAL1          0000003B R     03   SS$_EXQUOTA    = 0000001C            

MTH$$SIGNAL_CON  0000007B RG    03   SS$_ABORT      = 0000002C            SS$_EXTIDXFILE = 00000880            

MTH$K_ERR_PREFX= 00000016            SS$_ACCONFLICT = 00000800            SS$_FCPREADERR = 00000888            

MTH$K_FAC_NO   = 00000016            SS$_ACCVIO     = 0000000C            SS$_FCPREPSTN  = 00000988            

MTH$K_FLOOVEMAT= 00000058            SS$_ACPVAFUL   = 000002FC            SS$_FCPREWNDERR= 00000890            

MTH$K_FLOUNDMAT= 00000059            SS$_ARTRES     = 00000474            SS$_FCPSPACERR = 00000898            

MTH$K_INVARGMAT= 00000051            SS$_ASTFLT     = 0000040C            SS$_FCPWRITERR = 000008A0            

MTH$K_LOGZERNEG= 00000053            SS$_BADATTRIB  = 00000034            SS$_FILACCERR  = 0000009C            

MTH$K_SINCOSSIG= 00000057            SS$_BADCHKSUM  = 00000808            SS$_FILALRACC  = 000000A4            

MTH$K_SQUROONEG= 00000054            SS$_BADESCAPE  = 0000003C            SS$_FILELOCKED = 000008A8            

MTH$K_UNDEXP   = 00000052            SS$_BADFILEHDR = 00000810            SS$_FILENUMCHK = 000008B0            

MTH$K_WRONUMARG= 00000050            SS$_BADFILENAME= 00000818            SS$_FILESEQCHK = 000008B8            

MTH__FLOOVEMAT = 00000058            SS$_BADFILEVER = 00000820            SS$_FILESTRUCT = 000008C0            

MTH__FLOUNDMAT = 00000059            SS$_BADIMGHDR  = 00000044            SS$_FILNOTACC  = 000000AC            

MTH__INVARG    = 00000051            SS$_BADIRECTORY= 00000828            SS$_FILNOTCNTG = 000002AC            

MTH__LOGZERNEG = 00000053            SS$_BADPARAM   = 00000014            SS$_FILNOTEXP  = 000000B4            

MTH__SINSIGLOS = 00000057            SS$_BADSTACK   = 000002B4            SS$_FLTDIV     = 00000494            

MTH__SQUROONEG = 00000054            SS$_BEGOFFILE  = 00000938            SS$_FLTOVF     = 0000048C            

MTH__UNDEXP    = 00000052            SS$_BLOCKCNTERR= 00000940            SS$_FLTUND     = 0000049C            

MTH__WRONUMARG = 00000050            SS$_BREAK      = 00000414            SS$_FORMAT     = 000000BC            

SF$A_HANDLER     00000000            SS$_BUFBYTALI  = 0000030C            SS$_GPTFULL    = 000000C4            

SF$L_SAVE_AP     00000008            SS$_BUFFEROVF  = 00000601            SS$_GSDFULL    = 000000CC            

SF$L_SAVE_FP     0000000C            SS$_BUGCHECK   = 000002A4            SS$_HANGUP     = 000002CC            

SF$L_SAVE_PC     00000010            SS$_CANCEL     = 00000830            SS$_HEADERFULL = 000008C8            

SF$L_SAVE_REGS   00000014            SS$_CHANINTLK  = 0000004C            SS$_IDXFILEFULL= 000008D0            

SF$M_C         = 00000001            SS$_CLIFRCEXT  = 00000980            SS$_ILLBLKNUM  = 000000DC            

SF$M_DV        = 00000080            SS$_CMODSUPR   = 0000041C            SS$_ILLCNTRFUNC= 000000E4            

SF$M_FU        = 00000040            SS$_CMODUSER   = 00000424            SS$_ILLEFC     = 000000EC            

SF$M_IV        = 00000020            SS$_COMPAT     = 0000042C            SS$_ILLIOFUNC  = 000000F4            

SF$M_N         = 00000008            SS$_CONTINUE   = 00000001            SS$_ILLLBLAST  = 00000968            

SF$M_TBIT      = 00000010            SS$_CONTROLC   = 00000651            SS$_ILLPAGCNT  = 000000FC            

SF$M_V         = 00000002            SS$_CONTROLO   = 00000609            SS$_ILLSEQOP   = 000002DC            

SF$M_Z         = 00000004            SS$_CONTROLY   = 00000611            SS$_ILLSER     = 00000104            

SF$S_C         = 00000001            SS$_CREATED    = 00000619            SS$_ILLUSRLBLRD= 00000958            

SF$S_CALLS     = 00000001            SS$_CTRLERR    = 00000054            SS$_ILLUSRLBLWT= 00000960            

SF$S_DV        = 00000001            SS$_DATACHECK  = 0000005C            SS$_INCVOLLABEL= 0000010C            

SF$S_FU        = 00000001            SS$_DATAOVERUN = 00000838            SS$_INSFARG    = 00000114            

SF$S_IV        = 00000001            SS$_DEBUG      = 0000046C            SS$_INSFMEM    = 00000124            

SF$S_N         = 00000001            SS$_DECOVF     = 000004A4            SS$_INSFRAME   = 0000012C            

SF$S_SAVE_MASK = 0000000C            SS$_DEVACTIVE  = 000002C4            SS$_INSFWSL    = 0000011C            

SF$S_STACKOFFS = 00000002            SS$_DEVALLOC   = 00000840            SS$_INTDIV     = 00000484            

SF$S_TBIT      = 00000001            SS$_DEVALRALLOC= 00000641            SS$_INTOVF     = 0000047C            

SF$S_V         = 00000001            SS$_DEVASSIGN  = 00000848            SS$_IVADDR     = 00000134            

SF$S_Z         = 00000001            SS$_DEVFOREIGN = 00000064            SS$_IVCHAN     = 0000013C            

SF$V_C         = 00000000            SS$_DEVICEFULL = 00000850            SS$_IVCHNLSEC  = 0000026C            

SF$V_CALLS     = 0000000D            SS$_DEVMOUNT   = 0000006C            SS$_IVDEVNAM   = 00000144            

SF$V_DV        = 00000007            SS$_DEVNOTALLOC= 00000858            SS$_IVGSDNAM   = 0000014C            

SF$V_FU        = 00000006            SS$_DEVNOTMBX  = 00000074            SS$_IVLOGNAM   = 00000154            

MTH$$SIGNAL     ; MATH ERROR SIGNAL ROUTINE                      21-AUG-1978 19:08:05   VAX-11 MACRO X0.3-11               Page  13

SYMBOL TABLE                                                                                                                    (10)



SS$_IVLOGTAB   = 0000015C            SS$_REJECT     = 00000294            STS$V_FAC_SP   = 0000000F            

SS$_IVPROTECT  = 000002F4            SS$_REMOTE     = 00000649            STS$V_INHIB_MSG= 0000001C            

SS$_IVQUOTAL   = 00000164            SS$_RESIGNAL   = 00000918            STS$V_MSG_NO   = 00000003            

SS$_IVSECFLG   = 0000016C            SS$_RESULTOVF  = 00000214            STS$V_SEVERITY = 00000000            

SS$_IVSECIDCTL = 000002E4            SS$_ROPRAND    = 00000454            STS$V_SUCCESS  = 00000000            

SS$_IVSSRQ     = 00000174            SS$_SECTBLFUL  = 0000021C            

SS$_IVSTSFLG   = 0000017C            SS$_SSFAIL     = 0000045C            

SS$_IVTIME     = 00000184            SS$_SUBRNG     = 000004AC            

SS$_LCKPAGFUL  = 000000D4            SS$_SUPERSEDE  = 00000631            

SS$_LENVIO     = 0000018C            SS$_TAPEPOSLOST= 00000224            

SS$_LKWSETFUL  = 00000194            SS$_TBIT       = 00000464            

SS$_MBFULL     = 000008D8            SS$_TIMEOUT    = 0000022C            

SS$_MBTOOSML   = 0000019C            SS$_TOOMANYVER = 00000990            

SS$_MCHECK     = 000002BC            SS$_TOOMUCHDATA= 0000029C            

SS$_MEDOFL     = 000001A4            SS$_UNASEFC    = 00000234            

SS$_MSGNOTFND  = 00000621            SS$_UNSAFE     = 0000023C            

SS$_MTLBLLONG  = 00000304            SS$_UNWIND     = 00000920            

SS$_MUSTCLOSEFL= 00000948            SS$_UNWINDING  = 00000928            

SS$_NOAQB      = 00000314            SS$_VASFULL    = 00000244            

SS$_NODATA     = 000001AC            SS$_VECINUSE   = 0000024C            

SS$_NOHANDLER  = 000008F8            SS$_VOLINV     = 00000254            

SS$_NOHOMEBLK  = 000008E0            SS$_WAITUSRLBL = 00000950            

SS$_NOIOCHAN   = 000001B4            SS$_WASCLR     = 00000001            

SS$_NOLINKS    = 0000027C            SS$_WASECC     = 00000639            

SS$_NOLOGNAM   = 000001BC            SS$_WASSET     = 00000009            

SS$_NOMBX      = 00000274            SS$_WRITLCK    = 0000025C            

SS$_NOMOREFILES= 00000930            SS$_WRONGACP   = 0000031C            

SS$_NONEXDRV   = 000001C4            STS$K_ERROR    = 00000002            

SS$_NONEXPR    = 000008E8            STS$K_INFO     = 00000003            

SS$_NONLOCAL   = 000008F0            STS$K_SEVERE   = 00000004            

SS$_NOPRIV     = 00000024            STS$K_SUCCESS  = 00000001            

SS$_NORMAL     = 00000001            STS$K_WARNING  = 00000000            

SS$_NOSIGNAL   = 00000900            STS$M_CODE     = 00007FF8            

SS$_NOSOLICIT  = 00000284            STS$M_COND_ID  = 0FFFFFF8            

SS$_NOSUCHDEV  = 00000908            STS$M_CONTROL  = F0000000            

SS$_NOSUCHFILE = 00000910            STS$M_CUST_DEF = 08000000            

SS$_NOSUCHNODE = 0000028C            STS$M_FAC_NO   = 0FFF0000            

SS$_NOSUCHSEC  = 00000978            STS$M_FAC_SP   = 00008000            

SS$_NOTAPEOP   = 00000264            STS$M_INHIB_MSG= 10000000            

SS$_NOTFILEDEV = 000001CC            STS$M_MSG_NO   = 0000FFF8            

SS$_NOTINTBLSZ = 000001D4            STS$M_SEVERITY = 00000007            

SS$_NOTLABELMT = 000001DC            STS$M_SUCCESS  = 00000001            

SS$_NOTMODIFIED= 00000659            STS$S_CODE     = 0000000C            

SS$_NOTNETDEV  = 000002EC            STS$S_COND_ID  = 00000019            

SS$_NOTRAN     = 00000629            STS$S_CONTROL  = 00000004            

SS$_NOTSQDEV   = 000001E4            STS$S_CUST_DEF = 00000001            

SS$_OPCCUS     = 00000434            STS$S_FAC_NO   = 0000000C            

SS$_OPCDEC     = 0000043C            STS$S_FAC_SP   = 00000001            

SS$_OPINCOMPL  = 000002D4            STS$S_INHIB_MSG= 00000001            

SS$_PAGOWNVIO  = 000001EC            STS$S_MSG_NO   = 0000000D            

SS$_PAGRDERR   = 00000444            STS$S_SEVERITY = 00000003            

SS$_PARITY     = 000001F4            STS$S_SUCCESS  = 00000001            

SS$_PARTESCAPE = 000001FC            STS$V_CODE     = 00000003            

SS$_PFMBSY     = 00000204            STS$V_COND_ID  = 00000003            

SS$_PLHLDR     = 00000404            STS$V_CONTROL  = 0000001C            

SS$_PSTFULL    = 0000020C            STS$V_CUST_DEF = 0000001B            

SS$_RADRMOD    = 0000044C            STS$V_FAC_NO   = 00000010            

MTH$$SIGNAL     ; MATH ERROR SIGNAL ROUTINE                      21-AUG-1978 19:08:05   VAX-11 MACRO X0.3-11               Page  14

PROGRAM SECTION SYNOPSIS                                                                                                        (10)







PROGRAM SECTION SYNOPSIS



.  ABS  .        00000000      00     NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT BYTE  

. BLANK .        00000000      01     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$ABS$            00000018      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

MTH$CODE         00000081      03       PIC   USR   CON   REL   LCL   SHR   EXE   RD  NOWRT LONG  





THERE WERE NO ERRORS OR WARNINGS.

16560. BYTES LEFT IN FREE MEMORY POOL.

3474. BYTES OF RECLAIMED MEMORY.

OBJ$:MTHSIGNAL,LIS$:MTHSIGNAL/-SP=LIB$:S/ML,SRC$:P,MTHSIGNAL

8 MLB DIR RDS - 418 GETS TO DEFINE 13 MACROS. 33 INTER. FILE WRITES. 

