ERMSG	MACRO M1110  22-AUG-78 01:40  PAGE 2





      1						.TITLE	ERMSG

      2						.IDENT	/28/

      3					                                                                                ;**-1

      4					;

      5					; COPYRIGHT (C) 1976,1977

      6					; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

      7					;

      8					; THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A

      9					; SINGLE COMPUTER SYSTEM AND MAY  BE  COPIED   ONLY  WITH  THE

     10					; INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE,  OR

     11					; ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED  OR  OTHERWISE

     12					; MADE AVAILABLE TO ANY OTHER PERSON   EXCEPT FOR  USE ON SUCH

     13					; SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE  TERMS.  TITLE

     14					; TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL  TIMES  REMAIN

     15					; IN DEC.

     16					;

     17					; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT

     18					; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL

     19					; EQUIPMENT CORPORATION.

     20					;

     21					; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF

     22					; ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

     23					;

     24					; VERSION: 28

     25					;                                                                               ;**-1

     26					; D.N. CUTLER 16-OCT-72

     27					;

     28					;

     29					;

     30					; MODIFICATIONS

     31					;

     32					; NO.		DATE		PROGRAMMER

     33					; ---		----		----------

     34					;

     35					; 004		4-AUG-73	C. MONIA

     36					; 047		17-FEB-76	C. MONIA

     37					; 051		02-MAR-76	C. MONIA

     38					; 052		28-MAR-76	C. MONIA

     39					; 061		17-MAY-76	C. MONIA

     40					; 062		30-MAY-76	C. MONIA

     41					; 064		28-JUN-76	C. MONIA

     42					; 072		12-NOV-76	C. MONIA

     43					; JAK106	30-AUG-77	ADD EXIT WITH STATUS

     44					; JAK112	01-DEC-77		REPORT SEGMENT NOT FOUND FOR PATCH

     45					;

     46					;

     47					;

     48					;

     49					; ERROR MESSAGE ROUTINE

     50					;

     51					; EQUATED SYMBOLS

     52					;

     53

     54		000000 			MXBF=0				; INITIAL SIZE OF TEMP BUFFER

     55		000055 			M$SG1==45.			; NUMBER OF MESSAGES IN GROUP 1

     56		000000 			S$V0==0				;SEV 0=DIAGNOSTIC MESSAGE

     57		000001 			S$V1==1				;SEV 1=DIAG IF TERM IN/FATAL IF NOT

ERMSG	MACRO M1110  22-AUG-78 01:40  PAGE 2-1





     58		000002 			S$V2==2				;SEV 2=FATAL ERROR

     59

     60					;

     61					; MACRO LIBRARY CALLS

     62					;

     63

     64						.IF	NDF	R$$11M

     65

     66						.MCALL	CLOSE$,DIR$,PUT$,RCML$

     67

     68						.IFF

     69

     70						.MCALL	CLOSE$,DIR$,QIO$,QIOSY$,RCML$,WTSE$S

     71

     72						.ENDC

     73

     74					;

     75					; LOCAL MACROS

     76					;

     77					; ERROR MESSAGE DEFINITION

     78					;

     79					; ERM NUM,FORMAT

     80					;

     81					; WHERE:

     82					;

     83					;	NUM=ERROR NUMBER.

     84					;	FORMAT=ERROR MESSAGE FORMAT STATEMENT.

     85					;

     86

     87						.MACRO	ERM NUM,FORMAT

     88					E$R'NUM==NUM'.

     89					E$RMAX==NUM'.

     90						.NCHR	SZ,<FORMAT>

     91						.IF	GT	SZ-MXBF

     92					MXBF=SZ

     93						.ENDC

     94						.IF	LE	E$RMAX-M$SG1

     95						.PSECT	ETX1$D,D,GBL

     96						.IFF

     97						.PSECT	ETX2$D,D,GBL

     98						.ENDC

     99					NN=.

    100						.ASCIZ	"FORMAT"

    101						.PSECT	EPT$D,D,GBL

    102					.=$MSG+<2*NUM'.>

    103						.WORD	NN

    104						.PSECT

    105						.ENDM

    106

    107					;

    108					; LOCAL DATA

    109					;

    110

    111	000000				$ARGBK::.BLKW	3		; LOCAL ARGUMENT BLOCK

    112

    113	000000					.PSECT	TXT

    114

