SYSPUTMSG       - SYS$ERROR/SYS$OUTPUT Linked Message Routine    21-AUG-1978 20:38:37   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)    3700  Declarations

   (1)   11900  SYS$PUTMSG - SYS$ERROR/SYS$OUTPUT message routi

SYSPUTMSG       - SYS$ERROR/SYS$OUTPUT Linked Message Routine    21-AUG-1978 20:38:37   VAX-11 MACRO X0.3-11               Page   1

01                                                                                                                               (1)



                                     0000   100 	.TITLE	SYSPUTMSG - SYS$ERROR/SYS$OUTPUT Linked Message Routine

                                     0000   200 	.IDENT	/01/

                                     0000   300 

                                     0000   400 ;

                                     0000   500 ;			  COPYRIGHT (c) 1978 BY

                                     0000   600 ;	      DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

                                     0000   700 ;

                                     0000   800 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED

                                     0000   900 ; ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE

                                     0000  1000 ; INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER

                                     0000  1100 ; COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY

                                     0000  1200 ; OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY

                                     0000  1300 ; TRANSFERRED.

                                     0000  1400 ;

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

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

                                     0000  1700 ; CORPORATION.

                                     0000  1800 ;

                                     0000  1900 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS

                                     0000  2000 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.

                                     0000  2100 ;

                                     0000  2200 

                                     0000  2300 ;++

                                     0000  2400 ; FACILITY:  System Library

                                     0000  2500 ;

                                     0000  2600 ; ABSTRACT:

                                     0000  2700 ;

                                     0000  2800 ;	This utility routine sends one or more messages to SYS$ERROR and

                                     0000  2900 ;	SYS$OUTPUT.

                                     0000  3000 ;

                                     0000  3100 ; ENVIRONMENT:  

                                     0000  3200 ;

                                     0000  3300 ; AUTHOR:  Ward Clark,	CREATION DATE:  5 December 1977

                                     0000  3400 ;

                                     0000  3500 ;--

SYSPUTMSG       - SYS$ERROR/SYS$OUTPUT Linked Message Routine    21-AUG-1978 20:38:37   VAX-11 MACRO X0.3-11               Page   2

01              Declarations                                                                                                     (1)



                                     0000  3700 	.SBTTL	Declarations

                                     0000  3800 ;

                                     0000  3900 ; MACROS:

                                     0000  4000 ;

                                     0000  4100 

                                     0000  4200 	.MACRO	$EXC_CODE  CODE,ARGS

                                     0000  4300 	.BYTE	ARGS

                                     0000  4400 	.WORD	CODE/8

                                     0000  4500 	.ENDM	$EXC_CODE

                                     0000  4600 

                                     0000  4700 	.MACRO	$FORMAL ARGUMENT_LIST

                                     0000  4800 $$FORMAL = 0

                                     0000  4900 	.IRP	ARGUMENT,<ARGUMENT_LIST>

                                     0000  5000 $$FORMAL = $$FORMAL+4

                                     0000  5100 ARGUMENT = $$FORMAL

                                     0000  5200 	.ENDR

                                     0000  5300 	.ENDM	$FORMAL

                                     0000  5400 

                                     0000  5500 	.MACRO	$LOCAL ARGUMENT_LIST

                                     0000  5600 	.IRP	ARGUMENT,<ARGUMENT_LIST>

                                     0000  5700 	$$LOCAL_ARG ARGUMENT

                                     0000  5800 	.ENDR

                                     0000  5900 	.ENDM	$LOCAL

                                     0000  6000 

                                     0000  6100 	.MACRO	$$LOCAL_ARG NAME,SIZE=4

                                     0000  6200 	.IF	NDF,$$LOCAL_SIZE

                                     0000  6300 $$LOCAL_SIZE = 0

                                     0000  6400 	.ENDC

                                     0000  6500 $$LOCAL_SIZE = $$LOCAL_SIZE+SIZE

                                     0000  6600 NAME = -$$LOCAL_SIZE

                                     0000  6700 	.ENDM	$$LOCAL_ARG

                                     0000  6800 

                                     0000  6900 ;

                                     0000  7000 ; EQUATED SYMBOLS:

                                     0000  7100 ;

                                     0000  7200 

                           00000000  0000  7300 SS_ID = 0				; VAX/VMS subsystem number

                           00000001  0000  7400 RMS_ID = 1				; RMS subsystem number

                           000000FF  0000  7500 MODEL_BUFF_SIZE = 255			; Size of model message buffer

                           000000FF  0000  7600 MSG_BUFF_SIZE = 255			; Size of actual message buffer

                           00000025  0000  7700 PREFIX1 = ^A/%/				; Prefix on 1st message

                           0000002D  0000  7800 PREFIX2 = ^A/-/				; Prefix on subsequent messages

                                     0000  7900 

                                     0000  8000 					; Define VAX/VMS symbols:

                                     0000  8100 	$SSDEF				;    Define system status values

                                     0000  8200 	$STSDEF				;    message code definitions

                                     0000  8300 	$RMSDEF				;    RMS message codes

                                     0000  8400 	$FABDEF				;    RMS FAB fields, masks and values

                                     0000  8500 	$RABDEF				;    RMS RAB fields, masks and values

                                     0000  8600 

                                     0000  8700 ;

                                     0000  8800 ; OWN STORAGE:

                                     0000  8900 ;

                                     0000  9000 

                                 00000000  9100 	.PSECT	YEXEPAGED

                                     0000  9200 EXCEPTION_CODES:			; Define and initialize exception codes table.

                                     0000  9300 	$EXC_CODE  SS$_ACCVIO,4		;    Access violation - 4 arguments

SYSPUTMSG       - SYS$ERROR/SYS$OUTPUT Linked Message Routine    21-AUG-1978 20:38:37   VAX-11 MACRO X0.3-11               Page   3

01              Declarations                                                                                                     (1)



                           00000003  0003  9400 EXCEPTION_SIZE = .-EXCEPTION_CODES	;    Length of a single table entry

                                     0003  9500 	$EXC_CODE  SS$_ARTRES,2		;    Arithmetic trap, reserved trap

                                     0006  9600 	$EXC_CODE  SS$_INTOVF,2		;    Arithmetic trap, integer overflow

                                     0009  9700 	$EXC_CODE  SS$_INTDIV,2		;    Arithmetic trap, integer divide by zero

                                     000C  9800 	$EXC_CODE  SS$_FLTOVF,2		;    Arithmetic trap, floating overflow

                                     000F  9900 	$EXC_CODE  SS$_FLTDIV,2		;    Arithmetic trap, floating/decimal divide by zero

                                     0012 10000 	$EXC_CODE  SS$_FLTUND,2		;    Arithmetic trap, floating underflow

                                     0015 10100 	$EXC_CODE  SS$_DECOVF,2		;    Arithmetic trap, decimal overflow

                                     0018 10200 	$EXC_CODE  SS$_SUBRNG,2		;    Arithmetic trap, subscript out of range

                                     001B 10300 	$EXC_CODE  SS$_ASTFLT,6		;    AST delivery stack fault - 6 arguments

                                     001E 10400 	$EXC_CODE  SS$_BREAK,2		;    Breakpoint fault - 2 arguments

                                     0021 10500 	$EXC_CODE  SS$_CMODSUPR,3	;    Change mode to supervisor trap - 3 args

                                     0024 10600 	$EXC_CODE  SS$_CMODUSER,3	;    Change mode to user trap - 3 arguments

                                     0027 10700 	$EXC_CODE  SS$_COMPAT,3		;    Compatibility mode fault - 3 arguments

                                     002A 10800 	$EXC_CODE  SS$_DEBUG,2		;    Debug trap - 2 arguments

                                     002D 10900 	$EXC_CODE  SS$_OPCCUS,2		;    Opcode reserved to user fault - 2 args

                                     0030 11000 	$EXC_CODE  SS$_OPCDEC,2		;    Opcode reserved to DEC fault - 2 args

                                     0033 11100 	$EXC_CODE  SS$_PAGRDERR,4	;    Page read error - 4 arguments

                                     0036 11200 	$EXC_CODE  SS$_RADRMOD,2	;    Reserved addressing fault - 2 arguments

                                     0039 11300 	$EXC_CODE  SS$_ROPRAND,2	;    Reserved operand fault - 2 arguments

                                     003C 11400 	$EXC_CODE  SS$_SSFAIL,3		;    System service failure - 3 arguments

                                     003F 11500 	$EXC_CODE  SS$_TBIT,2		;    TBIT pending trap - 2 arguments

                                     0042 11600 	$EXC_CODE  SS$_MCHECK,2		;    Machine check - 2 arguments

                           00000017  0045 11700 EXCEPTION_COUNT = <.-EXCEPTION_CODES>/EXCEPTION_SIZE

SYSPUTMSG       - SYS$ERROR/SYS$OUTPUT Linked Message Routine    21-AUG-1978 20:38:37   VAX-11 MACRO X0.3-11               Page   4

01              SYS$PUTMSG - SYS$ERROR/SYS$OUTPUT message routi                                                                  (1)



                                     0045 11900 	.SBTTL	SYS$PUTMSG - SYS$ERROR/SYS$OUTPUT message routine

                                     0045 12000 

                                     0045 12100 ;++

                                     0045 12200 ; FUNCTIONAL DESCRIPTION:

                                     0045 12300 ;

                                     0045 12400 ;	This routine is a generalized VAX/VMS message output routine.  Messages

                                     0045 12500 ;	(which the caller references by message id) are sent to the SYS$OUTPUT

                                     0045 12600 ;	device.  Messages which have a severity different from 1 (normal) are also

                                     0045 12700 ;	sent to the SYS$ERROR device.

                                     0045 12800 ;

                                     0045 12900 ;	Since all user and utility routines are encouraged to "signal" error

                                     0045 13000 ;	conditions rather than writing error messages, this routine is

                                     0045 13100 ;	structured to be called from a signal handler.  It can, however, be

                                     0045 13200 ;	directly called by any routine which can construct a proper argument

                                     0045 13300 ;	list.

                                     0045 13400 ;

                                     0045 13500 ;	The primary (required) argument to this routine is the address of a

                                     0045 13600 ;	message argument vector (described below).  The second (optional)

                                     0045 13700 ;	argument is the address of a message action routine provided

                                     0045 13800 ;	by the caller.  This routine, if present, is called after the

                                     0045 13900 ;	standard processing for each message has been performed, but

                                     0045 14000 ;	before the message is actually written to the user.  The completion code

                                     0045 14100 ;	from the action routine indicates whether or not the message should

                                     0045 14200 ;	be sent to the user.  The third (optional) argument is the address

                                     0045 14300 ;	of a string descriptor which defines a facility name to be used in

                                     0045 14400 ;	the first message of a sequence.

                                     0045 14500 ;

                                     0045 14600 ;	The message argument vector has the following format:

                                     0045 14700 ;

                                     0045 14800 ;		a) total number of arguments (b - e)

                                     0045 14900 ;		b) message identifier

                                     0045 15000 ;		c) number of FAO arguments for the message

                                     0045 15100 ;		d) FAO argument(s)

                                     0045 15200 ;		e) repeat items b thru d as many times as necessary

                                     0045 15300 ;

                                     0045 15400 ;	This routine will process each "message set" (items b thru d) by calling

                                     0045 15500 ;	$GETMSG and $FAO and then outputting the completed message.  A simple

                                     0045 15600 ;	message (i.e., no FAO arguments and no linked message) would be items a,

                                     0045 15700 ;	b, f and g.

                                     0045 15800 ;

                                     0045 15900 ;	There are two special cases involving the message argument structure:

                                     0045 16000 ;

                                     0045 16100 ;		* an RMS message (STS value) is always immediately

                                     0045 16200 ;		  followed by the corresponding STV value.  This STV

                                     0045 16300 ;		  value will be used as an FAO argument or another

                                     0045 16400 ;		  message id, based on the RMS message number.

                                     0045 16500 ;

                                     0045 16600 ;		* a system exception message number (e.g., SS$_ARITH)

                                     0045 16700 ;		  is always immediately followed by associated

                                     0045 16800 ;		  exception values (from 2 to 6) which are treated as

                                     0045 16900 ;		  FAO arguments.  The number of arguments is 

                                     0045 17000 ;		  determined from the message number.

                                     0045 17100 ;

                                     0045 17200 ; CALLING SEQUENCE:

                                     0045 17300 ;

                                     0045 17400 ;	CALL SYS$PUTMSG( MSG_ARGS_ADDR.rlu.ra

                                     0045 17500 ;			      ,ACTION_ADDR.ra.v

SYSPUTMSG       - SYS$ERROR/SYS$OUTPUT Linked Message Routine    21-AUG-1978 20:38:37   VAX-11 MACRO X0.3-11               Page   5

01              SYS$PUTMSG - SYS$ERROR/SYS$OUTPUT message routi                                                                  (1)



                                     0045 17600 ;			      ,FAC_NAME_ADDR )

                                     0045 17700 ;

                                     0045 17800 ;	Note that this routine is actually invoked indirectly thru

                                     0045 17900 ;	use of the system vector.

                                     0045 18000 ;

                                     0045 18100 ; IMPLICIT INPUTS:

                                     0045 18200 ;

                                     0045 18300 ;	None

                                     0045 18400 ;

                                     0045 18500 ; IMPLICIT OUTPUTS:

                                     0045 18600 ;

                                     0045 18700 ;	None

                                     0045 18800 ;

                                     0045 18900 ; COMPLETION CODES:

                                     0045 19000 ;

                                     0045 19100 ;	SS$_NORMAL - Successful completion

                                     0045 19200 ;

                                     0045 19300 ; SIDE EFFECTS:

                                     0045 19400 ;

                                     0045 19500 ;	None

                                     0045 19600 ;

                                     0045 19700 ;--

                                     0045 19800 

                                     0045 19900 	$FORMAL	< -			; Define formal routine arguments:

                                     0045 20000 MSG_ARGS_ADDR, -			;    address of caller's message vector

                                     0045 20100 ACTION_ADDR, -				;    address of caller's action routine

                                     0045 20200 FAC_NAME_ADDR >				;    address of facility name descriptor

                                     0045 20300 

                                     0045 20400 ;

                                     0045 20500 ; Define local (stack) variables

                                     0045 20600 ;

                                     0045 20700 

                                     0045 20800 	$LOCAL	< -

                                     0045 20900 <GETMSG_VALUE>, -			; Message values returned by $GETMSG

                                     0045 21000 <FAO_CTL_DESC,8>, -			; FAO control string descriptor

                                     0045 21100 <FAO_OUT_DESC,8>, -			; FAO output buffer descriptor

                                     0045 21200 <SUB_MESSAGE,1>, -			; RMS sub-message indicator

                                     0045 21300 <MESSAGE_PREFIX,1>, -			; 1st character of each message

                                     0045 21400 <MODEL_BUFFER,MODEL_BUFF_SIZE>, -	; Model message buffer for SYS$GETMSG

                                     0045 21500 <MESSAGE_BUFFER,MSG_BUFF_SIZE> >	; Actual message buffer

                                     0045 21600  

                               0FFC' 0045 21700 	.ENTRY	EXE$PUTMSG,^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>

            5E       FDEC CE     9E  0047 21800 	MOVAB	-$$LOCAL_SIZE(SP),SP	; Allocate space for local variables

                          FFB1'  30  004C 21900 	BSBW	EXE$OPEN_MSG		; Open message files and initialize RAB's

            59         04 AC     D0  004F 22000 	MOVL	MSG_ARGS_ADDR(AP),R9	; Get address of message argument list

                          89     DD  0053 22100 	PUSHL	(R9)+			; Save number of message vector arguments

                       EA AD     94  0055 22200 	CLRB	MESSAGE_PREFIX(FP)	; Clear message indicator

                       EB AD     94  0058 22300 	CLRB	SUB_MESSAGE(FP)		; Clear the sub-message indicator

                                     005B 22400  

                                     005B 22500 ;

                                     005B 22600 ; Repeat the remaining portion of this routine for each

                                     005B 22700 ; message set provided by the caller.

                                     005B 22800 ;

                                     005B 22900 

                                     005B 23000 TOP_OF_LOOP:

            58            01     D0  005B 23100 	MOVL	#1,R8			; Assume a single message argument.

            57         04 A9     9E  005E 23200 	MOVAB	4(R9),R7		; Point to FAO argument count