ERMSG	MACRO M1110  22-AUG-78 01:40  PAGE 2-2





    115	000000	   124 	   113 	   102 	ABMSG:	.ASCII	/TKB -- *FATAL*-RUN ABORTED/;ABORT MESSAGE

	000003	   040 	   055 	   055

	000006	   040 	   052 	   106

	000011	   101 	   124 	   101

	000014	   114 	   052 	   055

	000017	   122 	   125 	   116

	000022	   040 	   101 	   102

	000025	   117 	   122 	   124

	000030	   105 	   104

    116	000032				ABMSE:				;

    117

    118	000000					.PSECT	EPT$D,D,GBL

    119

    120	000000				$MSG::				; REF. LABEL

    121	000006					.PSECT

    122

    123					;

    124					; ERROR MESSAGES

    125					;

    126

    127

    128						.IF	NDF	S$$MSG

    129

    130	000006					ERM	0,^/ILLEGAL GET COMMAND LINE ERROR CODE%2N/

    131	000006					ERM	1,^\COMMAND SYNTAX ERROR%2N%VA%2N\

    132	000006					ERM	2,^\REQUIRED INPUT FILE MISSING%2N\

    133	000006					ERM	3,^\ILLEGAL SWITCH%2N%VA%2N\

    134	000006					ERM	4,^\NO DYNAMIC STORAGE AVAILABLE%2N\

    135	000006					ERM	5,^/ILLEGAL ERROR-SEVERITY CODE %P %P %P%2N/

    136	000006					ERM	6,^\COMMAND I/O ERROR%2N\

    137	000006					ERM	7,^\INDIRECT FILE OPEN FAILURE%2N%VA%2N\

    138	000006					ERM	8,^\INDIRECT COMMAND SYNTAX ERROR%2N%VA%2N\

    139	000006					ERM	9,^\INDIRECT FILE DEPTH EXCEEDED%2N%VA%2N\

    140	000006					ERM	10,^\I/O ERROR ON INPUT FILE %X%2N\

    141	000006					ERM	11,^/OPEN FAILURE ON FILE %X%2N/

    142	000006					ERM	12,^/SEARCH STACK OVERFLOW ON SEGMENT %2R%2N/

    143	000006					ERM	13,^/PASS CONTROL STACK OVERFLOW AT SEGMENT %2R%2N/

    144	000006					ERM	14,^/FILE %X HAS ILLEGAL FORMAT%2N/

    145	000006					ERM	15,^\MODULE %2R AMBIGUOUSLY DEFINES P-SECTION %2R%2N\

    146	000006					ERM	16,^\MODULE %2R MULTIPLY DEFINES P-SECTION %2R%2N\

    147	000006					ERM	17,^/MODULE %2R MULTIPLY DEFINES XFR ADDR IN SEG %2R%2N/

    148	000006					ERM	18,^/MODULE %2R ILLEGALLY DEFINES XFR ADDR %2R %P%2N/

    149	000006					ERM	19,^/P-SECTION %2R HAS OVERFLOWED%2N/

    150	000006					ERM	20,^\MODULE %2R AMBIGUOUSLY DEFINES SYMBOL %2R%2N\

    151	000006					ERM	21,^\MODULE %2R MULTIPLY DEFINES SYMBOL %2R%2N\

    152	000006					ERM	22,^\INSUFFICIENT APRS AVAILABLE TO MAP READ-ONLY ROOT%2N\

    153	000006					ERM	23,^\SEGMENT %2R HAS ADDRESS OVERFLOW: ALLOCATION DELETED%2N\

    154	000006					ERM	24,^/ALLOCATION FAILURE ON FILE %X%2N/

    155	000006					ERM	25,^\I/O ERROR ON OUTPUT FILE %X%2N\

    156	000006					ERM	26,^/LOAD ADDR OUT OF RANGE IN MODULE %2R%2N/

    157	000006					ERM	27,^/TRUNCATION ERROR IN MODULE %2R%2N/

    158	000006					ERM	28,^\%D UNDEFINED SYMBOLS SEGMENT %2R%2N\

    159	000006					ERM	29,^/INVALID KEYWORD IDENTIFIER%2N%VA%2N/

    160	000006					ERM	30,^\OPTION SYNTAX ERROR%2N%VA%2N\

    161	000006					ERM	31,^/TOO MANY PARAMETERS%2N%VA%2N/

    162	000006					ERM	32,^/ILLEGAL MULTIPLE PARAMETER SETS%2N%VA%2N/

    163	000006					ERM	33,^/INSUFFICIENT PARAMETERS%2N%VA%2N/