SYSPUTMSG       - SYS$ERROR/SYS$OUTPUT Linked Message Routine    21-AUG-1978 20:38:37   VAX-11 MACRO X0.3-11               Page   6

01              SYS$PUTMSG - SYS$ERROR/SYS$OUTPUT message routi                                                                  (1)



         EB AD            00     E4  0062 23300 	BBSC	#0,SUB_MESSAGE(FP),GET_MODEL_MSG ; If set, sub-message

                          48         0066       

                                     0067 23400 

                                     0067 23500 ;

                                     0067 23600 ; Special system message setup.

                                     0067 23700 ;

                                     0067 23800 

                                     0067 23900 	.ENABL	LSB

                                     0067 24000 SS_MESSAGE:

                                     0067 24100  

                                     0067 24200 	ASSUME	RMS_ID EQ 1

                                     0067 24300 	ASSUME SS_ID EQ 0

                                     0067 24400  

            0C            10     ED  0067 24500 	CMPZV	#STS$V_FAC_NO, -	; Check the facility code portion

            01            69         006A       

                                     006C 24600 		#STS$S_FAC_NO,(R9), -	; of the current message code

                                     006C 24700 		#RMS_ID			; for an RMS id

                          23     18  006C 24800 	BGEQ	RMS_MESSAGE		; If geq not system id

            50            17     9A  006E 24900 	MOVZBL	#EXCEPTION_COUNT,R0	; Set loop count

            51         8C AF     9E  0071 25000 	MOVAB	EXCEPTION_CODES,R1	; Point to the table of messages

            52            81     9A  0075 25100 10$:	MOVZBL	(R1)+,R2		; Get number of arguments

            7E            81     3C  0078 25200 	MOVZWL	(R1)+,-(SP)		; Get next hardware exception code

                          03     ED  007B 25300 	CMPZV	#STS$V_CODE,#STS$S_CODE,- ; Condition name match exception code?

            69            0C         007D 25400 		(R9),(SP)+		;

                          8E         007F       

                          0A     13  0080 25500 	BEQL	20$			; Yes - jump to special setup.

            F0            50     F5  0082 25600 	SOBGTR	R0,10$			; Any more entries to examine?

                          69     D5  0085 25700 	TSTL	(R9)			; Null message code?

                          26     12  0087 25800 	BNEQ	GET_MODEL_MSG		; If neq no

                          0127   31  0089 25900 	BRW	END_OF_LOOP		;

            58            52     C0  008C 26000 20$:	ADDL	R2,R8			; Calculate actual number of FAO arguments

                          1E     11  008F 26100 	BRB	GET_MODEL_MSG		;

                                     0091 26200 

                                     0091 26300 ;

                                     0091 26400 ; Special RMS message setup.

                                     0091 26500 ;

                                     0091 26600 

                                     0091 26700 RMS_MESSAGE:

                          09     12  0091 26800 	BNEQ	OTHER_MESSAGE		; If neq not RMS id

                          0E     E1  0093 26900 	BBC	#RMS$V_STVSTATUS, -	; Jump if the associated message

            16            69         0095 27000 		(R9),30$		; argument is not another message code.

                       EB AD     96  0097 27100 	INCB	SUB_MESSAGE(FP)		; Indicate sub-message

                          13     11  009A 27200 	BRB	GET_MODEL_MSG		; Jump to continue normal processing.

                                     009C 27300 

                                     009C 27400 ;

                                     009C 27500 ; Standard (non-special) message setup.

                                     009C 27600 ;

                                     009C 27700 

                                     009C 27800 OTHER_MESSAGE:

            6E            01     B1  009C 27900 	CMPW	#1,(SP)			; Any more arguments to process?

                          0E     13  009F 28000 	BEQL	GET_MODEL_MSG		; If eql no

            58            87     A0  00A1 28100 	ADDW	(R7)+,R8		; Calculate number of FAO arguments

                          87     B5  00A4 28200 	TSTW	(R7)+			; Get message flags specified?

                          05     13  00A6 28300 	BEQL	30$			; If eql no

         02 AE         FE A7     B0  00A8 28400 	MOVW	-2(R7),2(SP)		; Save get message flags

                          58     D6  00AD 28500 30$:	INCL	R8			; Augment number by one

                                     00AF 28600 	.DSABL	LSB

SYSPUTMSG       - SYS$ERROR/SYS$OUTPUT Linked Message Routine    21-AUG-1978 20:38:37   VAX-11 MACRO X0.3-11               Page   7

01              SYS$PUTMSG - SYS$ERROR/SYS$OUTPUT message routi                                                                  (1)



                                     00AF 28700  

                                     00AF 28800 ;

                                     00AF 28900 ; Call $GETMSG to retrieve the model message text which corresponds

                                     00AF 29000 ; to the current message number.

                                     00AF 29100 ;

                                     00AF 29200 

                                     00AF 29300 GET_MODEL_MSG:

            30         EA AD     E8  00AF 29400 	BLBS	MESSAGE_PREFIX(FP),10$	; If lbs not first message

            56         0C AC     D0  00B3 29500 	MOVL	FAC_NAME_ADDR(AP),R6	; Any facility name descriptor?

                          2A     13  00B7 29600 	BEQL	10$			; If eql no

                          66     A3  00B9 29700 	SUBW3	(R6),#MODEL_BUFF_SIZE-1,- ; Put the remaining buffer length

         F4 AD       00FE 8F         00BB 29800 		FAO_CTL_DESC(FP)	; into the model buffer descriptor

                          21     15  00C0 29900 	BLEQ	10$			; If leq buffer not large enough

       FEEB CD            25     90  00C2 30000 	MOVB	#^A/%/,MODEL_BUFFER(FP)	; Insert leading percent sign

         04 B6            66     28  00C7 30100 	MOVC	(R6),@4(R6), -		; Move the facility name into the

                     FEEC CD         00CB       

                                     00CE 30200 		MODEL_BUFFER+1(FP)	; model message buffer.

            56            66     3C  00CE 30300 	MOVZWL	(R6),R6			; Get length of facility name

         F8 AD       FEEC CD46   9E  00D1 30400 	MOVAB	MODEL_BUFFER+1(FP)[R6],- ; Point to next available space in buffer

                                     00D8 30500 		FAO_CTL_DESC+4(FP)	;

            55            07     9A  00D8 30600 	MOVZBL	#7,R5			; Setup the appropriate GETMSG option

                                     00DB 30700 					; bits (severity,id,text),

         02 AE            08     AA  00DB 30800 	BICW	#^X8,2(SP)		; Make sure facility name bit is clear

                          56     D6  00DF 30900 	INCL	R6			; Calculate real length of prefix

                          10     11  00E1 31000 	BRB	20$			; and then jump to call GETMSG.

         F4 AD         FF 8F     9A  00E3 31100 10$:	MOVZBL	#MODEL_BUFF_SIZE, -	; Setup the GETMSG buffer descriptor

                                     00E8 31200 		FAO_CTL_DESC(FP)	; with the model buffer size

         F8 AD       FEEB CD     9E  00E8 31300 	MOVAB	MODEL_BUFFER(FP), -	; and buffer address.

                                     00EE 31400 		FAO_CTL_DESC+4(FP)	;

            55            0F     9A  00EE 31500 	MOVZBL	#15,R5			; Setup the appropriate GETMSG option

                                     00F1 31600 					; bits (subsystem,severity,id,text)

                          56     D4  00F1 31700 	CLRL	R6			; Indicate no prefix text.

                       02 AE     B5  00F3 31800 20$:	TSTW	2(SP)			; Any get message flags specified?

                          04     13  00F6 31900 	BEQL	30$			; If eql no

            55         02 AE     3C  00F8 32000 	MOVZWL	2(SP),R5		; Pick up get message flags

                                     00FC 32100 30$:	$GETMSG_S -			; Call $GETMSG with the following arguments:

                                     00FC 32200 		(R9), -			;    message number

                                     00FC 32300 		FAO_CTL_DESC(FP), -	;    address of text length deposit area

                                     00FC 32400 		FAO_CTL_DESC(FP), -	;    address of model text buffer descriptor

                                     00FC 32500 		R5, -			;    option bits (see above)

                                     00FC 32600 		GETMSG_VALUE(FP)	;    address of message value deposit area

         F4 AD            56     A0  0110 32700 	ADDW	R6,FAO_CTL_DESC(FP)	; Add in length of prefix

         F8 AD       FEEB CD     9E  0114 32800 	MOVAB	MODEL_BUFFER(FP),FAO_CTL_DESC+4(FP) ; Reset to begining of buffer

                                     011A 32900 

                                     011A 33000 ;

                                     011A 33100 ; Create the final output message by calling $FAOL to fillin the variable

                                     011A 33200 ; portions of the model message returned by $GETMSG, or simply move the

                                     011A 33300 ; model message to the output buffer.

                                     011A 33400 ;

                                     011A 33500 

                                     011A 33600 FINAL_MESSAGE:

                       FD AD     95  011A 33700 	TSTB	GETMSG_VALUE+1(FP)	; If GETMSG indicates that this

                          24     13  011D 33800 	BEQL	10$			; message has no FAO fields

            58            01     D1  011F 33900 	CMPL	#1,R8			; or if the caller provided no args,

                          1F     13  0122 34000 	BEQL	10$			; bypass calling FAO.

         EC AD         FF 8F     9A  0124 34100 	MOVZBL	#MSG_BUFF_SIZE,FAO_OUT_DESC(FP) ; Set length of message buffer

         F0 AD       FDEC CD     9E  0129 34200 	MOVAB	MESSAGE_BUFFER(FP),FAO_OUT_DESC+4(FP) ; Set address of buffer

SYSPUTMSG       - SYS$ERROR/SYS$OUTPUT Linked Message Routine    21-AUG-1978 20:38:37   VAX-11 MACRO X0.3-11               Page   8

01              SYS$PUTMSG - SYS$ERROR/SYS$OUTPUT message routi                                                                  (1)



                                     012F 34300 	$FAOL_S -			; Call $FAOL with the following arguments:

                                     012F 34400 		FAO_CTL_DESC(FP), -	;    addr of control msg string desc

                                     012F 34500 		FAO_OUT_DESC(FP), -	;    addr of msg size deposit area

                                     012F 34600 		FAO_OUT_DESC(FP), -	;    addr of msg buffer descriptor

                                     012F 34700 		(R7)			;    addr of the FAO argument list, if any

                          05     11  0141 34800 	BRB	20$			; Jump to add the message prefix.

         EC AD         F4 AD     7D  0143 34900 10$:	MOVQ	FAO_CTL_DESC(FP), -	; Copy control buffer descriptor

                                     0148 35000 		FAO_OUT_DESC(FP)	;

         EA AD            00     E3  0148 35100 20$:	BBCS	#0,MESSAGE_PREFIX(FP),CALL_ACTION ; If clr, first message output

                          08         014C       

            55            03     E1  014D 35200 	BBC	#3,R5,CALL_ACTION	; If clr, suppress insertion on minus sign

                          04         0150       

         F0 BD            2D     90  0151 35300 	MOVB	#^A/-/,@FAO_OUT_DESC+4(FP) ; Insert leading minus sign

                                     0155 35400 

                                     0155 35500 ;

                                     0155 35600 ; Call the caller's action routine if one was provided.

                                     0155 35700 ;

                                     0155 35800 

                                     0155 35900 CALL_ACTION:

                       08 AC     D5  0155 36000 	TSTL	ACTION_ADDR(AP)		; if action routine address is zero,

                          0A     13  0158 36100 	BEQL	PUT_SYS$ERROR		; bypass calling an action routine.

                       EC AD     9F  015A 36200 	PUSHAB	FAO_OUT_DESC(FP)	; Push the address of message descriptor

         08 BC            01     FB  015D 36300 	CALLS	#1,@ACTION_ADDR(AP)	; and call the caller's action routine.

            4F            50     E9  0161 36400 	BLBC	R0,END_OF_LOOP		; If lbc skip further output of message

                                     0164 36500 

                                     0164 36600 ;

                                     0164 36700 ; Send error messages to the SYS$ERROR device if this is not a success sequence

                                     0164 36800 ;

                                     0164 36900     

                                     0164 37000 	.ENABL	LSB

                                     0164 37100 PUT_SYS$ERROR:				;

            50            69     D2  0164 37120 	MCOML	(R9),R0			; Get complement of severity field

            1F            50     F0  0167 37140 	INSV	R0,#RAB$V_CCO,#1,RAB$L_ROP(R11) ; Cancel ^O if not success or info

         04 AB            01         016A       

                          00     ED  016D 37200 	CMPZV	#STS$V_SEVERITY,#STS$S_SEVERITY,- ; If severity field

            50            03         016F 37220 		R0,#<^C<STS$K_SUCCESS>&STS$M_SEVERITY> ; is "success"

                          06         0171       

                          23     13  0172 37240 	BEQL	10$			; then don't write SYS$ERROR

         22 AB         EC AD     B0  0174 37300 	MOVW	FAO_OUT_DESC(FP),RAB$W_RSZ(R11) ; Set size of output message

         28 AB         F0 AD     D0  0179 37400 	MOVL	FAO_OUT_DESC+4(FP),RAB$L_RBF(R11) ; Set address of output message

                                     017E 37500 	$WAIT	RAB=(R11)		; Wait for any outstanding I/O

                                     0187 37600 	$PUT	RAB=(R11)		; Send the message to SYS$ERROR.

                                     0190 37700 

                                     0190 37800 ;

                                     0190 37900 ; Send the completed message to the SYS$OUTPUT device if different from 'SYS$ERROR'

                                     0190 38000 ;

                                     0190 38100 

                                     0190 38200 PUT_SYS$OUTPUT:				;

         02 AB         02 AA     B1  0190 38300 	CMPW	RAB$W_ISI(R10),RAB$W_ISI(R11) ; SYS$ERROR and SYS$OUTPUT same?

                          1C     13  0195 38400 	BEQL	END_OF_LOOP		; If eql yes

         22 AA         EC AD     B0  0197 38500 10$:	MOVW	FAO_OUT_DESC(FP),RAB$W_RSZ(R10) ; Set size of output message

         28 AA         F0 AD     D0  019C 38600 	MOVL	FAO_OUT_DESC+4(FP),RAB$L_RBF(R10) ; Set address of output message

                                     01A1 38700 	$WAIT	RAB=(R10)		; Wait for any outstanding I/O

                                     01AA 38800 	$PUT	RAB=(R10)		; Send the message to SYS$OUTPUT.

                                     01B3 38900 	.DSABL	LSB

                                     01B3 39000     

                                     01B3 39100 ;

SYSPUTMSG       - SYS$ERROR/SYS$OUTPUT Linked Message Routine    21-AUG-1978 20:38:37   VAX-11 MACRO X0.3-11               Page   9