ERMSG	MACRO M1110  22-AUG-78 01:40  PAGE 2-3





    164	000006					ERM	34,^/TASK HAS ILLEGAL MEMORY LIMITS%2N/

    165	000006					ERM	35,^/OVERLAY DIRECTIVE HAS NO OPERANDS%2N%VA%2N/

    166	000006					ERM	36,^/ILLEGAL OVERLAY DIRECTIVE%2N%VA%2N/

    167	000006					ERM	37,^/OVERLAY DIRECTIVE SYNTAX ERROR%2N%VA%2N/

    168	000006					ERM	38,^/ROOT SEGMENT IS MULTIPLY DEFINED%2N%VA%2N/

    169	000006					ERM	39,^/LABEL OR NAME IS MULTIPLY DEFINED%2N%VA%2N/

    170	000006					ERM	40,^/NO ROOT SEGMENT SPECIFIED%2N/

    171	000006					ERM	41,^/BLANK P-SECTION NAME IS ILLEGAL%2N%VA%2N/

    172	000006					ERM	42,^\ILLEGAL P-SECTION/SEGMENT ATTRIBUTE%2N%VA%2N\

    173	000006					ERM	43,^/ILLEGAL OVERLAY DESCRIPTION OPERATOR%2N%VA%2N/

    174	000006					ERM	44,^\TOO MANY NESTED .ROOT/.FCTR DIRECTIVES%2N%VA%2N\

    175	000006					ERM	45,^\TOO MANY PARENTHESES LEVELS%2N%VA%2N\

    176	000006					ERM	46,^\UNBALANCED PARENTHESES%2N%VA%2N\

    177

    178						.IF NDF	R$$11M

    179

    180						ERM	47,^/ILLEGAL BASE OR TOP ADDRESS OFFSET %D%2N/

    181

    182						.ENDC

    183

    184	000006					ERM	48,^/ILLEGAL LOGICAL UNIT NUMBER%2N%VA%2N/

    185	000006					ERM	49,^/ILLEGAL NUMBER OF LOGICAL UNITS%2N%VA%2N/

    186

    187						.IF NDF	R$$11M

    188

    189						ERM	51,^/ILLEGAL BASE OR TOP BOUNDRY VALUE%2N%VA%2N/

    190						ERM	52,^/ILLEGAL POOL USAGE NUMBER SPECIFIED%2N%VA%2N/

    191

    192						.ENDC

    193

    194	000006					ERM	53,^/ILLEGAL DEFAULT PRIORITY SPECIFIED%2N%VA%2N/

    195	000006					ERM	54,^/ILLEGAL ODT OR TASK VECTOR SIZE%2N/

    196	000006					ERM	55,^\ILLEGAL FILENAME%2N%VA%2N\

    197	000006					ERM	56,^\ILLEGAL DEVICE/VOLUME%2N%VA%2N\

    198	000006					ERM	57,^\LOOKUP FAILURE ON FILE %X%2N\

    199	000006					ERM	58,^\ILLEGAL DIRECTORY%2N%VA%2N\

    200	000006					ERM	59,^\INCOMPATABLE REFERENCE TO LIBRARY P-SECTION %2R%2N\

    201	000006					ERM	60,^\ILLEGAL REFERENCE TO LIBRARY P-SECTION %2R%2N\

    202	000006					ERM	61,^\RESIDENT LIBRARY MEMORY ALLOCATION CONFLICT%2N%VA%2N\

    203	000006					ERM	62,^\LOOKUP FAILURE RESIDENT LIBRARY FILE%2N%VA%2N\

    204	000006					ERM	64,^\ILLEGAL PARTITION/COMMON BLOCK SPECIFIED%2N%VA%2N\

    205	000006					ERM	65,^\NO MEMORY AVAILABLE FOR LIBRARY %2R%2N\

    206	000006					ERM	66,^\PIC LIBRARIES MAY NOT REFERENCE OTHER LIBRARIES%N%VA\

    207	000006					ERM	67,^\ILLEGAL APR RESERVATION%N%VA\

    208	000006					ERM	68,^\I/O ERROR LIBRARY IMAGE FILE%N%VA\

    209	000006					ERM	70,^\REQUIRED PARTITION NOT SPECIFIED%2N\

    210	000006					ERM	71,^\INVALID APR RESERVATION%N%VA\

    211	000006					ERM	72,^\COMPLEX RELOCATION ERROR-DIVIDE BY ZERO MODULE %2R%2N\

    212	000006					ERM	73,^\WORK FILE I/O ERROR%2N\

    213	000006					ERM	74,^\LOOKUP FAILURE ON SYSTEM LIBRARY FILE%2N\

    214	000006					ERM	75,^\UNABLE TO OPEN WORK FILE%2N\

    215	000006					ERM	76,^\NO VIRTUAL MEMORY STORAGE AVAILABLE%2N\

    216	000006					ERM	77,^\MODULE %2R NOT IN LIBRARY%2N\

    217	000006					ERM	78,^\INCORRECT LIBRARY MODULE SPECIFICATION%N%VA%2N\

    218	000006					ERM	79,^\LIBRARY FILE %X HAS INCORRECT FORMAT%2N\

    219	000006					ERM	80,^\RESIDENT LIBRARY HAS INCORRECT ADDRESS ALIGNMENT%2N%VA%2N\

    220	000006					ERM	81,^\PARTITION %2R HAS ILLEGAL MEMORY LIMITS%2N\