01              SYS$PUTMSG - SYS$ERROR/SYS$OUTPUT message routi                                                                  (1)



                                     01B3 39200 ; Setup to process the next message, if any.

                                     01B3 39300 ;

                                     01B3 39400 

                                     01B3 39500 END_OF_LOOP:

            6E            58     A2  01B3 39600 	SUBW	R8,(SP)			; Calculate remaining arguments

                          07     15  01B6 39700 	BLEQ	RETURN			; If leq no more to process

            59            6948   DE  01B8 39800 	MOVAL	(R9)[R8],R9		; Get address of next message code

                          FE9C   31  01BC 39900 	BRW	TOP_OF_LOOP		; Loop until all messages have been

                                     01BF 40000 					; processed.

                                     01BF 40100 

                                     01BF 40200 ;

                                     01BF 40300 ; Return to the caller.

                                     01BF 40400 ;

                                     01BF 40500 

                                     01BF 40600 RETURN:

            50            01     D0  01BF 40700 	MOVL	S^#SS$_NORMAL,R0	; Return a normal completion code

                                 04  01C2 40800 	RET				; to the caller.

                                     01C3 40900 

                                     01C3 41000 	.END

SYSPUTMSG       - SYS$ERROR/SYS$OUTPUT Linked Message Routine    21-AUG-1978 20:38:37   VAX-11 MACRO X0.3-11               Page  10

SYMBOL TABLE                                                                                                                     (1)



$$.TMP1        = 00000001            FAB$M_CTG      = 00100000            FAB$V_DMO      = 0000000C            

$$.TMP2        = 0000006A            FAB$M_DEL      = 00000004            FAB$V_ESC      = 0000001B            

$$FORMAL       = 0000000C            FAB$M_DFW      = 00000020            FAB$V_EXE      = 00000007            

$$LOCAL_SIZE   = 00000214            FAB$M_DLT      = 00008000            FAB$V_FTN      = 00000000            

ACTION_ADDR    = 00000008            FAB$M_DMO      = 00001000            FAB$V_GET      = 00000001            

BIT...         = 00000020            FAB$M_ESC      = 08000000            FAB$V_INP      = 00000013            

CALL_ACTION      00000155 R     03   FAB$M_EXE      = 00000080            FAB$V_JNL      = 00000016            

END_OF_LOOP      000001B3 R     03   FAB$M_FTN      = 00000001            FAB$V_KFO      = 0000001E            

EXCEPTION_CODES  00000000 R     03   FAB$M_GET      = 00000002            FAB$V_MSE      = 00000004            

EXCEPTION_COUNT= 00000017            FAB$M_INP      = 00080000            FAB$V_MXV      = 00000001            

EXCEPTION_SIZE = 00000003            FAB$M_JNL      = 00400000            FAB$V_NAM      = 00000018            

EXE$OPEN_MSG     ********   X   03   FAB$M_KFO      = 40000000            FAB$V_NEF      = 0000000A            

EXE$PUTMSG       00000045 RG    03   FAB$M_MSE      = 00000010            FAB$V_NFS      = 00000010            

FAB$B_BID        00000000            FAB$M_MXV      = 00000002            FAB$V_NIL      = 00000005            

FAB$B_BKS        0000003E            FAB$M_NAM      = 01000000            FAB$V_OFP      = 0000001D            

FAB$B_BLN        00000001            FAB$M_NEF      = 00000400            FAB$V_ORG      = 00000004            

FAB$B_DNS        00000035            FAB$M_NFS      = 00010000            FAB$V_POS      = 00000008            

FAB$B_FAC        00000016            FAB$M_NIL      = 00000020            FAB$V_PPF      = 00000012            

FAB$B_FNS        00000034            FAB$M_OFP      = 20000000            FAB$V_PPF_IND  = 0000000E            

FAB$B_FSZ        0000003F            FAB$M_POS      = 00000100            FAB$V_PPF_RAT  = 00000006            

FAB$B_ORG        0000001D            FAB$M_PPF      = 00040000            FAB$V_PRN      = 00000002            

FAB$B_RAT        0000001E            FAB$M_PPF_IND  = 00004000            FAB$V_PUT      = 00000000            

FAB$B_RFM        0000001F            FAB$M_PPF_RAT  = 00003FC0            FAB$V_RCK      = 00000017            

FAB$B_RTV        0000001C            FAB$M_PRN      = 00000004            FAB$V_RWC      = 0000000B            

FAB$B_SHR        00000017            FAB$M_PUT      = 00000001            FAB$V_RWO      = 00000007            

FAB$C_BID      = 00000003            FAB$M_RCK      = 00800000            FAB$V_SCF      = 0000000E            

FAB$C_BLN        00000050            FAB$M_RWC      = 00000800            FAB$V_SHRDEL   = 00000002            

FAB$C_FIX      = 00000001            FAB$M_RWO      = 00000080            FAB$V_SHRGET   = 00000001            

FAB$C_HSH      = 00000030            FAB$M_SCF      = 00004000            FAB$V_SHRPUT   = 00000000            

FAB$C_IDX      = 00000020            FAB$M_SHRDEL   = 00000004            FAB$V_SHRUPD   = 00000003            

FAB$C_MAXRFM   = 00000003            FAB$M_SHRGET   = 00000002            FAB$V_SPL      = 0000000D            

FAB$C_REL      = 00000010            FAB$M_SHRPUT   = 00000001            FAB$V_SQO      = 00000006            

FAB$C_RFM_DFLT = 00000002            FAB$M_SHRUPD   = 00000008            FAB$V_SUP      = 00000002            

FAB$C_SEQ      = 00000000            FAB$M_SPL      = 00002000            FAB$V_TEF      = 0000001C            

FAB$C_UDF      = 00000000            FAB$M_SQO      = 00000040            FAB$V_TMD      = 00000004            

FAB$C_VAR      = 00000002            FAB$M_SUP      = 00000004            FAB$V_TMP      = 00000003            

FAB$C_VFC      = 00000003            FAB$M_TEF      = 10000000            FAB$V_TRN      = 00000004            

FAB$K_BLN        00000050            FAB$M_TMD      = 00000010            FAB$V_UFM      = 0000001A            

FAB$L_ALQ        00000010            FAB$M_TMP      = 00000008            FAB$V_UFO      = 00000011            

FAB$L_CTX        00000018            FAB$M_TRN      = 00000010            FAB$V_UPD      = 00000003            

FAB$L_DEV        00000040            FAB$M_UFM      = 04000000            FAB$V_UPI      = 00000006            

FAB$L_DNA        00000030            FAB$M_UFO      = 00020000            FAB$V_WCK      = 00000009            

FAB$L_FNA        0000002C            FAB$M_UPD      = 00000008            FAB$W_BLS        0000003C            

FAB$L_FOP        00000004            FAB$M_UPI      = 00000040            FAB$W_DEQ        00000014            

FAB$L_JNL        00000020            FAB$M_WCK      = 00000200            FAB$W_IFI        00000002            

FAB$L_MRN        00000038            FAB$S_ORG      = 00000004            FAB$W_MRS        00000036            

FAB$L_NAM        00000028            FAB$S_PPF_RAT  = 00000008            FAC_NAME_ADDR  = 0000000C            

FAB$L_SDC        00000044            FAB$V_BIO      = 00000005            FAO_CTL_DESC   = FFFFFFF4            

FAB$L_STS        00000008            FAB$V_BLK      = 00000003            FAO_OUT_DESC   = FFFFFFEC            

FAB$L_STV        0000000C            FAB$V_BRO      = 00000006            FINAL_MESSAGE    0000011A R     03   

FAB$L_XAB        00000024            FAB$V_CBT      = 00000015            GBL...         = 00000000            

FAB$M_BIO      = 00000020            FAB$V_CIF      = 00000019            GETMSG_VALUE   = FFFFFFFC            

FAB$M_BLK      = 00000008            FAB$V_CR       = 00000001            GET_MODEL_MSG    000000AF R     03   

FAB$M_BRO      = 00000040            FAB$V_CTG      = 00000014            MESSAGE_BUFFER = FFFFFDEC            

FAB$M_CBT      = 00200000            FAB$V_DEL      = 00000002            MESSAGE_PREFIX = FFFFFFEA            

FAB$M_CIF      = 02000000            FAB$V_DFW      = 00000005            MODEL_BUFFER   = FFFFFEEB            

FAB$M_CR       = 00000002            FAB$V_DLT      = 0000000F            MODEL_BUFF_SIZE= 000000FF            

SYSPUTMSG       - SYS$ERROR/SYS$OUTPUT Linked Message Routine    21-AUG-1978 20:38:37   VAX-11 MACRO X0.3-11               Page  11

SYMBOL TABLE                                                                                                                     (1)



MSG_ARGS_ADDR  = 00000004            RAB$M_RAH      = 00000200            RMS$_BKS       = 0001841C            

MSG_BUFF_SIZE  = 000000FF            RAB$M_RLK      = 00080000            RMS$_BKZ       = 00018424            

OTHER_MESSAGE    0000009C R     03   RAB$M_RNE      = 01000000            RMS$_BLN       = 0001842C            

PREFIX1        = 00000025            RAB$M_RNF      = 08000000            RMS$_BOF       = 00018198            

PREFIX2        = 0000002D            RAB$M_TMO      = 02000000            RMS$_BUG       = 00018434            

PUT_SYS$ERROR    00000164 R     03   RAB$M_TPT      = 00000002            RMS$_BUG_DAP   = 00018444            

PUT_SYS$OUTPUT   00000190 R     03   RAB$M_UIF      = 00000010            RMS$_BUG_DDI   = 0001843C            

RAB$B_BID        00000000            RAB$M_ULK      = 00040000            RMS$_BUG_XX2   = 0001844C            

RAB$B_BLN        00000001            RAB$M_WAT      = 00020000            RMS$_BUG_XX3   = 00018454            

RAB$B_KRF        00000035            RAB$M_WBH      = 00000400            RMS$_BUG_XX4   = 0001845C            

RAB$B_KSZ        00000034            RAB$S_PPF_RAT  = 00000008            RMS$_BUG_XX5   = 00018464            

RAB$B_MBC        00000037            RAB$V_ASY      = 00000000            RMS$_BUG_XX6   = 0001846C            

RAB$B_MBF        00000036            RAB$V_BIO      = 0000000B            RMS$_BUG_XX7   = 00018474            

RAB$B_PSZ        00000034            RAB$V_CCO      = 0000001F            RMS$_BUG_XX8   = 0001847C            

RAB$B_RAC        0000001E            RAB$V_CVT      = 0000001A            RMS$_BUG_XX9   = 00018484            

RAB$B_ROP1       00000005            RAB$V_EOF      = 00000008            RMS$_CAA       = 0001848C            

RAB$B_ROP2       00000006            RAB$V_FDL      = 00000006            RMS$_CCF       = 0001C0DC            

RAB$B_ROP3       00000007            RAB$V_HSH      = 00000007            RMS$_CCR       = 00018494            

RAB$B_TMO        0000001F            RAB$V_KGE      = 00000015            RMS$_CDA       = 0001C0E4            

RAB$C_BID      = 00000001            RAB$V_KGT      = 00000016            RMS$_CHG       = 0001849C            

RAB$C_BLN        00000044            RAB$V_LIM      = 0000000E            RMS$_CHK       = 000184A4            

RAB$C_KEY      = 00000001            RAB$V_LOA      = 0000000D            RMS$_CHN       = 0001C0EC            

RAB$C_RFA      = 00000002            RAB$V_LOC      = 00000010            RMS$_COD       = 000184AC            

RAB$C_SEQ      = 00000000            RAB$V_MAS      = 00000005            RMS$_CONTROLC  = 00010651            

RAB$K_BLN        00000044            RAB$V_NLK      = 00000014            RMS$_CONTROLO  = 00010609            

RAB$L_BKT        00000038            RAB$V_NXR      = 00000017            RMS$_CONTROLY  = 00010611            

RAB$L_CTX        00000018            RAB$V_PMT      = 0000001E            RMS$_CRE       = 0001C00A            

RAB$L_DCT        00000038            RAB$V_PPF_IND  = 0000000E            RMS$_CREATED   = 00010619            

RAB$L_FAB        0000003C            RAB$V_PPF_RAT  = 00000006            RMS$_CUR       = 000184B4            

RAB$L_KBF        00000030            RAB$V_PTA      = 0000001D            RMS$_DAC       = 0001C012            

RAB$L_PBF        00000030            RAB$V_RAH      = 00000009            RMS$_DAN       = 000184BC            

RAB$L_RBF        00000028            RAB$V_RLK      = 00000013            RMS$_DEL       = 00018262            

RAB$L_RFA0       00000010            RAB$V_RNE      = 00000018            RMS$_DEV       = 000184C4            

RAB$L_RHB        0000002C            RAB$V_RNF      = 0000001B            RMS$_DIR       = 000184CC            

RAB$L_ROP        00000004            RAB$V_TMO      = 00000019            RMS$_DME       = 000184D4            

RAB$L_STS        00000008            RAB$V_TPT      = 00000001            RMS$_DNA       = 000184DC            

RAB$L_STV        0000000C            RAB$V_UIF      = 00000004            RMS$_DNF       = 0001C04A            

RAB$L_UBF        00000024            RAB$V_ULK      = 00000012            RMS$_DNR       = 00018272            

RAB$M_ASY      = 00000001            RAB$V_WAT      = 00000011            RMS$_DPE       = 0001C03A            

RAB$M_BIO      = 00000800            RAB$V_WBH      = 0000000A            RMS$_DTP       = 000184E4            

RAB$M_CCO      = 80000000            RAB$W_ISI        00000002            RMS$_DUP       = 000184EC            

RAB$M_CVT      = 04000000            RAB$W_RFA        00000010            RMS$_DVI       = 000184F4            

RAB$M_EOF      = 00000100            RAB$W_RFA4       00000014            RMS$_ENT       = 0001C01A            

RAB$M_FDL      = 00000040            RAB$W_RSZ        00000022            RMS$_ENV       = 00018724            

RAB$M_HSH      = 00000080            RAB$W_USZ        00000020            RMS$_EOF       = 0001827A            

RAB$M_KGE      = 00200000            RETURN           000001BF R     03   RMS$_ESA       = 000184FC            

RAB$M_KGT      = 00400000            RMS$V_STVSTATUS= 0000000E            RMS$_ESL       = 00018714            

RAB$M_LIM      = 00004000            RMS$_ABO       = 000183EC            RMS$_ESS       = 00018504            

RAB$M_LOA      = 00002000            RMS$_ACC       = 0001C002            RMS$_EXP       = 000182C2            

RAB$M_LOC      = 00010000            RMS$_ACT       = 0001825A            RMS$_EXT       = 0001C022            

RAB$M_MAS      = 00000020            RMS$_AID       = 000183F4            RMS$_FAB       = 0001850C            

RAB$M_NLK      = 00100000            RMS$_ALN       = 000183FC            RMS$_FAC       = 00018514            

RAB$M_NXR      = 00800000            RMS$_ALQ       = 00018404            RMS$_FEX       = 00018282            

RAB$M_PMT      = 40000000            RMS$_ANI       = 0001840C            RMS$_FLG       = 0001851C            

RAB$M_PPF_IND  = 00004000            RMS$_AOP       = 00018414            RMS$_FLK       = 0001828A            

RAB$M_PPF_RAT  = 00003FC0            RMS$_ATR       = 0001C0CC            RMS$_FNA       = 00018524            

RAB$M_PTA      = 20000000            RMS$_ATW       = 0001C0D4            RMS$_FND       = 0001C02A            

SYSPUTMSG       - SYS$ERROR/SYS$OUTPUT Linked Message Routine    21-AUG-1978 20:38:37   VAX-11 MACRO X0.3-11               Page  12

SYMBOL TABLE                                                                                                                     (1)