ERMSG	MACRO M1110  22-AUG-78 01:40  PAGE 2-4





    221	000006					ERM	82,^\INVALID PARTITION/COMMON BLOCK SPECIFIED%2N%VA%2N\

    222	000006					ERM	83,^\TASK BUILD ABORTED VIA REQUEST%2N%VA%2N\

    223	000006					ERM	84,^\DISK IMAGE CORE ALLOCATION TOO LARGE%2N%VA%2N\

    224	000006					ERM	85,^\INVALID WINDOW BLOCK SPECIFICATION%2N%VA%2N\

    225	000006					ERM	86,^\TASK REQUIRES MORE THAN 8. WINDOW BLOCKS%2N\

    226	000006					ERM	87,^\TASK HAS ILLEGAL PHYSICAL MEMORY LIMITS%N%P %P %P%2N\

    227	000006					ERM	88,^\LIBRARY REFERENCES OVERLAID LIBRARY%2N%VA%2N\

    228	000006					ERM	89,^\TASK IMAGE FILE %X IS NON-CONTIGUOUS%2N\

    229	000006					ERM	90,^\VIRTUAL SECTION HAS ILLEGAL ADDRESS LIMITS%2N%VA%2N\

    230	000006					ERM	91,^\FILE %X ATTEMPTED TO STORE DATA IN VIRTUAL SECTION%2N\

    231	000006					ERM	92,^\RESIDENT LIBRARY MAPPED ARRAY ALLOCATION TOO LARGE%2N%VA%2N\

    232	000006					ERM	93,^\INVALID REFERENCE TO MAPPED ARRAY BY MODULE%2R%2N\

    233

    234	000006					ERM	94,^\END OF FILE REACHED BEFORE .END IN  %X%2N\			;JAK100

    235	000006					ERM	96,^\SYMBOL %2R NOT FOUND FOR PATCH %2N\			;JAK112

    236	000006					ERM	97,^\SEGMENT %2R NOT FOUND FOR PATCH %2N\			;JAK112

    237						.IFF

    238

    239						ERM	0

    240						ERM	1,^\%2N%VA\

    241						ERM	2

    242						ERM	3,^\%2N%VA\

    243						ERM	4,^\%2N\

    244						ERM	5,^\%P  %P  %P\

    245						ERM	6

    246						ERM	7,^\%2N%VA\

    247						ERM	8,^\%2N%VA\

    248						ERM	9,^\%2N%VA\

    249						ERM	10,^\%X\

    250						ERM	11,^\%X\

    251						ERM	12,^\%2R\

    252						ERM	13,^\%2R\

    253						ERM	14,^\%X\

    254						ERM	15,^\%2R  %2R\

    255						ERM	16,^\%2R  %2R\

    256						ERM	17,^\%2R  2R\

    257						ERM	18,^\%2R  %2R  %P\

    258						ERM	19,^\%2R\

    259						ERM	20,^\%2R  %2R\

    260						ERM	21,^\%2R  %2R\

    261						ERM	22,^\%2N\

    262						ERM	23,^\%2R\

    263						ERM	24,^\%X\

    264						ERM	25,^\%X\

    265						ERM	26,^\%2R\

    266						ERM	27,^\%2R\

    267						ERM	28,^\%D  %2R\

    268						ERM	29,^\%2N%VA\

    269						ERM	30,^\%2N%VA\

    270						ERM	31,^\%2N%VA\

    271						ERM	32,^\%2N^VA\

    272						ERM	33,^\%2N%VA\

    273						ERM	34

    274						ERM	35,^\%2N%VA\

    275						ERM	36,^\%2N%VA\

    276						ERM	37,^\%2N%VA\

    277						ERM	38,^\%2N%VA\

ERMSG	MACRO M1110  22-AUG-78 01:40  PAGE 2-5





    278						ERM	39,^\%2N%VA\

    279						ERM	40

    280						ERM	41,^\%2N%VA\

    281						ERM	42,^\%2N%VA\

    282						ERM	43,^\%2N%VA\

    283						ERM	44,^\%2N%VA\

    284						ERM	45,^\%2N%VA\

    285						ERM	46,^\%2N%VA\

    286

    287						.IF NDF	R$$11M

    288

    289						ERM	47,^\%D\

    290

    291						.ENDC

    292

    293						ERM	48,^\%2N%VA\

    294						ERM	49,^\%2N%VA\

    295

    296						.IF NDF	R$$11M

    297

    298						ERM	51,^\%2N%VA\

    299						ERM	52,^\%2N%VA\

    300

    301						.ENDC

    302

    303						ERM	53,^\%2N%VA\

    304						ERM	54

    305						ERM	55,^\%2N%VA\

    306						ERM	56,^\%2N%VA\

    307						ERM	57,^\%X\

    308						ERM	58,^\%2N%VA\

    309						ERM	59,^\%2R\

    310						ERM	60,^\%2R\

    311						ERM	61,^\%2N%VA\

    312						ERM	62,^\%2N%VA\

    313						ERM	64,^\%2N%VA\

    314						ERM	65,^\%2R\

    315						ERM	66,^\%N%VA\

    316						ERM	67,^\%N%VA\

    317						ERM	68,^\%N%VA\

    318						ERM	70

    319						ERM	71,^\%N%VA\

    320						ERM	72,^\%2R\

    321						ERM	73

    322						ERM	74

    323						ERM	75

    324						ERM	76

    325						ERM	77,^\%2R%2N

    326						ERM	78,^\%N%VA%2N\

    327						ERM	79,^\%X %2N\

    328						ERM	80,^\%2N%VA%2N\

    329						ERM	81,^\%2R%2N\

    330						ERM	82,^\%2N%VA%2N\

    331						ERM	83,^\%2N%VA%2N\

    332						ERM	84,^\%2N%VA%2N\

    333						ERM	85,^\%2N%VA%2N\

    334						ERM	86,^\%2N\