RMS$_FNF       = 00018292            RMS$_RBF       = 00018654            SS$_BADCHKSUM  = 00000808            

RMS$_FNM       = 0001852C            RMS$_RER       = 0001C0F4            SS$_BADESCAPE  = 0000003C            

RMS$_FOP       = 0001853C            RMS$_REX       = 000182A2            SS$_BADFILEHDR = 00000810            

RMS$_FSZ       = 00018534            RMS$_RFA       = 0001865C            SS$_BADFILENAME= 00000818            

RMS$_FUL       = 00018544            RMS$_RFM       = 00018664            SS$_BADFILEVER = 00000820            

RMS$_IAL       = 0001854C            RMS$_RHB       = 0001866C            SS$_BADIMGHDR  = 00000044            

RMS$_IAN       = 00018554            RMS$_RLF       = 00018674            SS$_BADIRECTORY= 00000828            

RMS$_IBF       = 00018754            RMS$_RLK       = 000182AA            SS$_BADPARAM   = 00000014            

RMS$_IDX       = 0001855C            RMS$_RMV       = 0001C0FC            SS$_BADSTACK   = 000002B4            

RMS$_IFA       = 0001C124            RMS$_RNF       = 000182B2            SS$_BEGOFFILE  = 00000938            

RMS$_IFI       = 00018564            RMS$_RNL       = 000181A0            SS$_BLOCKCNTERR= 00000940            

RMS$_IMX       = 0001856C            RMS$_ROP       = 0001867C            SS$_BREAK      = 00000414            

RMS$_IOP       = 00018574            RMS$_RPL       = 0001C104            SS$_BUFBYTALI  = 0000030C            

RMS$_IRC       = 0001857C            RMS$_RRV       = 00018684            SS$_BUFFEROVF  = 00000601            

RMS$_ISI       = 00018584            RMS$_RSA       = 000182DA            SS$_BUGCHECK   = 000002A4            

RMS$_KBF       = 0001858C            RMS$_RSL       = 0001873C            SS$_CANCEL     = 00000830            

RMS$_KEY       = 00018594            RMS$_RSS       = 00018694            SS$_CHANINTLK  = 0000004C            

RMS$_KFF       = 00018031            RMS$_RST       = 0001869C            SS$_CLIFRCEXT  = 00000980            

RMS$_KRF       = 0001859C            RMS$_RSZ       = 000186A4            SS$_CMODSUPR   = 0000041C            

RMS$_KSZ       = 000185A4            RMS$_RTB       = 000181A8            SS$_CMODUSER   = 00000424            

RMS$_LAN       = 000185AC            RMS$_SEQ       = 000186AC            SS$_COMPAT     = 0000042C            

RMS$_LBL       = 000185B4            RMS$_SHR       = 000186B4            SS$_CONTINUE   = 00000001            

RMS$_LNE       = 000185BC            RMS$_SIZ       = 000186BC            SS$_CONTROLC   = 00000651            

RMS$_LOC       = 000185C4            RMS$_SPL       = 0001C042            SS$_CONTROLO   = 00000609            

RMS$_MBC       = 00018734            RMS$_SQO       = 000186C4            SS$_CONTROLY   = 00000611            

RMS$_MKD       = 0001C032            RMS$_STALL     = 00018001            SS$_CREATED    = 00000619            

RMS$_MRN       = 000185CC            RMS$_STK       = 000186CC            SS$_CTRLERR    = 00000054            

RMS$_MRS       = 000185D4            RMS$_SUC       = 00010001            SS$_DATACHECK  = 0000005C            

RMS$_NAM       = 000185DC            RMS$_SUP       = 000182D2            SS$_DATAOVERUN = 00000838            

RMS$_NEF       = 000185E4            RMS$_SUPERSEDE = 00010631            SS$_DEBUG      = 0000046C            

RMS$_NET       = 0001874C            RMS$_SYN       = 000186D4            SS$_DECOVF     = 000004A4            

RMS$_NID       = 000185EC            RMS$_SYS       = 0001C10C            SS$_DEVACTIVE  = 000002C4            

RMS$_NMF       = 000182CA            RMS$_TEMP1     = 0001826A            SS$_DEVALLOC   = 00000840            

RMS$_NOD       = 000185F4            RMS$_TEMP2     = 0001868C            SS$_DEVALRALLOC= 00000641            

RMS$_NORMAL    = 00010001            RMS$_TMO       = 000181B0            SS$_DEVASSIGN  = 00000848            

RMS$_NPK       = 000185FC            RMS$_TRE       = 000186DC            SS$_DEVFOREIGN = 00000064            

RMS$_OK_ALK    = 00018039            RMS$_TYP       = 000186E4            SS$_DEVICEFULL = 00000850            

RMS$_OK_DEL    = 00018041            RMS$_UBF       = 000186EC            SS$_DEVMOUNT   = 0000006C            

RMS$_OK_DUP    = 00018011            RMS$_USZ       = 000186F4            SS$_DEVNOTALLOC= 00000858            

RMS$_OK_IDX    = 00018019            RMS$_VER       = 000186FC            SS$_DEVNOTMBX  = 00000074            

RMS$_OK_LIM    = 00018051            RMS$_VOL       = 00018704            SS$_DEVNOTMOUNT= 0000007C            

RMS$_OK_RLK    = 00018021            RMS$_WBE       = 0001C12C            SS$_DEVOFFLINE = 00000084            

RMS$_OK_RNF    = 00018049            RMS$_WER       = 0001C114            SS$_DIRFULL    = 00000860            

RMS$_OK_RRV    = 00018029            RMS$_WLD       = 00018744            SS$_DRVERR     = 0000008C            

RMS$_ORD       = 00018604            RMS$_WLK       = 000182BA            SS$_DUPFILENAME= 00000868            

RMS$_ORG       = 0001860C            RMS$_WPL       = 0001C11C            SS$_DUPLNAM    = 00000094            

RMS$_PBF       = 00018614            RMS$_WSF       = 0001871C            SS$_ENDOFFILE  = 00000870            

RMS$_PENDING   = 00018009            RMS$_XAB       = 0001870C            SS$_ENDOFTAPE  = 00000878            

RMS$_PLG       = 0001861C            RMS_ID         = 00000001            SS$_ENDOFUSRLBL= 00000970            

RMS$_PLV       = 0001872C            RMS_MESSAGE      00000091 R     03   SS$_EXQUOTA    = 0000001C            

RMS$_POS       = 00018624            SS$_ABORT      = 0000002C            SS$_EXTIDXFILE = 00000880            

RMS$_PRM       = 0001862C            SS$_ACCONFLICT = 00000800            SS$_FCPREADERR = 00000888            

RMS$_PRV       = 0001829A            SS$_ACCVIO     = 0000000C            SS$_FCPREPSTN  = 00000988            

RMS$_QUO       = 00018634            SS$_ACPVAFUL   = 000002FC            SS$_FCPREWNDERR= 00000890            

RMS$_RAB       = 0001863C            SS$_ARTRES     = 00000474            SS$_FCPSPACERR = 00000898            

RMS$_RAC       = 00018644            SS$_ASTFLT     = 0000040C            SS$_FCPWRITERR = 000008A0            

RMS$_RAT       = 0001864C            SS$_BADATTRIB  = 00000034            SS$_FILACCERR  = 0000009C            

SYSPUTMSG       - SYS$ERROR/SYS$OUTPUT Linked Message Routine    21-AUG-1978 20:38:37   VAX-11 MACRO X0.3-11               Page  13

SYMBOL TABLE                                                                                                                     (1)



SS$_FILALRACC  = 000000A4            SS$_MUSTCLOSEFL= 00000948            SS$_UNWINDING  = 00000928            

SS$_FILELOCKED = 000008A8            SS$_NOAQB      = 00000314            SS$_VASFULL    = 00000244            

SS$_FILENUMCHK = 000008B0            SS$_NODATA     = 000001AC            SS$_VECINUSE   = 0000024C            