ERMSG	MACRO M1110  22-AUG-78 01:40  PAGE 2-6





    335						ERM	87,^\%P %P %P %2N\

    336						ERM	88,^\%VA%2N\

    337						ERM	89,^\%X%2N\

    338						ERM	90,^\%2N%VA%2N\

    339						ERM	91,^\%X%2N\

    340						ERM	92,^\%VA%2N\

    341						ERM	93,^\%2R%2N\

    342

    343						.ENDC

    344

    345					;

    346					; REDEFINE ERROR MESSAGE MACRO TO FREE UP MACRO STORAGE

    347					;

    348

    349						.MACRO	ERM	NUM,FORMAT

    350						.ENDM

    351

    352

    353	000006					.PSECT

    354

    355						.IF	DF	R$$11M

    356

    357					;

    358					; DEFINE QIO DPB PARAMETERS

    359					;

    360

    361	000006					QIOSY$			;

    362

    363					;

    364					; QIO DPB FOR ERROR MESSAGE OUTPUT

    365					;

    366	000006				CODPB:	QIO$	IO.WVB,2,2,,COSTS,,<0,0,40,0,0,0>

    367

    368					;

    369					; CONSOLE OUTPUT I/O STATUS DOUBLE WORD

    370					;

    371

    372	000036				COSTS:	.BLKW	2

    373

    374						.ENDC

    375

    376					;+

    377					; **-$ERMSG-ERROR MESSAGE ROUTINE

    378					;

    379					; THIS ROUTINE IS CALLED TO OUTPUT AN ERROR MESSAGE. THE SEVERITY OF

    380					; THE ERROR IS USED TO SELECT A PREFIX THAT IS TO BE OUTPUT WITH THE

    381					; MESSAGE. THE ERROR NUMBER SPECIFIES AN ERROR FORMAT WHICH IS PASSED

    382					; TO $EDMSG TO EDIT THE ERROR MESSAGE. THE RESULTANT ERROR MESSAGE IS

    383					; THEN OUTPUT USING THE ROUTINE ERROR$. IF THE SEVERITY OF THE ERROR

    384					; IS 2, AB$RT IS SET, OR THE SEVERITY OF THE ERROR IS 1 AND THE INPUT IS

    385					; NOT COMING FROM A TERMINAL, THEN THE CURRENT BUILD IS TERMINATED. ELSE

    386					; A RETURN TO THE CALLER IS EXECUTED.

    387					;

    388					; INPUTS:

    389					;

    390					;	R1=ERROR/SEVERITY NUMBERS.

    391					;	R2=ARGUMENT BLOCK ADDRESS.

ERMSG	MACRO M1110  22-AUG-78 01:40  PAGE 2-7





    392					;

    393					; OUTPUTS:

    394					;

    395					;	IF THE SEVERITY OF THE ERROR IS FATAL OR AB$RT IS SET, THEN

    396					;	THE CURRENT BUILD IS TERMINATED BY CLOSING ALL OPEN FILES AND

    397					;	JUMPING TO THE RESTART ADDRESS IN THE ROOT SEGMENT.

    398					;

    399					;	CARRY IS SET IF A RETURN TO THE CALLER IS MADE

    400					;

    401					;-

    402

    403	000042				$ERMSG::SAVRG			;SAVE NONVOLITILE REGISTERS

    404	000046					CALL	$PRCER		; GET UNFORMATTED TEXT

    405	000052					CALL	$EDMSG		; FORMAT OUTPUT

    406	000056	010102 				MOV	R1,R2		; COPY BYTE COUNT

    407	000060	012701 	000000G			MOV	#$OUTBF,R1	; GET BUFFER ADDRESS

    408	000064					CALL	$PUTCO		; OUTPUT MESSAGE

    409	000070	103422 				BCS	10$		; IF C/S LEAVE NOW

    410	000072	032767 	000000G	000000G		BIT	#AB$RT,$SWTCH	; ABORT ON ERROR?

    411	000100	001403 				BEQ	5$		; IF EQ NO

    412	000102	005367 	000000G			DEC	$ERRCT		; DECREMENT ERROR COUNT

    413	000106	003413 				BLE	10$		; IF LE ENFORCE ABORT SWITCH NOW

    414	000110				5$:				;

    415	000110	020327 	000002 			CMP	R3,#S$V2	; FATAL ERROR?

    416	000114	103010 				BHIS	10$		; IF HIS YES

    417	000116	026727 	000000G	000000G		CMP	$EXSTS,#EX$ERR	; SEEN A WORSE ERROR?				;JAK106

    418	000124	103003 				BHIS	7$		; IF HIS YES					;JAK106

    419	000126	012767 	000000G	000000G		MOV	#EX$ERR,$EXSTS	; SET EXIT STATUS				;JAK106

    420	000134				7$:										;JAK106

    421	000134					RETURN			;

    422	000136				10$:				;

    423	000136	012767 	000000G	000000G		MOV	#EX$SEV,$EXSTS	; SET EXIT STATUS				;JAK106

    424	000144					CALL	$POPCL		;

    425	000150					CALL	$CMLCL		; RESET COMMAND LINE INPUT

    426	000154	032767 	000000G	000000G		BIT	#AB$RT,$SWTCH	; ABORT ON ERROR?

    427	000162	001403 				BEQ	15$		; IF EQ NO

    428	000164	005767 	000000G			TST	$ERRCT		; TIME TO ENFORCE EXIT?

    429	000170	003402 				BLE	20$		; IF LE YES

    430	000172				15$:				;

    431	000172	000167 	000000G			JMP	$RSTRT		; RESTART

    432	000176				20$:				;

    433	000176	012701 	000000'			MOV	#ABMSG,R1	; GET BUFFER ADDRESS

    434	000202	012702 	000032 			MOV	#<ABMSE-ABMSG>,R2 ; BYTE COUNT

    435	000206					CALL	$PUTCO		; OUTPUT MESSAGE

    436	000212	000167 	000000G			JMP	$QUIT		; EXIT

    437

    438					;

    439					; SUBROUTINE TO ISSUE A MESSAGE TO DEVICE 'CO'

    440					;

    441					; INPUTS:

    442					;	R1: BUFFER ADDRESS

    443					;	R2: BYTE COUNT

    444					;

    445					; OUTPUTS:

    446					;

    447					;	C-CLEAR: SUCCESS, MESSAGE IS PRINTED ON DEVICE 'CO'

    448					;

ERMSG	MACRO M1110  22-AUG-78 01:40  PAGE 2-8





    449					;	C-SET: REQUEST FAILED

    450					;

    451

    452	000216				$PUTCO::

    453

    454						.IF	NDF	R$$11M

    455

    456						PUT$	$CMOPT,R1,R2

    457						RETURN

    458

    459						.IFF

    460

    461	000216	012700 	000022'			MOV	#<CODPB+Q.IOPL>,R0 ; POINT TO DPB PARAMETERS

    462	000222	010120 				MOV	R1,(R0)+	; SET BUFFER ADDRESS

    463	000224	010220 				MOV	R2,(R0)+	; BYTE COUNT

    464	000226					DIR$	#CODPB		; ISSUE QIO DIRECTIVE

    465	000234	103407 				BCS	10$		; EXIT ON FAILURE

    466	000236					WTSE$S	#2		; WAIT FOR I/O COMPLETION

    467	000250	106167 	177562 			ROLB	COSTS		; MOVE SIGN BIT TO 'C'

    468	000254				10$:

    469	000254					RETURN			; EXIT

    470

    471						.ENDC

    472

    473		000001 				.END

ERMSG	MACRO M1110  22-AUG-78 01:40  PAGE 2-9

SYMBOL TABLE



ABMSE   000032R     002	E$R56 = 000070 G 	IE.BDV= 177711   	IE.NFW= 177673   	IO.CBO= 015510

ABMSG   000000R     002	E$R57 = 000071 G 	IE.BHD= 177700   	IE.NLK= 177661   	IO.CCI= 014000

AB$RT = ****** GX	E$R58 = 000072 G 	IE.BLB= 177672   	IE.NLN= 177733   	IO.CCO= 000440

CODPB   000006R  	E$R59 = 000073 G 	IE.BLK= 177754   	IE.NNC= 177663   	IO.CIN= 016500

COSTS   000036R  	E$R6  = 000006 G 	IE.BNM= 177712   	IE.NNL= 177662   	IO.CLK= 015000

CR    = 000015   	E$R60 = 000074 G 	IE.BTF= 177664   	IE.NNN= 177674   	IO.CLN= 003400

EX$ERR= ****** GX	E$R61 = 000075 G 	IE.BTP= 177725   	IE.NOD= 177751   	IO.CNT= 017000

EX$SEV= ****** GX	E$R62 = 000076 G 	IE.BVR= 177701   	IE.NSF= 177746   	IO.CON= 015400

E$RMAX= 000141 G 	E$R64 = 000100 G 	IE.BYT= 177755   	IE.NST= 177660   	IO.CPR= 015410

E$R0  = 000000 G 	E$R65 = 000101 G 	IE.CKP= 177766   	IE.NSW= 177756   	IO.CPW= 016520

E$R1  = 000001 G 	E$R66 = 000102 G 	IE.CKS= 177742   	IE.NVR= 177652   	IO.CRC= 001040

E$R10 = 000012 G 	E$R67 = 000103 G 	IE.CLO= 177732   	IE.NVW= 177651   	IO.CRE= 012000

E$R11 = 000013 G 	E$R68 = 000104 G 	IE.CNR= 177667   	IE.OFL= 177677   	IO.CRJ= 015440

E$R12 = 000014 G 	E$R7  = 000007 G 	IE.CON= 177752   	IE.ONP= 177773   	IO.CSI= 013000

E$R13 = 000015 G 	E$R70 = 000106 G 	IE.DAA= 177770   	IE.OVR= 177756   	IO.CSM= 016470

E$R14 = 000016 G 	E$R71 = 000107 G 	IE.DAO= 177763   	IE.PES= 177655   	IO.CTI= 015400

E$R15 = 000017 G 	E$R72 = 000110 G 	IE.DFU= 177750   	IE.PNS= 177642   	IO.CTL= 016400

E$R16 = 000020 G 	E$R73 = 000111 G 	IE.DNA= 177771   	IE.PRI= 177760   	IO.CTR= 015610

E$R17 = 000021 G 	E$R74 = 000112 G 	IE.DNR= 177775   	IE.PTS= 177775   	IO.CTY= 003400

E$R18 = 000022 G 	E$R75 = 000113 G 	IE.DUN= 177767   	IE.RAC= 177724   	IO.DAC= 010000