SS$_FILESEQCHK = 000008B8            SS$_NOHANDLER  = 000008F8            SS$_VOLINV     = 00000254            

SS$_FILESTRUCT = 000008C0            SS$_NOHOMEBLK  = 000008E0            SS$_WAITUSRLBL = 00000950            

SS$_FILNOTACC  = 000000AC            SS$_NOIOCHAN   = 000001B4            SS$_WASCLR     = 00000001            

SS$_FILNOTCNTG = 000002AC            SS$_NOLINKS    = 0000027C            SS$_WASECC     = 00000639            

SS$_FILNOTEXP  = 000000B4            SS$_NOLOGNAM   = 000001BC            SS$_WASSET     = 00000009            

SS$_FLTDIV     = 00000494            SS$_NOMBX      = 00000274            SS$_WRITLCK    = 0000025C            

SS$_FLTOVF     = 0000048C            SS$_NOMOREFILES= 00000930            SS$_WRONGACP   = 0000031C            

SS$_FLTUND     = 0000049C            SS$_NONEXDRV   = 000001C4            SS_ID          = 00000000            

SS$_FORMAT     = 000000BC            SS$_NONEXPR    = 000008E8            SS_MESSAGE       00000067 R     03   

SS$_GPTFULL    = 000000C4            SS$_NONLOCAL   = 000008F0            STS$K_ERROR    = 00000002            

SS$_GSDFULL    = 000000CC            SS$_NOPRIV     = 00000024            STS$K_INFO     = 00000003            

SS$_HANGUP     = 000002CC            SS$_NORMAL     = 00000001            STS$K_SEVERE   = 00000004            

SS$_HEADERFULL = 000008C8            SS$_NOSIGNAL   = 00000900            STS$K_SUCCESS  = 00000001            

SS$_IDXFILEFULL= 000008D0            SS$_NOSOLICIT  = 00000284            STS$K_WARNING  = 00000000            

SS$_ILLBLKNUM  = 000000DC            SS$_NOSUCHDEV  = 00000908            STS$M_CODE     = 00007FF8            

SS$_ILLCNTRFUNC= 000000E4            SS$_NOSUCHFILE = 00000910            STS$M_COND_ID  = 0FFFFFF8            

SS$_ILLEFC     = 000000EC            SS$_NOSUCHNODE = 0000028C            STS$M_CONTROL  = F0000000            

SS$_ILLIOFUNC  = 000000F4            SS$_NOSUCHSEC  = 00000978            STS$M_CUST_DEF = 08000000            

SS$_ILLLBLAST  = 00000968            SS$_NOTAPEOP   = 00000264            STS$M_FAC_NO   = 0FFF0000            

SS$_ILLPAGCNT  = 000000FC            SS$_NOTFILEDEV = 000001CC            STS$M_FAC_SP   = 00008000            

SS$_ILLSEQOP   = 000002DC            SS$_NOTINTBLSZ = 000001D4            STS$M_INHIB_MSG= 10000000            

SS$_ILLSER     = 00000104            SS$_NOTLABELMT = 000001DC            STS$M_MSG_NO   = 0000FFF8            

SS$_ILLUSRLBLRD= 00000958            SS$_NOTMODIFIED= 00000659            STS$M_SEVERITY = 00000007            

SS$_ILLUSRLBLWT= 00000960            SS$_NOTNETDEV  = 000002EC            STS$M_SUCCESS  = 00000001            

SS$_INCVOLLABEL= 0000010C            SS$_NOTRAN     = 00000629            STS$S_CODE     = 0000000C            

SS$_INSFARG    = 00000114            SS$_NOTSQDEV   = 000001E4            STS$S_COND_ID  = 00000019            

SS$_INSFMEM    = 00000124            SS$_OPCCUS     = 00000434            STS$S_CONTROL  = 00000004            

SS$_INSFRAME   = 0000012C            SS$_OPCDEC     = 0000043C            STS$S_CUST_DEF = 00000001            

SS$_INSFWSL    = 0000011C            SS$_OPINCOMPL  = 000002D4            STS$S_FAC_NO   = 0000000C            

SS$_INTDIV     = 00000484            SS$_PAGOWNVIO  = 000001EC            STS$S_FAC_SP   = 00000001            

SS$_INTOVF     = 0000047C            SS$_PAGRDERR   = 00000444            STS$S_INHIB_MSG= 00000001            

SS$_IVADDR     = 00000134            SS$_PARITY     = 000001F4            STS$S_MSG_NO   = 0000000D            

SS$_IVCHAN     = 0000013C            SS$_PARTESCAPE = 000001FC            STS$S_SEVERITY = 00000003            

SS$_IVCHNLSEC  = 0000026C            SS$_PFMBSY     = 00000204            STS$S_SUCCESS  = 00000001            

SS$_IVDEVNAM   = 00000144            SS$_PLHLDR     = 00000404            STS$V_CODE     = 00000003            

SS$_IVGSDNAM   = 0000014C            SS$_PSTFULL    = 0000020C            STS$V_COND_ID  = 00000003            

SS$_IVLOGNAM   = 00000154            SS$_RADRMOD    = 0000044C            STS$V_CONTROL  = 0000001C            

SS$_IVLOGTAB   = 0000015C            SS$_REJECT     = 00000294            STS$V_CUST_DEF = 0000001B            

SS$_IVPROTECT  = 000002F4            SS$_REMOTE     = 00000649            STS$V_FAC_NO   = 00000010            

SS$_IVQUOTAL   = 00000164            SS$_RESIGNAL   = 00000918            STS$V_FAC_SP   = 0000000F            

SS$_IVSECFLG   = 0000016C            SS$_RESULTOVF  = 00000214            STS$V_INHIB_MSG= 0000001C            

SS$_IVSECIDCTL = 000002E4            SS$_ROPRAND    = 00000454            STS$V_MSG_NO   = 00000003            

SS$_IVSSRQ     = 00000174            SS$_SECTBLFUL  = 0000021C            STS$V_SEVERITY = 00000000            

SS$_IVSTSFLG   = 0000017C            SS$_SSFAIL     = 0000045C            STS$V_SUCCESS  = 00000000            

SS$_IVTIME     = 00000184            SS$_SUBRNG     = 000004AC            SUB_MESSAGE    = FFFFFFEB            

SS$_LCKPAGFUL  = 000000D4            SS$_SUPERSEDE  = 00000631            SYS$FAOL         ********   X   03   

SS$_LENVIO     = 0000018C            SS$_TAPEPOSLOST= 00000224            SYS$GETMSG       ********   X   03   

SS$_LKWSETFUL  = 00000194            SS$_TBIT       = 00000464            SYS$PUT          ********  GX   03   

SS$_MBFULL     = 000008D8            SS$_TIMEOUT    = 0000022C            SYS$WAIT         ********  GX   03   

SS$_MBTOOSML   = 0000019C            SS$_TOOMANYVER = 00000990            TOP_OF_LOOP      0000005B R     03   

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

SS$_MEDOFL     = 000001A4            SS$_UNASEFC    = 00000234            

SS$_MSGNOTFND  = 00000621            SS$_UNSAFE     = 0000023C            

SS$_MTLBLLONG  = 00000304            SS$_UNWIND     = 00000920            

SYSPUTMSG       - SYS$ERROR/SYS$OUTPUT Linked Message Routine    21-AUG-1978 20:38:37   VAX-11 MACRO X0.3-11               Page  14

PROGRAM SECTION SYNOPSIS                                                                                                         (1)







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$            00000050      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

YEXEPAGED        000001C3      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

8700. BYTES LEFT IN FREE MEMORY POOL.

1816. BYTES OF RECLAIMED MEMORY.

OBJ$:SYSPUTMSG,LIS$:SYSPUTMSG/-SP=EXECML$/ML,SRC$:SYSPUTMSG

13 MLB DIR RDS - 990 GETS TO DEFINE 21 MACROS. 81 INTER. FILE WRITES. 