E$R19 = 000023 G 	E$R76 = 000114 G 	IE.DUP= 177707   	IE.RAT= 177723   	IO.DCI= 014400

E$R2  = 000002 G 	E$R77 = 000115 G 	IE.EOF= 177766   	IE.RBG= 177730   	IO.DEL= 012400

E$R20 = 000024 G 	E$R78 = 000116 G 	IE.EOT= 177702   	IE.RBS= 177761   	IO.DET= 002000

E$R21 = 000025 G 	E$R79 = 000117 G 	IE.EOV= 177765   	IE.RCN= 177722   	IO.DIS= 016000

E$R22 = 000026 G 	E$R8  = 000010 G 	IE.EXP= 177665   	IE.RER= 177740   	IO.DLB= 016540

E$R23 = 000027 G 	E$R80 = 000120 G 	IE.FEX= 177717   	IE.RNM= 177715   	IO.DSI= 013400

E$R24 = 000030 G 	E$R81 = 000121 G 	IE.FHE= 177705   	IE.RSU= 177757   	IO.DTI= 016000

E$R25 = 000031 G 	E$R82 = 000122 G 	IE.FIX= 177767   	IE.SDP= 177635   	IO.DTY= 006400

E$R26 = 000032 G 	E$R83 = 000123 G 	IE.FLN= 177657   	IE.SNC= 177735   	IO.ENA= 006000

E$R27 = 000033 G 	E$R84 = 000124 G 	IE.FOP= 177713   	IE.SPC= 177772   	IO.EOF= 003000

E$R28 = 000034 G 	E$R85 = 000125 G 	IE.HFU= 177744   	IE.SQC= 177734   	IO.EXT= 011400

E$R29 = 000035 G 	E$R86 = 000126 G 	IE.HWR= 177772   	IE.SRE= 177762   	IO.FDX= 003020

E$R3  = 000003 G 	E$R87 = 000127 G 	IE.IBS= 177647   	IE.STK= 177706   	IO.FLN= 012400

E$R30 = 000036 G 	E$R88 = 000130 G 	IE.IDU= 177644   	IE.TCH= 177765   	IO.FNA= 004400

E$R31 = 000037 G 	E$R89 = 000131 G 	IE.IEF= 177637   	IE.TMM= 177671   	IO.GLC= 016430

E$R32 = 000040 G 	E$R9  = 000011 G 	IE.IES= 177656   	IE.TMO= 177666   	IO.GLI= 016420

E$R33 = 000041 G 	E$R90 = 000132 G 	IE.IFC= 177776   	IE.ULK= 177653   	IO.GNI= 016410

E$R34 = 000042 G 	E$R91 = 000133 G 	IE.IFU= 177747   	IE.ULN= 177773   	IO.GRC= 016450

E$R35 = 000043 G 	E$R92 = 000134 G 	IE.ILL= 177726   	IE.UNS= 177774   	IO.GRI= 016440

E$R36 = 000044 G 	E$R93 = 000135 G 	IE.ILU= 177640   	IE.UPN= 177777   	IO.GRN= 016460

E$R37 = 000045 G 	E$R94 = 000136 G 	IE.ILV= 177755   	IE.VER= 177774   	IO.GTS= 002400

E$R38 = 000046 G 	E$R96 = 000140 G 	IE.INS= 177776   	IE.WAC= 177743   	IO.HDX= 003010

E$R39 = 000047 G 	E$R97 = 000141 G 	IE.IOP= 177655   	IE.WAT= 177741   	IO.HIS= 015000

E$R4  = 000004 G 	FF    = 000014   	IE.IPR= 177641   	IE.WCK= 177652   	IO.HNG= 003000

E$R40 = 000050 G 	HT    = 000011   	IE.ISQ= 177703   	IE.WER= 177737   	IO.INI= 014400

E$R41 = 000051 G 	IE.ABO= 177761   	IE.ITI= 177643   	IE.WLK= 177764   	IO.INL= 002400

E$R42 = 000052 G 	IE.ACT= 177771   	IE.ITP= 177650   	IE.WOV= 177653   	IO.ITI= 017000

E$R43 = 000053 G 	IE.ADP= 177636   	IE.ITS= 177770   	IE.2DV= 177720   	IO.KIL= 000012

E$R44 = 000054 G 	IE.ALC= 177654   	IE.IUI= 177645   	IO.ACE= 007400   	IO.LDI= 007000

E$R45 = 000055 G 	IE.ALG= 177654   	IE.LCK= 177745   	IO.ACR= 006400   	IO.LED= 012000

E$R46 = 000056 G 	IE.ALN= 177736   	IE.LNL= 177646   	IO.ACW= 007000   	IO.LEI= 007410

E$R48 = 000060 G 	IE.AST= 177660   	IE.MAP= 177657   	IO.ADS= 014000   	IO.LKE= 012000

E$R49 = 000061 G 	IE.BAD= 177777   	IE.MOD= 177753   	IO.APC= 014000   	IO.LOD= 014000

E$R5  = 000005 G 	IE.BBE= 177710   	IE.NBF= 177731   	IO.APV= 014010   	IO.LOV= 001010

E$R53 = 000065 G 	IE.BCC= 177676   	IE.NBK= 177727   	IO.ATA= 001410   	IO.LSI= 011000

E$R54 = 000066 G 	IE.BDI= 177714   	IE.NDR= 177670   	IO.ATT= 001400   	IO.LTI= 007400

E$R55 = 000067 G 	IE.BDR= 177716   	IE.NFI= 177704   	IO.CAS= 015420   	IO.LTK= 000050

ERMSG	MACRO M1110  22-AUG-78 01:40  PAGE 2-10

SYMBOL TABLE



IO.LTY= 010000   	IO.RNE= 001020   	IO.SYN= 003040   	IQ.X  = 000001   	R$$11M= 000000

IO.MAO= 003410   	IO.RNS= 001020   	IO.TRM= 002410   	IS.BV = 000005   	SPA   = 000040

IO.MCS= 013400   	IO.RPB= 001040   	IO.UDI= 011410   	IS.CC = 001401   	SZ    = 000043

IO.MDA= 016000   	IO.RPR= 004400   	IO.UEI= 011450   	IS.CLR= 000000   	S$V0  = 000000 G

IO.MDI= 014400   	IO.RST= 001001   	IO.UER= 011440   	IS.CR = 006401   	S$V1  = 000001 G

IO.MDO= 015400   	IO.RTC= 003400   	IO.ULK= 005000   	IS.EOT= 002001   	S$V2  = 000002 G

IO.MLO= 006000   	IO.RTI= 016400   	IO.UNL= 000042   	IS.ESC= 015401   	VT    = 000013

IO.MOD= 003000   	IO.RTK= 000060   	IO.USI= 011460   	IS.ESQ= 115401   	$ARGBK  000000RG

IO.MSO= 005000   	IO.RTM= 001200   	IO.UTI= 011420   	IS.PES= 100001   	$CMLCL= ****** GX

IO.NLB= 016530   	IO.RVB= 010400   	IO.UTY= 011430   	IS.PND= 000000   	$EDMSG= ****** GX

IO.NLK= 011400   	IO.RWD= 002400   	IO.WAL= 000410   	IS.RDD= 000002   	$ERMSG  000042RG

IO.ONL= 017400   	IO.RWU= 002540   	IO.WAT= 013400   	IS.SET= 000002   	$ERRCT= ****** GX

IO.RAD= 010400   	IO.R1C= 002400   	IO.WBT= 000500   	IS.SPD= 000002   	$EXSTS= ****** GX

IO.RAL= 001010   	IO.SAO= 004000   	IO.WDD= 000444   	IS.SUC= 000001   	$MSG    000000RG    003

IO.RAT= 013000   	IO.SCS= 013000   	IO.WLB= 000400   	IS.TAB= 004401   	$OUTBF= ****** GX

IO.RBC= 003000   	IO.SDI= 013000   	IO.WLC= 000420   	IS.TMO= 000002   	$POPCL= ****** GX

IO.RCI= 015000   	IO.SDO= 012400   	IO.WLS= 000410   	LF    = 000012   	$PRCER= ****** GX

IO.RCV= 015000   	IO.SEC= 002520   	IO.WLT= 000410   	MXBF  = 000073   	$PUTCO  000216RG

IO.RDB= 001200   	IO.SET= 000030   	IO.WLV= 000500   	M$SG1 = 000055 G 	$QUIT = ****** GX

IO.RDD= 010010   	IO.SLO= 005400   	IO.WMS= 000420   	NN    = 003441R     005	$RSTRT= ****** GX

IO.RDN= 000022   	IO.SMO= 002560   	IO.WNS= 000420   	Q.IOAE= 000012   	$SAVRG= ****** GX

IO.REL= 013400   	IO.SPB= 002420   	IO.WPB= 000440   	Q.IOEF= 000006   	$SWTCH= ****** GX

IO.RHD= 001010   	IO.SPF= 002440   	IO.WVB= 011000   	Q.IOFN= 000002   	$$    = 000001

IO.RLB= 001000   	IO.SPW= 016510   	IO.XMT= 014400   	Q.IOLU= 000004   	$$MSG = 000000

IO.RLV= 001100   	IO.SSO= 004400   	IO.XNA= 014410   	Q.IOPL= 000014   	$$$ARG= 000006

IO.RMT= 010020   	IO.STA= 015400   	IQ.Q  = 000002   	Q.IOPR= 000007   	$$$OST= 000014

IO.RNA= 005400   	IO.STC= 002500   	IQ.S  = 000004   	Q.IOSB= 000010   	...GBL= 000000

IO.RNC= 001040   	IO.STP= 016400   	IQ.UMD= 000004



. ABS.	000000	   000

      	000256	   001

TXT   	000032	   002

EPT$D 	000304	   003

ETX1$D	003324	   004

ETX2$D	003505	   005

ERRORS DETECTED:  0



VIRTUAL MEMORY USED:  5337 WORDS  ( 21 PAGES)

DYNAMIC MEMORY:  5940 WORDS  ( 22 PAGES)

ELAPSED TIME:  00:01:03

OBJ$:ERMSG,LIS$:ERMSG/-SP=SRC$:MACFLM,ERMSG

