Google
 

Trailing-Edge - PDP-10 Archives - BB-R598A-RM_1983 - swskit-v3/listings/vnp36/rtxt.list
There are no other files named rtxt.list in the archive.
		!CLASSI
								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page   1
								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (1)

;	  0001	!<DECNET20-V3P0.TKB-VNP.VNPV3>RTXT.BLI.61 13-Feb-81 14:05:05, Edit by SROBINSON
;	  0002	!<DECNET20-V3P0.TKB-VNP.VNPV3>RTXT.BLI.45,  1-Jul-80 08:14:07, Edit by SROBINSON
;	  0003	!<DECNET20-V3P0.TKB-VNP.VNPV3>RTXT.BLI.11, 15-Apr-80 07:05:34, Edit by SROBINSON
;	  0004	!<DECNET20-V3P0.TKB-VNP.VNPV3>RTXT.BLI.2, 14-Apr-80 07:52:48, Edit by SROBINSON
;	  0005	MODULE RTXT (					!READ TEXT FILES
;	  0006			IDENT = 'X3.1'
;	  0007			) =
;	  0008	BEGIN						!ident 3.1 12oct81
;	  0009	!
;	  0010	!
;	  0011	!
;	  0012	!                    COPYRIGHT (c) 1980, 1981, 1982
;	  0013	!                    DIGITAL EQUIPMENT CORPORATION
;	  0014	!                        Maynard, Massachusetts
;	  0015	!
;	  0016	!     This software is furnished under a license and may  be  used
;	  0017	!     and copied only in accordance with the terms of such license
;	  0018	!     and with the inclusion of the above copyright notice.   This
;	  0019	!     software  or any other copies thereof may not be provided or
;	  0020	!     otherwise made available to any other person.  No  title  to
;	  0021	!     and ownership of the software is hereby transferred.
;	  0022	!
;	  0023	!     The information  in  this  software  is  subject  to  change
;	  0024	!     without  notice  and should not be construed as a commitment
;	  0025	!     by DIGITAL EQUIPMENT CORPORATION.
;	  0026	!
;	  0027	!     DIGITAL assumes no responsibility for the use or reliability
;	  0028	!     of  its  software  on  equipment  which  is  not supplied by
;	  0029	!     DIGITAL.
;	  0030	!
;	  0031	
;	  0032	!++
;	  0033	! FACILITY: MCB System Configuration Facility, VNP-20
;	  0034	!
;	  0035	! ABSTRACT:
;	  0036	!
;	  0037	!
;	  0038	! THIS MODULE READS THE TEXT FILES, CETAB.MAC AND THE .DAT FILES,
;	  0039	!  STORING THE INFORMATION FOR THE REST OF VNP20 TO PROCESS.
;	  0040	!
;	  0041	!
;	  0042	! ENVIRONMENT: TOPS-20 USER MODE
;	  0043	!
;	  0044	! AUTHOR: J. SAUTER, CREATION DATE: 05-JUN-78
;	  0045	!	  Scott G. Robinson, 14-APR-80
;	  0046	!
;	  0047	! MODIFIED BY:
;	  0048	!
;	  0049	!	, : VERSION
;	  0050	! 01	-
;	  0051	!--
;	  0052	
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page   2
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (1)

;	  0053	!
;	  0054	! TABLE OF CONTENTS:
;	  0055	!
;	  0056	
;	  0057	FORWARD ROUTINE
;	  0058	    RCET : NOVALUE,				!READ CETAB.MAC
;	  0059	    CLASS,					!CLASSIFY A CHARACTER
;	  0060	    SCAN : NOVALUE,				!SCAN NEXT ATOM
;	  0061	    R_SYS : NOVALUE,				!READ SYS$DF LINE
;	  0062	    R_MEM : NOVALUE,				!READ MEM$DF LINE
;	  0063	    R_PRC : NOVALUE,				!READ PRC$DF LINE
;	  0064	    R_SLT : NOVALUE,				!READ SLT$DF LINE
;	  0065	    R_LLC : NOVALUE,				!READ LLC$DF LINE
;	  0066	    R_DEV : NOVALUE,				!READ DEV$DF LINE
;	  0067	    R_CTL : NOVALUE,				!READ CTL$DF LINE
;	  0068	    R_UNT : NOVALUE,				!READ UNT$DF LINE
;	  0069	    R_TRB : NOVALUE,				!Read TRB$DF Line
;	  0070	    R_TSK : NOVALUE,				!READ TSK$DF LINE
;	  0071	    R_DRV : NOVALUE,				!Read DRV$DF Line
;	  0072	    R_END : NOVALUE;				!READ END$DF LINE
;	  0073	
;	  0074	!
;	  0075	! INCLUDE FILES:
;	  0076	!
;	  0077	
;	  0078	LIBRARY 'VNPLIB';
;	  0079	
;	  0080	!
;	  0081	! MACROS:
;	  0082	!
;	  0083	!	NONE
;	  0084	!
;	  0085	! EQUATED SYMBOLS:
;	  0086	!
;	  0087	
;	  0088	LITERAL
;	  0089	    DEBUG = 0;
;	  0090	
;	  0091	!
;	  0092	!  OFFSETS INTO 'RESULT', THE ARRAY RETURNED BY SCAN.
;	  0093	!
;	  0094	
;	  0095	LITERAL
;	  0096	    RESULT_TYPE = 0,				!TYPE FIELD
;	  0097	    RESULT_VALUE = 1;				!VALUE FIELD
;	  0098	
;	  0099	!
;	  0100	! VALUES OF THE TYPE FIELD
;	  0101	!
;	  0102	
;	  0103	LITERAL
;	  0104	    RT_NAME = 1,				!VALUE IS TEXT OF NAME
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page   3
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (1)

;	  0105	    RT_NUMBER = 2,				!VALUE IS NUMBER (UNSIGNED)
;	  0106	    RT_SPECIAL = 3;				!VALUE IS SPECIAL CHAR (-1 IS EOL)
;	  0107	
;	  0108	!
;	  0109	!
;	  0110	! OWN STORAGE:
;	  0111	!
;	  0112	!	NONE
;	  0113	!
;	  0114	! EXTERNAL REFERENCES:
;	  0115	!
;	  0116	
;	  0117	EXTERNAL ROUTINE
;	  0118	    OPEN,					!OPEN A FILE
;	  0119	    CLOSE : NOVALUE,				!CLOSE A FILE
;	  0120	    INPUT,					!READ FROM A FILE
;	  0121	    OUTPUT : NOVALUE,				!OUTPUT TO A FILE
;	  0122	    BLD_CHAIN,					!ADD AN ITEM TO A CHAIN
;	  0123	    GETBLK,					!GET A BLOCK OF STORAGE
;	  0124	    ERROR : NOVALUE,				!SIGNAL PROGRAMMING ERROR
;	  0125	    ERRMSG : NOVALUE,				!ERROR MESSAGE
;	  0126	    PCRLF : NOVALUE,				!PRINT CRLF
;	  0127	    OUTNUM : NOVALUE,				!PRINT NUMBER
;	  0128	    OUTSTR : NOVALUE;				!PRINT A STRING
;	  0129	
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page   4
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (2)

;	  0130	GLOBAL ROUTINE RCET (FILE_CHAN, FILE_PTR, VALUES) : NOVALUE = 	!READ CETAB.MAC
;	  0131	
;	  0132	!++
;	  0133	! FUNCTIONAL DESCRIPTION:
;	  0134	!
;	  0135	!	READ CETAB.MAC FOR VNP20, AND STORE ITS VALUES.
;	  0136	!
;	  0137	! FORMAL PARAMETERS:
;	  0138	!
;	  0139	!	FILE_CHAN - CHANNEL NUMBER ON WHICH TO READ CETAB.MAC
;	  0140	!	FILE_PTR - FILE BLOCK WITH CETAB.MAC FILLED IN.
;	  0141	!	VALUES - BLOCK IN WHICH TO STORE RESULTS
;	  0142	!
;	  0143	! IMPLICIT INPUTS:
;	  0144	!
;	  0145	!	NONE
;	  0146	!
;	  0147	! IMPLICIT OUTPUTS:
;	  0148	!
;	  0149	!	FILLS THE 'VALUES' BLOCK WITH STUFF READ FROM CETAB.MAC
;	  0150	!
;	  0151	! ROUTINE VALUE:
;	  0152	!
;	  0153	!	NONE
;	  0154	!
;	  0155	! SIDE EFFECTS
;	  0156	!
;	  0157	!	READS CETAB.MAC
;	  0158	!
;	  0159	!--
;	  0160	
;	  0161	    BEGIN
;	  0162	
;	  0163	    BIND
;	  0164		ROUTINE_NAME = UPLIT (%ASCIZ'RCET');
;	  0165	
;	  0166	    MAP
;	  0167		FILE_PTR : REF FILE_BLOCK,
;	  0168		VALUES : REF VNPVAL_BLOCK;
;	  0169	
;	  0170	    LOCAL
;	  0171		LOOK_DONE,
;	  0172		NAME,
;	  0173		RESULT : VECTOR [20],
;	  0174		SAVE_CHAR,
;	  0175		SUBR,
;	  0176		VAL_POINTER;
;	  0177	
;	  0178	    IF (OPEN (.FILE_CHAN, FILE_PTR [FILE_NAME], 1, 0, UPLIT (%ASCIZ'TXT')) NEQ 0)
;	  0179	    THEN
;	  0180		BEGIN					!SUCCESSFUL INPUT OPEN
;	  0181	
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page   5
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (2)

;	  0182		IF (DEBUG GEQ 1)
;	  0183		THEN
;	  0184		    BEGIN				!DEBUG
;	  0185		    PCRLF (1);
;	  0186		    OUTSTR (1, UPLIT (%ASCIZ'----- OPEN CETAB.MAC'));
;	  0187		    END;				!DEBUG
;	  0188	
;	  0189	!
;	  0190	! INITIALIZE THE CHAIN TO THE LLCS
;	  0191	!
;	  0192		VALUES [LLC_CHAIN] = 0;
;	  0193	!
;	  0194	! LOOK FOR SYS$DF MACRO
;	  0195	!
;	  0196		SAVE_CHAR = -1;
;	  0197		LOOK_DONE = 0;
;	  0198	
;	  0199		WHILE (.LOOK_DONE EQL 0) DO
;	  0200		    BEGIN
;	  0201		    SCAN (.FILE_CHAN, .FILE_PTR, SAVE_CHAR, RESULT);
;	  0202	
;	  0203		    IF ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] EQL %C';'))
;	  0204		    THEN
;	  0205							!SKIP A COMMENT
;	  0206	
;	  0207			DO
;	  0208			    SCAN (.FILE_CHAN, .FILE_PTR, SAVE_CHAR, RESULT)
;	  0209			UNTIL ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0));
;	  0210	
;	  0211		    IF ((.RESULT [RESULT_TYPE] EQL RT_NAME) AND 	!
;	  0212			(CH$EQL (7, CH$PTR (RESULT [RESULT_VALUE]), 7, CH$PTR (UPLIT (%ASCIZ'SYS$DF')))))
;	  0213		    THEN
;	  0214			LOOK_DONE = 1
;	  0215		    ELSE 				!NOT SYS$DF, SKIP TO NEXT LINE
;	  0216	
;	  0217			DO
;	  0218			    SCAN (.FILE_CHAN, .FILE_PTR, SAVE_CHAR, RESULT)
;	  0219			UNTIL ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0));
;	  0220	
;	  0221		    IF ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] EQL -2))
;	  0222		    THEN
;	  0223			LOOK_DONE = -1;
;	  0224	
;	  0225		    END;
;	  0226	
;	  0227		IF (.LOOK_DONE LEQ 0)
;	  0228		THEN
;	  0229		    ERRMSG (0, 24, ROUTINE_NAME, FILE_PTR [FILE_NAME], 0, 0, 0)
;	  0230		ELSE
;	  0231		    BEGIN
;	  0232		    R_SYS (.FILE_CHAN, .FILE_PTR, SAVE_CHAR, .VALUES);
;	  0233	!
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page   6
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (2)

;	  0234	! EACH LINE OF CETAB.MAC, UP TO THE END$DF LINE, IS TO BE
;	  0235	!  PROCESSED.
;	  0236	!
;	  0237		    LOOK_DONE = 0;
;	  0238	
;	  0239		    WHILE (.LOOK_DONE EQL 0) DO
;	  0240			BEGIN
;	  0241			SCAN (.FILE_CHAN, .FILE_PTR, SAVE_CHAR, RESULT);
;	  0242	
;	  0243			IF ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] EQL %C';'))
;	  0244			THEN
;	  0245			    				!SKIP A COMMENT LINE
;	  0246	
;	  0247			    DO
;	  0248				SCAN (.FILE_CHAN, .FILE_PTR, SAVE_CHAR, RESULT)
;	  0249			    UNTIL ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0))
;	  0250	
;	  0251			ELSE
;	  0252			    BEGIN
;	  0253	!
;	  0254	! THE RESULT VECTOR CONTAINS THE MACRO NAME
;	  0255	!
;	  0256	
;	  0257			    IF (.RESULT [RESULT_TYPE] NEQ RT_NAME)
;	  0258			    THEN
;	  0259				BEGIN
;	  0260				ERRMSG (0, 24, ROUTINE_NAME, FILE_PTR [FILE_NAME], 0, 0, 0);
;	  0261				LOOK_DONE = -1;
;	  0262				END
;	  0263			    ELSE
;	  0264				BEGIN
;	  0265	!
;	  0266	! COMPUTE A NUMBER BASED ON THE NAME, SO WE CAN DISPATCH ON IT.
;	  0267	!
;	  0268				NAME = CH$RCHAR (CH$PTR (RESULT [RESULT_VALUE], 0)) + 	!
;	  0269				(256*CH$RCHAR (CH$PTR (RESULT [RESULT_VALUE], 1))) + 	!
;	  0270				(65536*CH$RCHAR (CH$PTR (RESULT [RESULT_VALUE], 2)));
;	  0271	
;	  0272				IF (CH$NEQ (4, CH$PTR (RESULT [RESULT_VALUE], 3), 	!
;	  0273					4, CH$PTR (UPLIT (%ASCIZ'$DF'))))
;	  0274				THEN
;	  0275				    BEGIN
;	  0276				    ERRMSG (0, 24, ROUTINE_NAME, FILE_PTR [FILE_NAME], 0, 0, 0);
;	  0277				    LOOK_DONE = -1;
;	  0278				    END
;	  0279				ELSE
;	  0280				    BEGIN
;	  0281	!
;	  0282	! DISPATCH ON THE NAME
;	  0283	!
;	  0284				    SUBR = (SELECTONE .NAME OF
;	  0285					SET
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page   7
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (2)

;	  0286					[%C'M' + (256*%C'E') + (65536*%C'M')] : R_MEM;
;	  0287					[%C'C' + (256*%C'T') + (65536*%C'L')] : R_CTL;
;	  0288					[%C'U' + (256*%C'N') + (65536*%C'T')] : R_UNT;
;	  0289					[%C'P' + (256*%C'R') + (65536*%C'C')] : R_PRC;
;	  0290					[%C'S' + (256*%C'L') + (65536*%C'T')] : R_SLT;
;	  0291					[%C'L' + (256*%C'L') + (65536*%C'C')] : R_LLC;
;	  0292					[%C'D' + (256*%C'E') + (65536*%C'V')] : R_DEV;
;	  0293					[%C'T' + (256*%C'R') + (65536*%C'B')] : R_TRB;
;	  0294					[%C'T' + (256*%C'S') + (65536*%C'K')] : R_TSK;
;	  0295					[%C'D' + (256*%C'R') + (65536*%C'V')] : R_DRV;
;	  0296					[%C'E' + (256*%C'N') + (65536*%C'D')] : R_END;
;	  0297					[OTHERWISE] : 0;
;	  0298					TES);
;	  0299	
;	  0300				    IF (.SUBR EQL 0)
;	  0301				    THEN
;	  0302					BEGIN
;	  0303					ERRMSG (0, 24, ROUTINE_NAME, FILE_PTR [FILE_NAME], 0, 0, 0);
;	  0304					LOOK_DONE = -1;
;	  0305					END
;	  0306				    ELSE
;	  0307					BEGIN
;	  0308					(.SUBR) (.FILE_CHAN, .FILE_PTR, SAVE_CHAR, .VALUES);
;	  0309	
;	  0310					IF (.SUBR EQL R_END) THEN LOOK_DONE = 1;
;	  0311	
;	  0312					END;
;	  0313	
;	  0314				    END;
;	  0315	
;	  0316				END;
;	  0317	
;	  0318			    END;
;	  0319	
;	  0320			END;
;	  0321	
;	  0322		    END;
;	  0323	
;	  0324		CLOSE (.FILE_CHAN);
;	  0325	
;	  0326		IF (DEBUG GEQ 1)
;	  0327		THEN
;	  0328		    BEGIN				!DEBUG
;	  0329		    PCRLF (1);
;	  0330		    OUTSTR (1, UPLIT (%ASCIZ'----- CLOSE CETAB.MAC'));
;	  0331		    END;				!DEBUG
;	  0332	
;	  0333		END;
;	  0334	
;	  0335	    END;					!OF RCET
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page   8
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (2)

	TITLE	RTXT
	TWOSEG


	.REQUEST  SYS:B362LB.REL


	RELOC	400000				;					400000'
P.AAA:	BYTE	(7)"R","C","E","T",000		; RCET					400000' 122 103 105 124 000
P.AAB:	BYTE	(7)"T","X","T",000,000		; TXT					400001' 124 130 124 000 000
P.AAC:	BYTE	(7)"-","-","-","-","-"		; -----					400002' 055 055 055 055 055
	BYTE	(7)" ","O","P","E","N"		;  OPEN					400003' 040 117 120 105 116
	BYTE	(7)" ","C","E","T","A"		;  CETA					400004' 040 103 105 124 101
	BYTE	(7)"B",".","M","A","C"		; B.MAC					400005' 102 056 115 101 103
	BYTE	(7)000,000,000,000,000		;					400006' 000 000 000 000 000
P.AAD:	BYTE	(7)"S","Y","S","$","D"		; SYS$D					400007' 123 131 123 044 104
	BYTE	(7)"F",000,000,000,000		; F					400010' 106 000 000 000 000
P.AAE:	BYTE	(7)"$","D","F",000,000		; $DF					400011' 044 104 106 000 000
P.AAF:	BYTE	(7)"-","-","-","-","-"		; -----					400012' 055 055 055 055 055
	BYTE	(7)" ","C","L","O","S"		;  CLOS					400013' 040 103 114 117 123
	BYTE	(7)"E"," ","C","E","T"		; E CET					400014' 105 040 103 105 124
	BYTE	(7)"A","B",".","M","A"		; AB.MA					400015' 101 102 056 115 101
	BYTE	(7)"C",000,000,000,000		; C					400016' 103 000 000 000 000


	EXTERN	OPEN, CLOSE, INPUT, OUTPUT, BLD_CHAIN, GETBLK, ERROR, ERRMSG, PCRLF, OUTNUM, OUTSTR


ROUTINE_NAME=	    P.AAA			;						000000	400000'


AC0=	0
AC1=	1
AC2=	2
AC3=	3
AC4=	4
AC5=	5
AC6=	6
AC7=	7
AC10=	10
AC11=	11
AC12=	12
AC13=	13
AC14=	14
FP=	15
AC16=	16
SP=	17


RCET::	PUSH	SP,AC0				; SP,AC0				400017' 261 17 0 00 000000		0130
	PUSH	SP,AC10				; SP,AC10				400020' 261 17 0 00 000010
	PUSH	SP,AC11				; SP,AC11				400021' 261 17 0 00 000011
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page   9
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (2)

	PUSH	SP,AC12				; SP,AC12				400022' 261 17 0 00 000012
	PUSH	SP,AC13				; SP,AC13				400023' 261 17 0 00 000013
	PUSH	SP,AC14				; SP,AC14				400024' 261 17 0 00 000014
	PUSH	SP,AC16				; SP,AC16				400025' 261 17 0 00 000016
	ADJSP	SP,25				; SP,25					400026' 105 17 0 00 000025
	MOVE	AC16,-37(SP)			; AC16,FILE_CHAN			400027' 200 16 0 17 777741		0178
	PUSH	SP,AC16				; SP,AC16				400030' 261 17 0 00 000016
	MOVE	AC13,-37(SP)			; AC13,FILE_PTR				400031' 200 13 0 17 777741
	MOVE	AC14,AC13			; AC14,AC13				400032' 200 14 0 00 000013
	ADDI	AC14,2				; AC14,2				400033' 271 14 0 00 000002
	PUSH	SP,AC14				; SP,AC14				400034' 261 17 0 00 000014
	PUSH	SP,C.3				; SP,[1]				400035' 261 17 0 00 400370'
	PUSH	SP,C.4				; SP,[0]				400036' 261 17 0 00 400371'
	PUSH	SP,C.5				; SP,[0,,P.AAB]				400037' 261 17 0 00 400372'
	PUSHJ	SP,OPEN				; SP,OPEN				400040' 260 17 0 00 000000*
	ADJSP	SP,-5				; SP,-5					400041' 105 17 0 00 777773
	JUMPE	AC1,L.30			; AC1,L.30				400042' 322 01 0 00 400355'
	MOVE	AC12,-35(SP)			; AC12,VALUES				400043' 200 12 0 17 777743		0192
	HRRZS	1(AC12)				; 1(AC12)				400044' 553 00 0 12 000001
	SETOM	0(SP)				; SAVE_CHAR				400045' 476 00 0 17 000000		0196
	SETZ	AC11,				; LOOK_DONE,				400046' 400 11 0 00 000000		0197
L.1:	JUMPN	AC11,L.7			; LOOK_DONE,L.7				400047' 326 11 0 00 400141'		0199
	PUSH	SP,AC16				; SP,AC16				400050' 261 17 0 00 000016		0201
	PUSH	SP,AC13				; SP,AC13				400051' 261 17 0 00 000013
	MOVEI	AC0,-2(SP)			; AC0,SAVE_CHAR				400052' 201 00 0 17 777776
	PUSH	SP,AC0				; SP,AC0				400053' 261 17 0 00 000000
	MOVEI	AC0,-27(SP)			; AC0,RESULT				400054' 201 00 0 17 777751
	PUSH	SP,AC0				; SP,AC0				400055' 261 17 0 00 000000
	PUSHJ	SP,SCAN				; SP,SCAN				400056' 260 17 0 00 000000V
	MOVEI	AC0,3				; AC0,3					400057' 201 00 0 00 000003		0203
	CAME	AC0,-30(SP)			; AC0,RESULT				400060' 312 00 0 17 777750
	JRST	L.3				; L.3					400061' 254 00 0 00 400101'
	MOVEI	AC0,73				; AC0,73				400062' 201 00 0 00 000073
	CAME	AC0,-27(SP)			; AC0,RESULT+1				400063' 312 00 0 17 777751
	JRST	L.3				; L.3					400064' 254 00 0 00 400101'
L.2:	MOVEM	AC16,-1(SP)			; AC16,-1(SP)				400065' 202 16 0 17 777777		0208
	MOVEM	AC13,0(SP)			; AC13,0(SP)				400066' 202 13 0 17 000000
	MOVEI	AC0,-4(SP)			; AC0,SAVE_CHAR				400067' 201 00 0 17 777774
	PUSH	SP,AC0				; SP,AC0				400070' 261 17 0 00 000000
	MOVEI	AC0,-31(SP)			; AC0,RESULT				400071' 201 00 0 17 777747
	PUSH	SP,AC0				; SP,AC0				400072' 261 17 0 00 000000
	PUSHJ	SP,SCAN				; SP,SCAN				400073' 260 17 0 00 000000V
	ADJSP	SP,-2				; SP,-2					400074' 105 17 0 00 777776
	MOVEI	AC0,3				; AC0,3					400075' 201 00 0 00 000003		0209
	CAMN	AC0,-30(SP)			; AC0,RESULT				400076' 316 00 0 17 777750
	SKIPL	-27(SP)				; RESULT+1				400077' 331 00 0 17 777751
	JRST	L.2				; L.2					400100' 254 00 0 00 400065'		0207
L.3:	MOVEI	AC0,1				; AC0,1					400101' 201 00 0 00 000001		0211
	CAME	AC0,-30(SP)			; AC0,RESULT				400102' 312 00 0 17 777750
	JRST	L.4				; L.4					400103' 254 00 0 00 400115'
	MOVEI	AC2,-30(SP)			; AC2,RESULT				400104' 201 02 0 17 777750		0212
	HRLI	AC2,10700			; AC2,10700				400105' 505 02 0 00 010700
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  10
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (2)

	MOVEI	AC1,7				; AC1,7					400106' 201 01 0 00 000007
	MOVEI	AC4,7				; AC4,7					400107' 201 04 0 00 000007
	MOVE	AC5,C.6				; AC5,[POINT 7,P.AAD-1,34]  <1,7>	400110' 200 05 0 00 400373'
	EXTEND	AC1,C.1				; AC1,[CMPSE ]				400111' 123 01 0 00 400366'
	JRST	L.4				; L.4					400112' 254 00 0 00 400115'
	MOVEI	AC11,1				; LOOK_DONE,1				400113' 201 11 0 00 000001		0214
	JRST	L.5				; L.5					400114' 254 00 0 00 400131'		0211
L.4:	MOVEM	AC16,-1(SP)			; AC16,-1(SP)				400115' 202 16 0 17 777777		0218
	MOVEM	AC13,0(SP)			; AC13,0(SP)				400116' 202 13 0 17 000000
	MOVEI	AC0,-4(SP)			; AC0,SAVE_CHAR				400117' 201 00 0 17 777774
	PUSH	SP,AC0				; SP,AC0				400120' 261 17 0 00 000000
	MOVEI	AC0,-31(SP)			; AC0,RESULT				400121' 201 00 0 17 777747
	PUSH	SP,AC0				; SP,AC0				400122' 261 17 0 00 000000
	PUSHJ	SP,SCAN				; SP,SCAN				400123' 260 17 0 00 000000V
	ADJSP	SP,-2				; SP,-2					400124' 105 17 0 00 777776
	MOVEI	AC0,3				; AC0,3					400125' 201 00 0 00 000003		0219
	CAMN	AC0,-30(SP)			; AC0,RESULT				400126' 316 00 0 17 777750
	SKIPL	-27(SP)				; RESULT+1				400127' 331 00 0 17 777751
	JRST	L.4				; L.4					400130' 254 00 0 00 400115'		0217
L.5:	MOVEI	AC0,3				; AC0,3					400131' 201 00 0 00 000003		0221
	CAME	AC0,-30(SP)			; AC0,RESULT				400132' 312 00 0 17 777750
	JRST	L.6				; L.6					400133' 254 00 0 00 400137'
	HRROI	AC0,-2				; AC0,-2				400134' 561 00 0 00 777776
	CAMN	AC0,-27(SP)			; AC0,RESULT+1				400135' 316 00 0 17 777751
	SETO	AC11,				; LOOK_DONE,				400136' 474 11 0 00 000000		0223
L.6:	ADJSP	SP,-4				; SP,-4					400137' 105 17 0 00 777774		0200
	JRST	L.1				; L.1					400140' 254 00 0 00 400047'		0199
L.7:	JUMPG	AC11,L.8			; LOOK_DONE,L.8				400141' 327 11 0 00 400154'		0227
	PUSH	SP,C.4				; SP,[0]				400142' 261 17 0 00 400371'		0229
	PUSH	SP,C.7				; SP,[30]				400143' 261 17 0 00 400374'
	PUSH	SP,C.8				; SP,[0,,ROUTINE_NAME]			400144' 261 17 0 00 400375'
	PUSH	SP,AC14				; SP,AC14				400145' 261 17 0 00 000014
	PUSH	SP,C.4				; SP,[0]				400146' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				400147' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				400150' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				400151' 260 17 0 00 000000*
	ADJSP	SP,-3				; SP,-3					400152' 105 17 0 00 777775
	JRST	L.29				; L.29					400153' 254 00 0 00 400352'		0227
L.8:	PUSH	SP,AC16				; SP,AC16				400154' 261 17 0 00 000016		0232
	PUSH	SP,AC13				; SP,AC13				400155' 261 17 0 00 000013
	MOVEI	AC0,-2(SP)			; AC0,SAVE_CHAR				400156' 201 00 0 17 777776
	PUSH	SP,AC0				; SP,AC0				400157' 261 17 0 00 000000
	PUSH	SP,AC12				; SP,AC12				400160' 261 17 0 00 000012
	PUSHJ	SP,R_SYS			; SP,R_SYS				400161' 260 17 0 00 000000V
	SETZ	AC11,				; LOOK_DONE,				400162' 400 11 0 00 000000		0237
L.9:	JUMPN	AC11,L.29			; LOOK_DONE,L.29			400163' 326 11 0 00 400352'		0239
	MOVEM	AC16,-1(SP)			; AC16,-1(SP)				400164' 202 16 0 17 777777		0241
	MOVEM	AC13,0(SP)			; AC13,0(SP)				400165' 202 13 0 17 000000
	MOVEI	AC1,-4(SP)			; AC1,SAVE_CHAR				400166' 201 01 0 17 777774
	PUSH	SP,AC1				; SP,AC1				400167' 261 17 0 00 000001
	MOVEI	AC1,-31(SP)			; AC1,RESULT				400170' 201 01 0 17 777747
	PUSH	SP,AC1				; SP,AC1				400171' 261 17 0 00 000001
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  11
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (2)

	PUSHJ	SP,SCAN				; SP,SCAN				400172' 260 17 0 00 000000V
	MOVE	AC1,-32(SP)			; AC1,RESULT				400173' 200 01 0 17 777746		0243
	CAIE	AC1,3				; AC1,3					400174' 302 01 0 00 000003
	JRST	L.11				; L.11					400175' 254 00 0 00 400216'
	MOVEI	AC2,73				; AC2,73				400176' 201 02 0 00 000073
	CAME	AC2,-31(SP)			; AC2,RESULT+1				400177' 312 02 0 17 777747
	JRST	L.11				; L.11					400200' 254 00 0 00 400216'
L.10:	MOVEM	AC16,-1(SP)			; AC16,-1(SP)				400201' 202 16 0 17 777777		0248
	MOVEM	AC13,0(SP)			; AC13,0(SP)				400202' 202 13 0 17 000000
	MOVEI	AC1,-6(SP)			; AC1,SAVE_CHAR				400203' 201 01 0 17 777772
	PUSH	SP,AC1				; SP,AC1				400204' 261 17 0 00 000001
	MOVEI	AC1,-33(SP)			; AC1,RESULT				400205' 201 01 0 17 777745
	PUSH	SP,AC1				; SP,AC1				400206' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				400207' 260 17 0 00 000000V
	ADJSP	SP,-2				; SP,-2					400210' 105 17 0 00 777776
	MOVEI	AC1,3				; AC1,3					400211' 201 01 0 00 000003		0249
	CAMN	AC1,-32(SP)			; AC1,RESULT				400212' 316 01 0 17 777746
	SKIPL	-31(SP)				; RESULT+1				400213' 331 00 0 17 777747
	JRST	L.10				; L.10					400214' 254 00 0 00 400201'		0247
	JRST	L.28				; L.28					400215' 254 00 0 00 400350'		0243
L.11:	CAIE	AC1,1				; AC1,1					400216' 302 01 0 00 000001		0257
	JRST	L.25				; L.25					400217' 254 00 0 00 400324'
	MOVEI	AC1,-32(SP)			; AC1,RESULT				400220' 201 01 0 17 777746		0268
	HRLI	AC1,10700			; AC1,10700				400221' 505 01 0 00 010700
	ILDB	AC2,AC1				; AC2,AC1				400222' 134 02 0 00 000001
	MOVEI	AC1,-31(SP)			; AC1,RESULT+1				400223' 201 01 0 17 777747		0269
	HRLI	AC1,350700			; AC1,350700				400224' 505 01 0 00 350700
	ILDB	AC1,AC1				; AC1,AC1				400225' 134 01 0 00 000001
	IMULI	AC1,400				; AC1,400				400226' 221 01 0 00 000400
	ADD	AC2,AC1				; AC2,AC1				400227' 270 02 0 00 000001		0268
	MOVEI	AC1,-31(SP)			; AC1,RESULT+1				400230' 201 01 0 17 777747		0270
	HRLI	AC1,260700			; AC1,260700				400231' 505 01 0 00 260700
	ILDB	AC1,AC1				; AC1,AC1				400232' 134 01 0 00 000001
	IMULI	AC1,200000			; AC1,200000				400233' 221 01 0 00 200000
	MOVE	AC0,AC2				; NAME,AC2				400234' 200 00 0 00 000002		0269
	ADD	AC0,AC1				; NAME,AC1				400235' 270 00 0 00 000001
	MOVEI	AC2,-31(SP)			; AC2,RESULT+1				400236' 201 02 0 17 777747		0272
	HRLI	AC2,170700			; AC2,170700				400237' 505 02 0 00 170700
	MOVEI	AC1,4				; AC1,4					400240' 201 01 0 00 000004
	MOVEI	AC4,4				; AC4,4					400241' 201 04 0 00 000004
	MOVE	AC5,C.9				; AC5,[POINT 7,P.AAE-1,34]  <1,7>	400242' 200 05 0 00 400376'
	EXTEND	AC1,C.2				; AC1,[CMPSN ]				400243' 123 01 0 00 400367'
	JRST	L.12				; L.12					400244' 254 00 0 00 400246'
	JRST	L.25				; L.25					400245' 254 00 0 00 400324'
L.12:	CAME	AC0,C.10			; NAME,[23242515]			400246' 312 00 0 00 400377'		0284
	JRST	L.13				; L.13					400247' 254 00 0 00 400252'
	MOVEI	AC10,R_MEM			; SUBR,R_MEM				400250' 201 10 0 00 000000V
	JRST	L.24				; L.24					400251' 254 00 0 00 400323'
L.13:	CAME	AC0,C.11			; NAME,[23052103]			400252' 312 00 0 00 400400'
	JRST	L.14				; L.14					400253' 254 00 0 00 400256'
	MOVEI	AC10,R_CTL			; SUBR,R_CTL				400254' 201 10 0 00 000000V
	JRST	L.24				; L.24					400255' 254 00 0 00 400323'
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  12
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (2)

L.14:	CAME	AC0,C.12			; NAME,[25047125]			400256' 312 00 0 00 400401'
	JRST	L.15				; L.15					400257' 254 00 0 00 400262'
	MOVEI	AC10,R_UNT			; SUBR,R_UNT				400260' 201 10 0 00 000000V
	JRST	L.24				; L.24					400261' 254 00 0 00 400323'
L.15:	CAME	AC0,C.13			; NAME,[20651120]			400262' 312 00 0 00 400402'
	JRST	L.16				; L.16					400263' 254 00 0 00 400266'
	MOVEI	AC10,R_PRC			; SUBR,R_PRC				400264' 201 10 0 00 000000V
	JRST	L.24				; L.24					400265' 254 00 0 00 400323'
L.16:	CAME	AC0,C.14			; NAME,[25046123]			400266' 312 00 0 00 400403'
	JRST	L.17				; L.17					400267' 254 00 0 00 400272'
	MOVEI	AC10,R_SLT			; SUBR,R_SLT				400270' 201 10 0 00 000000V
	JRST	L.24				; L.24					400271' 254 00 0 00 400323'
L.17:	CAME	AC0,C.15			; NAME,[20646114]			400272' 312 00 0 00 400404'
	JRST	L.18				; L.18					400273' 254 00 0 00 400276'
	MOVEI	AC10,R_LLC			; SUBR,R_LLC				400274' 201 10 0 00 000000V
	JRST	L.24				; L.24					400275' 254 00 0 00 400323'
L.18:	CAME	AC0,C.16			; NAME,[25442504]			400276' 312 00 0 00 400405'
	JRST	L.19				; L.19					400277' 254 00 0 00 400302'
	MOVEI	AC10,R_DEV			; SUBR,R_DEV				400300' 201 10 0 00 000000V
	JRST	L.24				; L.24					400301' 254 00 0 00 400323'
L.19:	CAME	AC0,C.17			; NAME,[20451124]			400302' 312 00 0 00 400406'
	JRST	L.20				; L.20					400303' 254 00 0 00 400306'
	MOVEI	AC10,R_TRB			; SUBR,R_TRB				400304' 201 10 0 00 000000V
	JRST	L.24				; L.24					400305' 254 00 0 00 400323'
L.20:	CAME	AC0,C.18			; NAME,[22651524]			400306' 312 00 0 00 400407'
	JRST	L.21				; L.21					400307' 254 00 0 00 400312'
	MOVEI	AC10,R_TSK			; SUBR,R_TSK				400310' 201 10 0 00 000000V
	JRST	L.24				; L.24					400311' 254 00 0 00 400323'
L.21:	CAME	AC0,C.19			; NAME,[25451104]			400312' 312 00 0 00 400410'
	JRST	L.22				; L.22					400313' 254 00 0 00 400316'
	MOVEI	AC10,R_DRV			; SUBR,R_DRV				400314' 201 10 0 00 000000V
	JRST	L.24				; L.24					400315' 254 00 0 00 400323'
L.22:	CAME	AC0,C.20			; NAME,[21047105]			400316' 312 00 0 00 400411'
	JRST	L.23				; L.23					400317' 254 00 0 00 400322'
	MOVEI	AC10,R_END			; SUBR,R_END				400320' 201 10 0 00 000000V
	JRST	L.24				; L.24					400321' 254 00 0 00 400323'
L.23:	SETZ	AC10,				; SUBR,					400322' 400 10 0 00 000000
L.24:	JUMPN	AC10,L.26			; SUBR,L.26				400323' 326 10 0 00 400337'		0300
L.25:	SETZM	0(SP)				; 0(SP)					400324' 402 00 0 17 000000		0303
	PUSH	SP,C.7				; SP,[30]				400325' 261 17 0 00 400374'
	PUSH	SP,C.8				; SP,[0,,ROUTINE_NAME]			400326' 261 17 0 00 400375'
	PUSH	SP,AC14				; SP,AC14				400327' 261 17 0 00 000014
	PUSH	SP,C.4				; SP,[0]				400330' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				400331' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				400332' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				400333' 260 17 0 00 000000*
	SETO	AC11,				; LOOK_DONE,				400334' 474 11 0 00 000000		0304
	ADJSP	SP,-4				; SP,-4					400335' 105 17 0 00 777774		0302
	JRST	L.27				; L.27					400336' 254 00 0 00 400347'		0300
L.26:	MOVEM	AC16,-1(SP)			; AC16,-1(SP)				400337' 202 16 0 17 777777		0308
	MOVEM	AC13,0(SP)			; AC13,0(SP)				400340' 202 13 0 17 000000
	MOVEI	AC1,-6(SP)			; AC1,SAVE_CHAR				400341' 201 01 0 17 777772
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  13
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (2)

	PUSH	SP,AC1				; SP,AC1				400342' 261 17 0 00 000001
	PUSH	SP,AC12				; SP,AC12				400343' 261 17 0 00 000012
	PUSHJ	SP,0(AC10)			; SP,0(SUBR)				400344' 260 17 0 10 000000
	CAIN	AC10,R_END			; SUBR,R_END				400345' 306 10 0 00 000000V		0310
	MOVEI	AC11,1				; LOOK_DONE,1				400346' 201 11 0 00 000001
L.27:	ADJSP	SP,-2				; SP,-2					400347' 105 17 0 00 777776		0252
L.28:	ADJSP	SP,-2				; SP,-2					400350' 105 17 0 00 777776		0240
	JRST	L.9				; L.9					400351' 254 00 0 00 400163'		0239
L.29:	MOVEM	AC16,0(SP)			; AC16,0(SP)				400352' 202 16 0 17 000000		0324
	PUSHJ	SP,CLOSE			; SP,CLOSE				400353' 260 17 0 00 000000*
	ADJSP	SP,-4				; SP,-4					400354' 105 17 0 00 777774		0180
L.30:	ADJSP	SP,-25				; SP,-25				400355' 105 17 0 00 777753		0130
	POP	SP,AC16				; SP,AC16				400356' 262 17 0 00 000016
	POP	SP,AC14				; SP,AC14				400357' 262 17 0 00 000014
	POP	SP,AC13				; SP,AC13				400360' 262 17 0 00 000013
	POP	SP,AC12				; SP,AC12				400361' 262 17 0 00 000012
	POP	SP,AC11				; SP,AC11				400362' 262 17 0 00 000011
	POP	SP,AC10				; SP,AC10				400363' 262 17 0 00 000010
	POP	SP,AC0				; SP,AC0				400364' 262 17 0 00 000000
	POPJ	SP,				; SP,					400365' 263 17 0 00 000000
C.1:	CMPSE					; 					400366' 002 00 0 00 000000
C.2:	CMPSN					; 					400367' 006 00 0 00 000000
C.3:	EXP	1				; 1					400370' 000000	000001
C.4:	EXP	0				; 0					400371' 000000	000000
C.5:	XWD	0,P.AAB				; 0,P.AAB				400372' 000000	400001'
C.6:	POINT	7,P.AAD-1,34			; 7,P.AAD-1,34				400373' 01 07 0 00 400006'
C.7:	EXP	30				; 30					400374' 000000	000030
C.8:	XWD	0,ROUTINE_NAME			; 0,ROUTINE_NAME			400375' 000000	400000'
C.9:	POINT	7,P.AAE-1,34			; 7,P.AAE-1,34				400376' 01 07 0 00 400010'
C.10:	EXP	23242515			; 23242515				400377' 000023	242515
C.11:	EXP	23052103			; 23052103				400400' 000023	052103
C.12:	EXP	25047125			; 25047125				400401' 000025	047125
C.13:	EXP	20651120			; 20651120				400402' 000020	651120
C.14:	EXP	25046123			; 25046123				400403' 000025	046123
C.15:	EXP	20646114			; 20646114				400404' 000020	646114
C.16:	EXP	25442504			; 25442504				400405' 000025	442504
C.17:	EXP	20451124			; 20451124				400406' 000020	451124
C.18:	EXP	22651524			; 22651524				400407' 000022	651524
C.19:	EXP	25451104			; 25451104				400410' 000025	451104
C.20:	EXP	21047105			; 21047105				400411' 000021	047105

; Routine Size:  251 words


;	  0336	
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  14
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (3)

;	  0337	ROUTINE CLASS (CHAR) = 				!CLASSIFY A CHARACTER
;	  0338	
;	  0339	!++
;	  0340	! FUNCTIONAL DESCRIPTION:
;	  0341	!
;	  0342	!	CLASSIFY A CHARACTER AS TO ALPHABETIC, NUMERIC, SPECIAL OR CONTROL/DEL.
;	  0343	!
;	  0344	! FORMAL PARAMETERS:
;	  0345	!
;	  0346	!	CHAR - THE CHARACTER TO CLASSIFY
;	  0347	!
;	  0348	! IMPLICIT INPUTS:
;	  0349	!
;	  0350	!	NONE
;	  0351	!
;	  0352	! IMPLICIT OUTPUTS:
;	  0353	!
;	  0354	!	NONE
;	  0355	!
;	  0356	! ROUTINE VALUE:
;	  0357	!
;	  0358	!	1 = ALPHABETIC, 2 = NUMERIC, 3 = SPECIAL, 4 = CONTROL OR DEL
;	  0359	!
;	  0360	! SIDE EFFECTS
;	  0361	!
;	  0362	!	NONE
;	  0363	!
;	  0364	!--
;	  0365	
;	  0366	    BEGIN
;	  0367	
;	  0368	    BIND
;	  0369		ROUTINE_NAME = UPLIT (%ASCIZ'CLASS');
;	  0370	
;	  0371	    SELECTONE .CHAR OF
;	  0372		SET
;	  0373	
;	  0374		[%C'A' TO %C'Z', %C'a' TO %C'z', %C'$', %C'.'] :
;	  0375		    1;					!ALPHABETIC (INCLUDING $ AND .)
;	  0376	
;	  0377		[%C'0' TO %C'9'] :
;	  0378		    2;					!NUMERIC
;	  0379	
;	  0380		[%C'!', 				!
;	  0381		    %C'"', 				!
;	  0382		    %C'#', 				!
;	  0383		    %C'%', 				!
;	  0384		    %C'&', 				!
;	  0385		    %O'47', 				!SINGLE QUOTE
;	  0386		    %C'(', 				!
;	  0387		    %C')', 				!
;	  0388		    %C'*', 				!
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  15
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (3)

;	  0389		    %C'+', 				!
;	  0390		    %C',', 				!
;	  0391		    %C'-', 				!
;	  0392		    %C'/', 				!
;	  0393		    %C':', 				!
;	  0394		    %C';', 				!
;	  0395		    %C'<', 				!
;	  0396		    %C'=', 				!
;	  0397		    %C'>', 				!
;	  0398		    %C'?', 				!
;	  0399		    %C'@', 				!
;	  0400		    %C'[', 				!
;	  0401		    %C'\', 				!
;	  0402		    %C']', 				!
;	  0403		    %C'^', 				!
;	  0404		    %C'_', 				!
;	  0405		    %C'`', 				!
;	  0406		    %C'{', 				!
;	  0407		    %C'|', 				!
;	  0408		    %C'}', 				!
;	  0409		    %C'~'] :
;	  0410		    3;					!SPECIAL (BUT NEITHER $ NOR .)
;	  0411	
;	  0412		[OTHERWISE] :
;	  0413		    4;					!CONTROL AND DEL
;	  0414		TES
;	  0415	
;	  0416	    END;


P.AAG:	BYTE	(7)"C","L","A","S","S"		; CLASS					400412' 103 114 101 123 123
	BYTE	(7)000,000,000,000,000		;					400413' 000 000 000 000 000


ROUTINE_NAME=	    P.AAG			;						000000	400412'


CLASS:	MOVE	AC1,-1(SP)			; AC1,CHAR				400414' 200 01 0 17 777777		0371
	CAIE	AC1,44				; AC1,44				400415' 302 01 0 00 000044
	CAIN	AC1,56				; AC1,56				400416' 306 01 0 00 000056
	JRST	L.32				; L.32					400417' 254 00 0 00 400427'
	CAIGE	AC1,101				; AC1,101				400420' 305 01 0 00 000101
	JRST	L.31				; L.31					400421' 254 00 0 00 400424'
	CAIG	AC1,132				; AC1,132				400422' 307 01 0 00 000132
	JRST	L.32				; L.32					400423' 254 00 0 00 400427'
L.31:	CAIL	AC1,141				; AC1,141				400424' 301 01 0 00 000141
	CAILE	AC1,172				; AC1,172				400425' 303 01 0 00 000172
	JRST	L.33				; L.33					400426' 254 00 0 00 400431'
L.32:	MOVEI	AC1,1				; AC1,1					400427' 201 01 0 00 000001
	POPJ	SP,				; SP,					400430' 263 17 0 00 000000
L.33:	CAIL	AC1,60				; AC1,60				400431' 301 01 0 00 000060
	CAILE	AC1,71				; AC1,71				400432' 303 01 0 00 000071
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  16
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (3)

	JRST	L.34				; L.34					400433' 254 00 0 00 400436'
	MOVEI	AC1,2				; AC1,2					400434' 201 01 0 00 000002
	POPJ	SP,				; SP,					400435' 263 17 0 00 000000
L.34:	CAIGE	AC1,41				; AC1,41				400436' 305 01 0 00 000041
	JRST	L.35				; L.35					400437' 254 00 0 00 400442'
	CAIG	AC1,43				; AC1,43				400440' 307 01 0 00 000043
	JRST	L.39				; L.39					400441' 254 00 0 00 400463'
L.35:	CAIGE	AC1,45				; AC1,45				400442' 305 01 0 00 000045
	JRST	L.36				; L.36					400443' 254 00 0 00 400446'
	CAIG	AC1,55				; AC1,55				400444' 307 01 0 00 000055
	JRST	L.39				; L.39					400445' 254 00 0 00 400463'
L.36:	CAIN	AC1,57				; AC1,57				400446' 306 01 0 00 000057
	JRST	L.39				; L.39					400447' 254 00 0 00 400463'
	CAIGE	AC1,72				; AC1,72				400450' 305 01 0 00 000072
	JRST	L.37				; L.37					400451' 254 00 0 00 400454'
	CAIG	AC1,100				; AC1,100				400452' 307 01 0 00 000100
	JRST	L.39				; L.39					400453' 254 00 0 00 400463'
L.37:	CAIGE	AC1,133				; AC1,133				400454' 305 01 0 00 000133
	JRST	L.38				; L.38					400455' 254 00 0 00 400460'
	CAIG	AC1,140				; AC1,140				400456' 307 01 0 00 000140
	JRST	L.39				; L.39					400457' 254 00 0 00 400463'
L.38:	CAIL	AC1,173				; AC1,173				400460' 301 01 0 00 000173
	CAILE	AC1,176				; AC1,176				400461' 303 01 0 00 000176
	JRST	L.40				; L.40					400462' 254 00 0 00 400465'
L.39:	MOVEI	AC1,3				; AC1,3					400463' 201 01 0 00 000003
	POPJ	SP,				; SP,					400464' 263 17 0 00 000000
L.40:	MOVEI	AC1,4				; AC1,4					400465' 201 01 0 00 000004
	POPJ	SP,				; SP,					400466' 263 17 0 00 000000		0337

; Routine Size:  43 words
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  17
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (4)

;	  0417	ROUTINE SCAN (FILE_CHAN, FILE_PTR, SAVE_CHAR, RESULT) : NOVALUE = 	!SCAN NEXT ATOM
;	  0418	
;	  0419	!++
;	  0420	! FUNCTIONAL DESCRIPTION:
;	  0421	!
;	  0422	!	SCAN NEXT ATOM (NAME, NUMBER, SPECIAL CHAR) FROM THE FILE
;	  0423	!
;	  0424	! FORMAL PARAMETERS:
;	  0425	!
;	  0426	!	FILE_CHAN - CHANNEL NUMBER ON WHICH TO READ
;	  0427	!	FILE_PTR - FILE BLOCK WITH FILE NAME FILLED IN
;	  0428	!	SAVE_CHAR - ADDRESS OF CHARACTER SAVED FROM LAST CALL.
;	  0429	!	 SET TO -1 ON FIRST CALL.
;	  0430	!	RESULT - VECTOR INTO WHICH TO STORE RESULTS
;	  0431	!
;	  0432	! IMPLICIT INPUTS:
;	  0433	!
;	  0434	!	NONE
;	  0435	!
;	  0436	! IMPLICIT OUTPUTS:
;	  0437	!
;	  0438	!	FILLS THE 'RESULT' ARRAY WITH THE NEXT ATOM SCANNED
;	  0439	!
;	  0440	! ROUTINE VALUE:
;	  0441	!
;	  0442	!	NONE
;	  0443	!
;	  0444	! SIDE EFFECTS
;	  0445	!
;	  0446	!	READS THE SPECIFIED FILE
;	  0447	!
;	  0448	!--
;	  0449	
;	  0450	    BEGIN
;	  0451	
;	  0452	    BIND
;	  0453		ROUTINE_NAME = UPLIT (%ASCIZ'SCAN-TEXT-FILE');
;	  0454	
;	  0455	    MAP
;	  0456		FILE_PTR : REF FILE_BLOCK,
;	  0457		RESULT : REF VECTOR;
;	  0458	
;	  0459	    LOCAL
;	  0460		CHAR,
;	  0461		SCAN_DONE,
;	  0462		DECIMAL_NUM,
;	  0463		OCTAL_NUM,
;	  0464		SCAN_POINTER;
;	  0465	
;	  0466	!
;	  0467	! CLASSIFY ATOM BASED ON FIRST CHARACTER.  LEADING BLANKS,
;	  0468	!  TABS, CARRIAGE RETURNS AND FORM FEEDS ARE SKIPPED.
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  18
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (4)

;	  0469	!
;	  0470	    CHAR = ..SAVE_CHAR;
;	  0471	
;	  0472	    IF (.CHAR EQL -2)
;	  0473	    THEN
;	  0474		ERROR (UPLIT (%ASCIZ'EOF IGNORED IN SCAN'))
;	  0475	    ELSE
;	  0476		BEGIN
;	  0477	
;	  0478		IF (.CHAR LSS 0) THEN CHAR = INPUT (.FILE_CHAN);
;	  0479	
;	  0480		WHILE ((.CHAR EQL %O'40') OR (.CHAR EQL %O'11') OR (.CHAR EQL %O'15') OR (.CHAR EQL %O'14')) DO
;	  0481		    CHAR = INPUT (.FILE_CHAN);
;	  0482	
;	  0483		IF (.CHAR LSS 0)
;	  0484		THEN
;	  0485		    BEGIN				!END OF FILE
;	  0486		    RESULT [RESULT_TYPE] = 3;
;	  0487		    RESULT [RESULT_VALUE] = -2;
;	  0488		    .SAVE_CHAR = -2;
;	  0489		    END
;	  0490		ELSE
;	  0491		    BEGIN				!NOT END OF FILE
;	  0492	
;	  0493		    CASE CLASS (.CHAR) FROM 1 TO 4 OF
;	  0494			SET
;	  0495	
;	  0496			[1] : 				!ALPHABETIC (INCLUDES $ AND .)
;	  0497			    BEGIN
;	  0498			    RESULT [RESULT_TYPE] = 1;
;	  0499			    SCAN_POINTER = CH$PTR (RESULT [RESULT_VALUE], -1);
;	  0500	
;	  0501			    DO
;	  0502				BEGIN
;	  0503				CH$A_WCHAR (.CHAR, SCAN_POINTER);
;	  0504				CHAR = INPUT (.FILE_CHAN);
;	  0505				END
;	  0506			    UNTIL (CLASS (.CHAR) GTR 2);
;	  0507	
;	  0508			    CH$A_WCHAR (0, SCAN_POINTER);	!TERMINATE WITH NULL
;	  0509			    .SAVE_CHAR = .CHAR;
;	  0510			    END;
;	  0511	
;	  0512			[2] : 				!NUMERIC
;	  0513			    BEGIN
;	  0514			    RESULT [RESULT_TYPE] = 2;
;	  0515			    OCTAL_NUM = 0;
;	  0516			    DECIMAL_NUM = 0;
;	  0517	
;	  0518			    DO
;	  0519				BEGIN
;	  0520				OCTAL_NUM = (.OCTAL_NUM*8) + (.CHAR - %C'0');
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  19
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (4)

;	  0521				DECIMAL_NUM = (.DECIMAL_NUM*10) + (.CHAR - %C'0');
;	  0522				CHAR = INPUT (.FILE_CHAN);
;	  0523				END
;	  0524			    UNTIL (CLASS (.CHAR) NEQ 2);
;	  0525	
;	  0526			    IF (.CHAR EQL %C'.')
;	  0527			    THEN
;	  0528				BEGIN			!NUMBER SPECIFIED AS DECIMAL
;	  0529				RESULT [RESULT_VALUE] = .DECIMAL_NUM;
;	  0530				.SAVE_CHAR = -1;
;	  0531				END
;	  0532			    ELSE
;	  0533				BEGIN
;	  0534				RESULT [RESULT_VALUE] = .OCTAL_NUM;
;	  0535				.SAVE_CHAR = .CHAR;
;	  0536				END;
;	  0537	
;	  0538			    END;
;	  0539	
;	  0540			[3] : 				!SPECIAL CHARACTER
;	  0541			    BEGIN
;	  0542			    RESULT [RESULT_TYPE] = 3;
;	  0543			    RESULT [RESULT_VALUE] = .CHAR;
;	  0544			    .SAVE_CHAR = -1;
;	  0545			    END;
;	  0546	
;	  0547			[4] : 				!CONTROL CHARACTER
;	  0548			    BEGIN
;	  0549			    RESULT [RESULT_TYPE] = 3;
;	  0550			    RESULT [RESULT_VALUE] = -1;
;	  0551			    .SAVE_CHAR = -1;
;	  0552			    END;
;	  0553			TES;
;	  0554	
;	  0555		    END;
;	  0556	
;	  0557		IF (DEBUG GEQ 1)
;	  0558		THEN
;	  0559		    BEGIN				!DEBUG
;	  0560		    PCRLF (1);
;	  0561		    OUTSTR (1, UPLIT (%ASCIZ' SCAN: TYPE ='));
;	  0562		    OUTNUM (1, .RESULT [RESULT_TYPE], 8, 0);
;	  0563		    OUTSTR (1, UPLIT (%ASCIZ', VALUE ='));
;	  0564	
;	  0565		    CASE .RESULT [RESULT_TYPE] FROM 1 TO 3 OF
;	  0566			SET
;	  0567	
;	  0568			[1] : 				!NAME
;	  0569			    OUTSTR (1, RESULT [RESULT_VALUE]);
;	  0570	
;	  0571			[2] : 				!NUMBER, PRINT IN DECIMAL
;	  0572			    OUTNUM (1, .RESULT [RESULT_VALUE], 10, 0);
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  20
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (4)

;	  0573	
;	  0574			[3] : 				!SPECIAL CHARACTER
;	  0575			    BEGIN
;	  0576	
;	  0577			    IF (.RESULT [RESULT_VALUE] LSS 0)
;	  0578			    THEN
;	  0579				OUTNUM (1, .RESULT [RESULT_VALUE], 10, 0)
;	  0580			    ELSE
;	  0581				OUTPUT (1, .RESULT [RESULT_VALUE]);
;	  0582	
;	  0583			    END;
;	  0584			TES;
;	  0585	
;	  0586		    END;				!DEBUG
;	  0587	
;	  0588		END;
;	  0589	
;	  0590	    END;					!OF SCAN


P.AAH:	BYTE	(7)"S","C","A","N","-"		; SCAN-					400467' 123 103 101 116 055
	BYTE	(7)"T","E","X","T","-"		; TEXT-					400470' 124 105 130 124 055
	BYTE	(7)"F","I","L","E",000		; FILE					400471' 106 111 114 105 000
P.AAI:	BYTE	(7)"E","O","F"," ","I"		; EOF I					400472' 105 117 106 040 111
	BYTE	(7)"G","N","O","R","E"		; GNORE					400473' 107 116 117 122 105
	BYTE	(7)"D"," ","I","N"," "		; D IN					400474' 104 040 111 116 040
	BYTE	(7)"S","C","A","N",000		; SCAN					400475' 123 103 101 116 000
P.AAJ:	BYTE	(7)" ","S","C","A","N"		;  SCAN					400476' 040 123 103 101 116
	BYTE	(7)":"," ","T","Y","P"		; : TYP					400477' 072 040 124 131 120
	BYTE	(7)"E"," ","=",000,000		; E =					400500' 105 040 075 000 000
P.AAK:	BYTE	(7)","," ","V","A","L"		; , VAL					400501' 054 040 126 101 114
	BYTE	(7)"U","E"," ","=",000		; UE =					400502' 125 105 040 075 000


ROUTINE_NAME=	    P.AAH			;						000000	400467'


SCAN:	PUSH	SP,AC0				; SP,AC0				400503' 261 17 0 00 000000		0417
	PUSH	SP,AC10				; SP,AC10				400504' 261 17 0 00 000010
	PUSH	SP,AC11				; SP,AC11				400505' 261 17 0 00 000011
	PUSH	SP,AC12				; SP,AC12				400506' 261 17 0 00 000012
	PUSH	SP,AC13				; SP,AC13				400507' 261 17 0 00 000013
	MOVE	AC12,-7(SP)			; AC12,SAVE_CHAR			400510' 200 12 0 17 777771		0470
	MOVE	AC10,0(AC12)			; CHAR,0(AC12)				400511' 200 10 0 12 000000
	CAME	AC10,C.21			; CHAR,[-2]				400512' 312 10 0 00 400667'		0472
	JRST	L.41				; L.41					400513' 254 00 0 00 400517'
	PUSH	SP,C.22				; SP,[0,,P.AAI]				400514' 261 17 0 00 400670'		0474
	PUSHJ	SP,ERROR			; SP,ERROR				400515' 260 17 0 00 000000*
	JRST	L.55				; L.55					400516' 254 00 0 00 400660'
L.41:	JUMPL	AC10,L.43			; CHAR,L.43				400517' 321 10 0 00 400527'		0478
L.42:	CAIE	AC10,40				; CHAR,40				400520' 302 10 0 00 000040		0480
	CAIN	AC10,11				; CHAR,11				400521' 306 10 0 00 000011
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  21
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (4)

	JRST	L.43				; L.43					400522' 254 00 0 00 400527'
	CAIN	AC10,15				; CHAR,15				400523' 306 10 0 00 000015
	JRST	L.43				; L.43					400524' 254 00 0 00 400527'
	CAIE	AC10,14				; CHAR,14				400525' 302 10 0 00 000014
	JRST	L.44				; L.44					400526' 254 00 0 00 400534'
L.43:	PUSH	SP,-11(SP)			; SP,FILE_CHAN				400527' 261 17 0 17 777767		0481
	PUSHJ	SP,INPUT			; SP,INPUT				400530' 260 17 0 00 000000*
	MOVE	AC10,AC1			; CHAR,AC1				400531' 200 10 0 00 000001
	ADJSP	SP,-1				; SP,-1					400532' 105 17 0 00 777777
	JRST	L.42				; L.42					400533' 254 00 0 00 400520'		0480
L.44:	MOVE	AC0,-6(SP)			; AC0,RESULT				400534' 200 00 0 17 777772		0486
	MOVE	AC11,AC0			; AC11,AC0				400535' 200 11 0 00 000000		0487
	ADDI	AC11,1				; AC11,1				400536' 271 11 0 00 000001
	JUMPGE	AC10,L.45			; CHAR,L.45				400537' 325 10 0 00 400550'		0483
	MOVEI	AC1,3				; AC1,3					400540' 201 01 0 00 000003		0486
	MOVE	AC2,AC0				; AC2,AC0				400541' 200 02 0 00 000000
	MOVEM	AC1,0(AC2)			; AC1,0(AC2)				400542' 202 01 0 02 000000
	HRROI	AC1,-2				; AC1,-2				400543' 561 01 0 00 777776		0487
	MOVEM	AC1,0(AC11)			; AC1,0(AC11)				400544' 202 01 0 11 000000
	HRROI	AC0,-2				; AC0,-2				400545' 561 00 0 00 777776		0488
	MOVEM	AC0,0(AC12)			; AC0,0(AC12)				400546' 202 00 0 12 000000
	JRST	L.56				; L.56					400547' 254 00 0 00 400661'		0483
L.45:	PUSH	SP,AC10				; SP,CHAR				400550' 261 17 0 00 000010		0493
	PUSHJ	SP,CLASS			; SP,CLASS				400551' 260 17 0 00 400414'
	SUBI	AC1,1				; AC1,1					400552' 275 01 0 00 000001
	JRST	L.46(AC1)			; L.46(AC1)				400553' 254 00 0 01 400554'
L.46:	JRST	L.47				; L.47					400554' 254 00 0 00 400560'
	JRST	L.49				; L.49					400555' 254 00 0 00 400611'
	JRST	L.52				; L.52					400556' 254 00 0 00 400646'
	JRST	L.53				; L.53					400557' 254 00 0 00 400653'
L.47:	MOVEI	AC1,1				; AC1,1					400560' 201 01 0 00 000001		0498
	MOVE	AC2,AC0				; AC2,AC0				400561' 200 02 0 00 000000
	MOVEM	AC1,0(AC2)			; AC1,0(AC2)				400562' 202 01 0 02 000000
	MOVE	AC1,AC11			; AC1,AC11				400563' 200 01 0 00 000011		0499
	MOVEI	AC1,-1(AC1)			; AC1,-1(AC1)				400564' 201 01 0 01 777777
	HRLI	AC1,100700			; AC1,100700				400565' 505 01 0 00 100700
	MOVE	AC0,AC1				; SCAN_POINTER,AC1			400566' 200 00 0 00 000001
L.48:	IBP	AC0				; SCAN_POINTER				400567' 133 00 0 00 000000		0503
	MOVE	AC1,AC0				; AC1,SCAN_POINTER			400570' 200 01 0 00 000000
	IDPB	AC10,AC1			; CHAR,AC1				400571' 136 10 0 00 000001
	PUSH	SP,-12(SP)			; SP,FILE_CHAN				400572' 261 17 0 17 777766		0504
	PUSHJ	SP,INPUT			; SP,INPUT				400573' 260 17 0 00 000000*
	MOVE	AC10,AC1			; CHAR,AC1				400574' 200 10 0 00 000001
	ADJSP	SP,-1				; SP,-1					400575' 105 17 0 00 777777		0502
	MOVEM	AC10,0(SP)			; CHAR,0(SP)				400576' 202 10 0 17 000000		0506
	PUSHJ	SP,CLASS			; SP,CLASS				400577' 260 17 0 00 400414'
	CAIG	AC1,2				; AC1,2					400600' 307 01 0 00 000002
	JRST	L.48				; L.48					400601' 254 00 0 00 400567'		0501
	SETZ	AC1,				; AC1,					400602' 400 01 0 00 000000		0508
	IBP	AC0				; SCAN_POINTER				400603' 133 00 0 00 000000
	MOVE	AC2,AC0				; AC2,SCAN_POINTER			400604' 200 02 0 00 000000
	IDPB	AC1,AC2				; AC1,AC2				400605' 136 01 0 00 000002
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  22
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (4)

	MOVE	AC1,-10(SP)			; AC1,SAVE_CHAR				400606' 200 01 0 17 777770		0509
	MOVEM	AC10,0(AC1)			; CHAR,0(AC1)				400607' 202 10 0 01 000000
	JRST	L.55				; L.55					400610' 254 00 0 00 400660'		0493
L.49:	MOVEI	AC1,2				; AC1,2					400611' 201 01 0 00 000002		0514
	MOVE	AC2,AC0				; AC2,AC0				400612' 200 02 0 00 000000
	MOVEM	AC1,0(AC2)			; AC1,0(AC2)				400613' 202 01 0 02 000000
	SETZB	AC0,AC13			; OCTAL_NUM,DECIMAL_NUM			400614' 403 00 0 00 000013		0515
L.50:	MOVE	AC1,AC0				; AC1,OCTAL_NUM				400615' 200 01 0 00 000000		0520
	IMULI	AC1,10				; AC1,10				400616' 221 01 0 00 000010
	ADD	AC1,AC10			; AC1,CHAR				400617' 270 01 0 00 000010
	MOVE	AC0,AC1				; OCTAL_NUM,AC1				400620' 200 00 0 00 000001
	SUBI	AC0,60				; OCTAL_NUM,60				400621' 275 00 0 00 000060
	MOVE	AC1,AC13			; AC1,DECIMAL_NUM			400622' 200 01 0 00 000013		0521
	IMULI	AC1,12				; AC1,12				400623' 221 01 0 00 000012
	ADD	AC1,AC10			; AC1,CHAR				400624' 270 01 0 00 000010
	MOVE	AC13,AC1			; DECIMAL_NUM,AC1			400625' 200 13 0 00 000001
	SUBI	AC13,60				; DECIMAL_NUM,60			400626' 275 13 0 00 000060
	PUSH	SP,-12(SP)			; SP,FILE_CHAN				400627' 261 17 0 17 777766		0522
	PUSHJ	SP,INPUT			; SP,INPUT				400630' 260 17 0 00 000000*
	MOVE	AC10,AC1			; CHAR,AC1				400631' 200 10 0 00 000001
	ADJSP	SP,-1				; SP,-1					400632' 105 17 0 00 777777		0519
	MOVEM	AC10,0(SP)			; CHAR,0(SP)				400633' 202 10 0 17 000000		0524
	PUSHJ	SP,CLASS			; SP,CLASS				400634' 260 17 0 00 400414'
	CAIN	AC1,2				; AC1,2					400635' 306 01 0 00 000002
	JRST	L.50				; L.50					400636' 254 00 0 00 400615'		0518
	CAIE	AC10,56				; CHAR,56				400637' 302 10 0 00 000056		0526
	JRST	L.51				; L.51					400640' 254 00 0 00 400643'
	MOVEM	AC13,0(AC11)			; DECIMAL_NUM,0(AC11)			400641' 202 13 0 11 000000		0529
	JRST	L.54				; L.54					400642' 254 00 0 00 400657'
L.51:	MOVEM	AC0,0(AC11)			; OCTAL_NUM,0(AC11)			400643' 202 00 0 11 000000		0534
	MOVEM	AC10,0(AC12)			; CHAR,0(AC12)				400644' 202 10 0 12 000000		0535
	JRST	L.55				; L.55					400645' 254 00 0 00 400660'		0493
L.52:	MOVEI	AC1,3				; AC1,3					400646' 201 01 0 00 000003		0542
	MOVE	AC2,AC0				; AC2,AC0				400647' 200 02 0 00 000000
	MOVEM	AC1,0(AC2)			; AC1,0(AC2)				400650' 202 01 0 02 000000
	MOVEM	AC10,0(AC11)			; CHAR,0(AC11)				400651' 202 10 0 11 000000		0543
	JRST	L.54				; L.54					400652' 254 00 0 00 400657'
L.53:	MOVEI	AC1,3				; AC1,3					400653' 201 01 0 00 000003		0549
	MOVE	AC2,AC0				; AC2,AC0				400654' 200 02 0 00 000000
	MOVEM	AC1,0(AC2)			; AC1,0(AC2)				400655' 202 01 0 02 000000
	SETOM	0(AC11)				; 0(AC11)				400656' 476 00 0 11 000000		0550
L.54:	SETOM	0(AC12)				; 0(AC12)				400657' 476 00 0 12 000000		0551
L.55:	ADJSP	SP,-1				; SP,-1					400660' 105 17 0 00 777777		0491
L.56:	POP	SP,AC13				; SP,AC13				400661' 262 17 0 00 000013		0417
	POP	SP,AC12				; SP,AC12				400662' 262 17 0 00 000012
	POP	SP,AC11				; SP,AC11				400663' 262 17 0 00 000011
	POP	SP,AC10				; SP,AC10				400664' 262 17 0 00 000010
	POP	SP,AC0				; SP,AC0				400665' 262 17 0 00 000000
	POPJ	SP,				; SP,					400666' 263 17 0 00 000000
C.21:	EXP	-2				; -2					400667' 777777	777776
C.22:	XWD	0,P.AAI				; 0,P.AAI				400670' 000000	400472'
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  23
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (4)

; Routine Size:  118 words
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  24
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (5)

;	  0591	ROUTINE R_SYS (FILE_CHAN, FILE_PTR, SAVE_CHAR, VALUES) : NOVALUE = 	!READ SYS$DF LINE
;	  0592	
;	  0593	!++
;	  0594	! FUNCTIONAL DESCRIPTION:
;	  0595	!
;	  0596	!	READ AND PROCESS THE SYS$DF LINE OF CETAB.MAC
;	  0597	!
;	  0598	! FORMAL PARAMETERS:
;	  0599	!
;	  0600	!	FILE_CHAN - CHANNEL NUMBER ON WHICH TO READ
;	  0601	!	FILE_PTR - FILE BLOCK WITH FILE NAME FILLED IN
;	  0602	!	SAVE_CHAR - ADDRESS OF CHARACTER SAVED FROM LAST CALL TO SCAN
;	  0603	!	VALUES - BLOCK INTO WHICH TO STORE RESULTS
;	  0604	!
;	  0605	! IMPLICIT INPUTS:
;	  0606	!
;	  0607	!	NONE
;	  0608	!
;	  0609	! IMPLICIT OUTPUTS:
;	  0610	!
;	  0611	!	NONE
;	  0612	!
;	  0613	! ROUTINE VALUE:
;	  0614	!
;	  0615	!	NONE
;	  0616	!
;	  0617	! SIDE EFFECTS
;	  0618	!
;	  0619	!	READS THE REMAINDER OF THE LINE FROM CETAB.MAC
;	  0620	!
;	  0621	!--
;	  0622	
;	  0623	    BEGIN
;	  0624	
;	  0625	    BIND
;	  0626		ROUTINE_NAME = UPLIT (%ASCIZ'READ-SYS$DF');
;	  0627	
;	  0628	    MAP
;	  0629		FILE_PTR : REF FILE_BLOCK,
;	  0630		VALUES : REF VNPVAL_BLOCK;
;	  0631	
;	  0632	    LOCAL
;	  0633		RESULT : VECTOR [20],
;	  0634		VAL_POINTER;
;	  0635	
;	  0636	!
;	  0637	! SCAN EACH ARGUMENT OF SYS$DF, PUTTING IT INTO THE 'VALUES' BLOCK.
;	  0638	!
;	  0639	    VAL_POINTER = 1;
;	  0640	
;	  0641	    WHILE (.VAL_POINTER LEQ 2) DO
;	  0642		BEGIN
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  25
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (5)

;	  0643		SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  0644	
;	  0645		CASE .VAL_POINTER FROM 1 TO 2 OF
;	  0646		    SET
;	  0647	
;	  0648		    [1] : 				!Node Name
;	  0649			BEGIN
;	  0650	
;	  0651			IF (.RESULT [RESULT_TYPE] NEQ RT_NAME)
;	  0652			THEN
;	  0653			    ERRMSG (0, 24, ROUTINE_NAME,
;	  0654				FILE_PTR [FILE_NAME], 0, 0, 0)
;	  0655			ELSE
;	  0656			    CH$MOVE (LEN_NODE_NAME, CH$PTR (RESULT [RESULT_VALUE]), CH$PTR (VALUES [NODNAM]));
;	  0657	
;	  0658			END;
;	  0659	
;	  0660		    [2] : 				!Node Address
;	  0661			BEGIN
;	  0662	
;	  0663			IF (.RESULT [RESULT_TYPE] NEQ RT_NUMBER)
;	  0664			THEN
;	  0665			    ERRMSG (0, 24, ROUTINE_NAME,
;	  0666				FILE_PTR [FILE_NAME], 0, 0, 0)
;	  0667			ELSE
;	  0668			    VALUES [NODNM] = .RESULT [RESULT_VALUE];
;	  0669	
;	  0670			END;
;	  0671		    TES;
;	  0672	
;	  0673		VAL_POINTER = .VAL_POINTER + 1;
;	  0674	
;	  0675		IF (.VAL_POINTER LEQ 2)
;	  0676		THEN
;	  0677		    BEGIN
;	  0678		    SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  0679	
;	  0680		    IF ((.RESULT [RESULT_TYPE] NEQ RT_SPECIAL) OR (.RESULT [RESULT_VALUE] NEQ %C','))
;	  0681		    THEN
;	  0682			ERRMSG (0,
;	  0683			    24, ROUTINE_NAME, FILE_PTR [FILE_NAME], 0, 0, 0);
;	  0684	
;	  0685		    END;
;	  0686	
;	  0687		END;
;	  0688	
;	  0689	!
;	  0690	! FINISHED WITH SYS$DF, SKIP TO END OF LINE
;	  0691	!
;	  0692	
;	  0693	    DO
;	  0694		SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT)
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  26
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (5)

;	  0695	    UNTIL ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0));
;	  0696	
;	  0697	    END;					!OF R_SYS


P.AAL:	BYTE	(7)"R","E","A","D","-"		; READ-					400671' 122 105 101 104 055
	BYTE	(7)"S","Y","S","$","D"		; SYS$D					400672' 123 131 123 044 104
	BYTE	(7)"F",000,000,000,000		; F					400673' 106 000 000 000 000


ROUTINE_NAME=	    P.AAL			;						000000	400671'


R_SYS:	PUSH	SP,AC0				; SP,AC0				400674' 261 17 0 00 000000		0591
	PUSH	SP,AC10				; SP,AC10				400675' 261 17 0 00 000010
	ADJSP	SP,24				; SP,24					400676' 105 17 0 00 000024
	MOVEI	AC0,1				; VAL_POINTER,1				400677' 201 00 0 00 000001		0639
	MOVE	AC10,-31(SP)			; AC10,FILE_PTR				400700' 200 10 0 17 777747		0643
L.57:	CAILE	AC0,2				; VAL_POINTER,2				400701' 303 00 0 00 000002		0641
	JRST	L.67				; L.67					400702' 254 00 0 00 401011'
	PUSH	SP,-32(SP)			; SP,FILE_CHAN				400703' 261 17 0 17 777746		0643
	PUSH	SP,AC10				; SP,AC10				400704' 261 17 0 00 000010
	PUSH	SP,-32(SP)			; SP,SAVE_CHAR				400705' 261 17 0 17 777746
	MOVEI	AC1,-26(SP)			; AC1,RESULT				400706' 201 01 0 17 777752
	PUSH	SP,AC1				; SP,AC1				400707' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				400710' 260 17 0 00 400503'
	MOVE	AC1,-27(SP)			; AC1,RESULT				400711' 200 01 0 17 777751		0651
	MOVE	AC2,AC0				; AC2,VAL_POINTER			400712' 200 02 0 00 000000		0645
	SUBI	AC2,1				; AC2,1					400713' 275 02 0 00 000001
	JRST	L.58(AC2)			; L.58(AC2)				400714' 254 00 0 02 400715'
L.58:	JRST	L.59				; L.59					400715' 254 00 0 00 400717'
	JRST	L.60				; L.60					400716' 254 00 0 00 400733'
L.59:	CAIE	AC1,1				; AC1,1					400717' 302 01 0 00 000001		0651
	JRST	L.61				; L.61					400720' 254 00 0 00 400735'
	MOVEI	AC2,-27(SP)			; AC2,RESULT				400721' 201 02 0 17 777751		0656
	HRLI	AC2,10700			; AC2,10700				400722' 505 02 0 00 010700
	MOVE	AC1,-33(SP)			; AC1,VALUES				400723' 200 01 0 17 777745
	MOVEI	AC5,112(AC1)			; AC5,112(AC1)				400724' 201 05 0 01 000112
	HRLI	AC5,10700			; AC5,10700				400725' 505 05 0 00 010700
	MOVEI	AC1,6				; AC1,6					400726' 201 01 0 00 000006
	MOVEI	AC4,6				; AC4,6					400727' 201 04 0 00 000006
	EXTEND	AC1,C.23			; AC1,[MOVSLJ ]				400730' 123 01 0 00 401030'
	JFCL					; 					400731' 255 00 0 00 000000
	JRST	L.63				; L.63					400732' 254 00 0 00 400754'		0645
L.60:	CAIN	AC1,2				; AC1,2					400733' 306 01 0 00 000002		0663
	JRST	L.62				; L.62					400734' 254 00 0 00 400751'
L.61:	SETZM	0(SP)				; 0(SP)					400735' 402 00 0 17 000000		0665
	PUSH	SP,C.7				; SP,[30]				400736' 261 17 0 00 400374'
	PUSH	SP,C.24				; SP,[0,,ROUTINE_NAME]			400737' 261 17 0 00 401031'
	MOVE	AC1,AC10			; AC1,AC10				400740' 200 01 0 00 000010		0666
	ADDI	AC1,2				; AC1,2					400741' 271 01 0 00 000002
	PUSH	SP,AC1				; SP,AC1				400742' 261 17 0 00 000001
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  27
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (5)

	PUSH	SP,C.4				; SP,[0]				400743' 261 17 0 00 400371'		0665
	PUSH	SP,C.4				; SP,[0]				400744' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				400745' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				400746' 260 17 0 00 000000*
	ADJSP	SP,-6				; SP,-6					400747' 105 17 0 00 777772
	JRST	L.63				; L.63					400750' 254 00 0 00 400754'		0663
L.62:	MOVE	AC1,-33(SP)			; AC1,VALUES				400751' 200 01 0 17 777745		0668
	MOVE	AC2,-26(SP)			; AC2,RESULT+1				400752' 200 02 0 17 777752
	HRRM	AC2,115(AC1)			; AC2,115(AC1)				400753' 542 02 0 01 000115
L.63:	ADDI	AC0,1				; VAL_POINTER,1				400754' 271 00 0 00 000001		0673
	CAILE	AC0,2				; VAL_POINTER,2				400755' 303 00 0 00 000002		0675
	JRST	L.66				; L.66					400756' 254 00 0 00 401007'
	PUSH	SP,-36(SP)			; SP,FILE_CHAN				400757' 261 17 0 17 777742		0678
	PUSH	SP,AC10				; SP,AC10				400760' 261 17 0 00 000010
	PUSH	SP,-36(SP)			; SP,SAVE_CHAR				400761' 261 17 0 17 777742
	MOVEI	AC1,-32(SP)			; AC1,RESULT				400762' 201 01 0 17 777746
	PUSH	SP,AC1				; SP,AC1				400763' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				400764' 260 17 0 00 400503'
	MOVEI	AC1,3				; AC1,3					400765' 201 01 0 00 000003		0680
	CAME	AC1,-33(SP)			; AC1,RESULT				400766' 312 01 0 17 777745
	JRST	L.64				; L.64					400767' 254 00 0 00 400773'
	MOVEI	AC1,54				; AC1,54				400770' 201 01 0 00 000054
	CAMN	AC1,-32(SP)			; AC1,RESULT+1				400771' 316 01 0 17 777746
	JRST	L.65				; L.65					400772' 254 00 0 00 401006'
L.64:	SETZM	0(SP)				; 0(SP)					400773' 402 00 0 17 000000		0682
	PUSH	SP,C.7				; SP,[30]				400774' 261 17 0 00 400374'
	PUSH	SP,C.24				; SP,[0,,ROUTINE_NAME]			400775' 261 17 0 00 401031'
	MOVE	AC1,AC10			; AC1,AC10				400776' 200 01 0 00 000010		0683
	ADDI	AC1,2				; AC1,2					400777' 271 01 0 00 000002
	PUSH	SP,AC1				; SP,AC1				401000' 261 17 0 00 000001
	PUSH	SP,C.4				; SP,[0]				401001' 261 17 0 00 400371'		0682
	PUSH	SP,C.4				; SP,[0]				401002' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401003' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				401004' 260 17 0 00 000000*
	ADJSP	SP,-6				; SP,-6					401005' 105 17 0 00 777772
L.65:	ADJSP	SP,-4				; SP,-4					401006' 105 17 0 00 777774		0677
L.66:	ADJSP	SP,-4				; SP,-4					401007' 105 17 0 00 777774		0642
	JRST	L.57				; L.57					401010' 254 00 0 00 400701'		0641
L.67:	PUSH	SP,-32(SP)			; SP,FILE_CHAN				401011' 261 17 0 17 777746		0694
	PUSH	SP,AC10				; SP,AC10				401012' 261 17 0 00 000010
	PUSH	SP,-32(SP)			; SP,SAVE_CHAR				401013' 261 17 0 17 777746
	MOVEI	AC0,-26(SP)			; AC0,RESULT				401014' 201 00 0 17 777752
	PUSH	SP,AC0				; SP,AC0				401015' 261 17 0 00 000000
	PUSHJ	SP,SCAN				; SP,SCAN				401016' 260 17 0 00 400503'
	ADJSP	SP,-4				; SP,-4					401017' 105 17 0 00 777774
	MOVEI	AC0,3				; AC0,3					401020' 201 00 0 00 000003		0695
	CAMN	AC0,-23(SP)			; AC0,RESULT				401021' 316 00 0 17 777755
	SKIPL	-22(SP)				; RESULT+1				401022' 331 00 0 17 777756
	JRST	L.67				; L.67					401023' 254 00 0 00 401011'		0693
	ADJSP	SP,-24				; SP,-24				401024' 105 17 0 00 777754		0591
	POP	SP,AC10				; SP,AC10				401025' 262 17 0 00 000010
	POP	SP,AC0				; SP,AC0				401026' 262 17 0 00 000000
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  28
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (5)

	POPJ	SP,				; SP,					401027' 263 17 0 00 000000
C.23:	MOVSLJ					; 					401030' 016 00 0 00 000000
C.24:	XWD	0,ROUTINE_NAME			; 0,ROUTINE_NAME			401031' 000000	400671'

; Routine Size:  94 words
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  29
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (6)

;	  0698	ROUTINE R_MEM (FILE_CHAN, FILE_PTR, SAVE_CHAR, VALUES) : NOVALUE = 	!READ BUF$DF LINE
;	  0699	
;	  0700	!++
;	  0701	! FUNCTIONAL DESCRIPTION:
;	  0702	!
;	  0703	!	READ AND PROCESS THE MEM$DF LINE OF CETAB.MAC
;	  0704	!
;	  0705	! FORMAL PARAMETERS:
;	  0706	!
;	  0707	!	FILE_CHAN - CHANNEL NUMBER ON WHICH TO READ
;	  0708	!	FILE_PTR - FILE BLOCK WITH FILE NAME FILLED IN
;	  0709	!	SAVE_CHAR - ADDRESS OF CHARACTER SAVED FROM LAST CALL TO SCAN
;	  0710	!	VALUES - BLOCK INTO WHICH TO STORE RESULTS
;	  0711	!
;	  0712	! IMPLICIT INPUTS:
;	  0713	!
;	  0714	!	NONE
;	  0715	!
;	  0716	! IMPLICIT OUTPUTS:
;	  0717	!
;	  0718	!	NONE
;	  0719	!
;	  0720	! ROUTINE VALUE:
;	  0721	!
;	  0722	!	NONE
;	  0723	!
;	  0724	! SIDE EFFECTS
;	  0725	!
;	  0726	!	READS THE REMAINDER OF THE LINE FROM CETAB.MAC
;	  0727	!
;	  0728	!--
;	  0729	
;	  0730	    BEGIN
;	  0731	
;	  0732	    BIND
;	  0733		ROUTINE_NAME = UPLIT (%ASCIZ'READ-MEM$DF');
;	  0734	
;	  0735	    MAP
;	  0736		FILE_PTR : REF FILE_BLOCK,
;	  0737		VALUES : REF VNPVAL_BLOCK;
;	  0738	
;	  0739	    LOCAL
;	  0740		RESULT : VECTOR [20],
;	  0741		VAL_POINTER;
;	  0742	
;	  0743	!
;	  0744	! SCAN EACH ARGUMENT OF MEM$DF, PUTTING IT INTO THE 'VALUES' BLOCK.
;	  0745	!
;	  0746	    VAL_POINTER = 1;
;	  0747	
;	  0748	    WHILE (.VAL_POINTER LEQ 2) DO
;	  0749		BEGIN
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  30
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (6)

;	  0750		SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  0751	
;	  0752		IF (.RESULT [RESULT_TYPE] NEQ RT_NUMBER)
;	  0753		THEN
;	  0754		    ERRMSG (0, 24, ROUTINE_NAME, FILE_PTR [FILE_NAME], 0,
;	  0755			0, 0)
;	  0756		ELSE
;	  0757		    BEGIN
;	  0758	
;	  0759		    CASE .VAL_POINTER FROM 1 TO 2 OF
;	  0760			SET
;	  0761	
;	  0762			[1] :
;	  0763			    VALUES [DSR] = .RESULT [RESULT_VALUE];
;	  0764	
;	  0765			[2] :
;	  0766			    VALUES [COR] = .RESULT [RESULT_VALUE];
;	  0767	
;	  0768			TES;
;	  0769	
;	  0770		    VAL_POINTER = .VAL_POINTER + 1;
;	  0771	
;	  0772		    IF (.VAL_POINTER LEQ 2)
;	  0773		    THEN
;	  0774			BEGIN
;	  0775			SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  0776	
;	  0777			IF ((.RESULT [RESULT_TYPE] NEQ RT_SPECIAL) OR (.RESULT [RESULT_VALUE] NEQ %C','))
;	  0778			THEN
;	  0779			    ERRMSG (0, 24, ROUTINE_NAME, FILE_PTR [FILE_NAME], 0, 0, 0);
;	  0780	
;	  0781			END;
;	  0782	
;	  0783		    END;
;	  0784	
;	  0785		END;
;	  0786	
;	  0787	!
;	  0788	! FINISHED WITH MEM$DF, SKIP TO END OF LINE
;	  0789	!
;	  0790	
;	  0791	    DO
;	  0792		SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT)
;	  0793	    UNTIL ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0));
;	  0794	
;	  0795	    END;					!OF R_MEM


P.AAM:	BYTE	(7)"R","E","A","D","-"		; READ-					401032' 122 105 101 104 055
	BYTE	(7)"M","E","M","$","D"		; MEM$D					401033' 115 105 115 044 104
	BYTE	(7)"F",000,000,000,000		; F					401034' 106 000 000 000 000
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  31
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (6)


ROUTINE_NAME=	    P.AAM			;						000000	401032'


R_MEM:	PUSH	SP,AC0				; SP,AC0				401035' 261 17 0 00 000000		0698
	PUSH	SP,AC10				; SP,AC10				401036' 261 17 0 00 000010
	ADJSP	SP,24				; SP,24					401037' 105 17 0 00 000024
	MOVEI	AC0,1				; VAL_POINTER,1				401040' 201 00 0 00 000001		0746
	MOVE	AC10,-31(SP)			; AC10,FILE_PTR				401041' 200 10 0 17 777747		0750
L.68:	CAILE	AC0,2				; VAL_POINTER,2				401042' 303 00 0 00 000002		0748
	JRST	L.77				; L.77					401043' 254 00 0 00 401141'
	PUSH	SP,-32(SP)			; SP,FILE_CHAN				401044' 261 17 0 17 777746		0750
	PUSH	SP,AC10				; SP,AC10				401045' 261 17 0 00 000010
	PUSH	SP,-32(SP)			; SP,SAVE_CHAR				401046' 261 17 0 17 777746
	MOVEI	AC1,-26(SP)			; AC1,RESULT				401047' 201 01 0 17 777752
	PUSH	SP,AC1				; SP,AC1				401050' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				401051' 260 17 0 00 400503'
	MOVEI	AC1,2				; AC1,2					401052' 201 01 0 00 000002		0752
	CAMN	AC1,-27(SP)			; AC1,RESULT				401053' 316 01 0 17 777751
	JRST	L.69				; L.69					401054' 254 00 0 00 401071'
	SETZM	0(SP)				; 0(SP)					401055' 402 00 0 17 000000		0754
	PUSH	SP,C.7				; SP,[30]				401056' 261 17 0 00 400374'
	PUSH	SP,C.25				; SP,[0,,ROUTINE_NAME]			401057' 261 17 0 00 401160'
	MOVE	AC1,AC10			; AC1,AC10				401060' 200 01 0 00 000010
	ADDI	AC1,2				; AC1,2					401061' 271 01 0 00 000002
	PUSH	SP,AC1				; SP,AC1				401062' 261 17 0 00 000001
	PUSH	SP,C.4				; SP,[0]				401063' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401064' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401065' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				401066' 260 17 0 00 000000*
	ADJSP	SP,-6				; SP,-6					401067' 105 17 0 00 777772
	JRST	L.76				; L.76					401070' 254 00 0 00 401137'		0752
L.69:	MOVE	AC1,-33(SP)			; AC1,VALUES				401071' 200 01 0 17 777745		0763
	MOVE	AC2,AC0				; AC2,VAL_POINTER			401072' 200 02 0 00 000000		0759
	SUBI	AC2,1				; AC2,1					401073' 275 02 0 00 000001
	JRST	L.70(AC2)			; L.70(AC2)				401074' 254 00 0 02 401075'
L.70:	JRST	L.71				; L.71					401075' 254 00 0 00 401077'
	JRST	L.72				; L.72					401076' 254 00 0 00 401102'
L.71:	MOVE	AC2,-26(SP)			; AC2,RESULT+1				401077' 200 02 0 17 777752		0763
	HRLM	AC2,115(AC1)			; AC2,115(AC1)				401100' 506 02 0 01 000115
	JRST	L.73				; L.73					401101' 254 00 0 00 401104'		0759
L.72:	MOVE	AC2,-26(SP)			; AC2,RESULT+1				401102' 200 02 0 17 777752		0766
	HRRM	AC2,116(AC1)			; AC2,116(AC1)				401103' 542 02 0 01 000116
L.73:	ADDI	AC0,1				; VAL_POINTER,1				401104' 271 00 0 00 000001		0770
	CAILE	AC0,2				; VAL_POINTER,2				401105' 303 00 0 00 000002		0772
	JRST	L.76				; L.76					401106' 254 00 0 00 401137'
	PUSH	SP,-36(SP)			; SP,FILE_CHAN				401107' 261 17 0 17 777742		0775
	PUSH	SP,AC10				; SP,AC10				401110' 261 17 0 00 000010
	PUSH	SP,-36(SP)			; SP,SAVE_CHAR				401111' 261 17 0 17 777742
	MOVEI	AC1,-32(SP)			; AC1,RESULT				401112' 201 01 0 17 777746
	PUSH	SP,AC1				; SP,AC1				401113' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				401114' 260 17 0 00 400503'
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  32
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (6)

	MOVEI	AC1,3				; AC1,3					401115' 201 01 0 00 000003		0777
	CAME	AC1,-33(SP)			; AC1,RESULT				401116' 312 01 0 17 777745
	JRST	L.74				; L.74					401117' 254 00 0 00 401123'
	MOVEI	AC1,54				; AC1,54				401120' 201 01 0 00 000054
	CAMN	AC1,-32(SP)			; AC1,RESULT+1				401121' 316 01 0 17 777746
	JRST	L.75				; L.75					401122' 254 00 0 00 401136'
L.74:	SETZM	0(SP)				; 0(SP)					401123' 402 00 0 17 000000		0779
	PUSH	SP,C.7				; SP,[30]				401124' 261 17 0 00 400374'
	PUSH	SP,C.25				; SP,[0,,ROUTINE_NAME]			401125' 261 17 0 00 401160'
	MOVE	AC1,AC10			; AC1,AC10				401126' 200 01 0 00 000010
	ADDI	AC1,2				; AC1,2					401127' 271 01 0 00 000002
	PUSH	SP,AC1				; SP,AC1				401130' 261 17 0 00 000001
	PUSH	SP,C.4				; SP,[0]				401131' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401132' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401133' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				401134' 260 17 0 00 000000*
	ADJSP	SP,-6				; SP,-6					401135' 105 17 0 00 777772
L.75:	ADJSP	SP,-4				; SP,-4					401136' 105 17 0 00 777774		0774
L.76:	ADJSP	SP,-4				; SP,-4					401137' 105 17 0 00 777774		0749
	JRST	L.68				; L.68					401140' 254 00 0 00 401042'		0748
L.77:	PUSH	SP,-32(SP)			; SP,FILE_CHAN				401141' 261 17 0 17 777746		0792
	PUSH	SP,AC10				; SP,AC10				401142' 261 17 0 00 000010
	PUSH	SP,-32(SP)			; SP,SAVE_CHAR				401143' 261 17 0 17 777746
	MOVEI	AC0,-26(SP)			; AC0,RESULT				401144' 201 00 0 17 777752
	PUSH	SP,AC0				; SP,AC0				401145' 261 17 0 00 000000
	PUSHJ	SP,SCAN				; SP,SCAN				401146' 260 17 0 00 400503'
	ADJSP	SP,-4				; SP,-4					401147' 105 17 0 00 777774
	MOVEI	AC0,3				; AC0,3					401150' 201 00 0 00 000003		0793
	CAMN	AC0,-23(SP)			; AC0,RESULT				401151' 316 00 0 17 777755
	SKIPL	-22(SP)				; RESULT+1				401152' 331 00 0 17 777756
	JRST	L.77				; L.77					401153' 254 00 0 00 401141'		0791
	ADJSP	SP,-24				; SP,-24				401154' 105 17 0 00 777754		0698
	POP	SP,AC10				; SP,AC10				401155' 262 17 0 00 000010
	POP	SP,AC0				; SP,AC0				401156' 262 17 0 00 000000
	POPJ	SP,				; SP,					401157' 263 17 0 00 000000
C.25:	XWD	0,ROUTINE_NAME			; 0,ROUTINE_NAME			401160' 000000	401032'

; Routine Size:  84 words
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  33
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (7)

;	  0796	ROUTINE R_PRC (FILE_CHAN, FILE_PTR, SAVE_CHAR, VALUES) : NOVALUE = 	!Read PRC$DF Line
;	  0797	
;	  0798	!++
;	  0799	! FUNCTIONAL DESCRIPTION:
;	  0800	!
;	  0801	!	Read and process the PRC$DF line of CETAB.MAC
;	  0802	!
;	  0803	! FORMAL PARAMETERS:
;	  0804	!
;	  0805	!	FILE_CHAN - Channel Number On Which To Read
;	  0806	!	FILE_PTR - File Block With File Name Filled In
;	  0807	!	SAVE_CHAR - Address Of Character Saved From Last Call To Scan
;	  0808	!	VALUES - Block Into Which To Store Results
;	  0809	!
;	  0810	! IMPLICIT INPUTS:
;	  0811	!
;	  0812	!	NONE
;	  0813	!
;	  0814	! IMPLICIT OUTPUTS:
;	  0815	!
;	  0816	!	Chain of MCB Process blocks added to VALUES[MCB_CHAIN]
;	  0817	!
;	  0818	! ROUTINE VALUE:
;	  0819	!
;	  0820	!	NONE
;	  0821	!
;	  0822	! SIDE EFFECTS
;	  0823	!
;	  0824	!	Reads the remainder of the line from CETAB.MAC
;	  0825	!
;	  0826	!--
;	  0827	
;	  0828	    BEGIN
;	  0829	
;	  0830	    BIND
;	  0831		ROUTINE_NAME = UPLIT (%ASCIZ'READ-PRC$DF');
;	  0832	
;	  0833	    MAP
;	  0834		FILE_PTR : REF FILE_BLOCK,
;	  0835		VALUES : REF VNPVAL_BLOCK;
;	  0836	
;	  0837	    LOCAL
;	  0838		RESULT : VECTOR [20],
;	  0839		VAL_POINTER,
;	  0840		CHAR,
;	  0841		SCAN_DONE,
;	  0842		STR_PTR,
;	  0843		MCB_PTR : REF VNPMCB_BLOCK;
;	  0844	
;	  0845	!
;	  0846	! Get a block to put the process information
;	  0847	!
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  34
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (7)

;	  0848	
;	  0849	    IF ((MCB_PTR = GETBLK (VNPMCB_TYP, VNPMCB_LEN)) EQL 0)
;	  0850	    THEN
;	  0851		ERRMSG (0, 1, ROUTINE_NAME, 0, 0, 0, 0)
;	  0852	    ELSE
;	  0853	
;	  0854		IF ((VALUES [MCB_CHAIN] = BLD_CHAIN (.VALUES, .VALUES [MCB_CHAIN], .MCB_PTR)) EQL 0)
;	  0855		THEN
;	  0856		    ERRMSG (0,
;	  0857			1, ROUTINE_NAME, 0, 0, 0, 0)
;	  0858		ELSE
;	  0859		    BEGIN
;	  0860	!
;	  0861	! Scan the PRC$DF line building a chain of MCB process names linked to
;	  0862	!  VALUES[MCB_CHAIN].
;	  0863	!
;	  0864		    VAL_POINTER = 1;
;	  0865		    SCAN_DONE = 0;
;	  0866	
;	  0867		    WHILE ((.VAL_POINTER LEQ 2) AND (.SCAN_DONE EQL 0)) DO
;	  0868			BEGIN
;	  0869			SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  0870	
;	  0871			IF (.RESULT [RESULT_TYPE] NEQ RT_NAME)
;	  0872			THEN
;	  0873			    ERRMSG (0, 24, ROUTINE_NAME,
;	  0874				FILE_PTR [FILE_NAME], 0, 0, 0)
;	  0875			ELSE
;	  0876			    BEGIN
;	  0877	
;	  0878			    CASE .VAL_POINTER FROM 1 TO 2 OF
;	  0879				SET
;	  0880	
;	  0881				[1] : 			!The process name
;	  0882				    CH$MOVE (LEN_MCB_NAME, CH$PTR (RESULT [RESULT_VALUE]),
;	  0883					CH$PTR (MCB_PTR [PROCESS_NAME]));
;	  0884	
;	  0885				[2] : 			!The device driver name
;	  0886				    CH$MOVE (LEN_MCB_DRV, CH$PTR (RESULT [RESULT_VALUE]),
;	  0887					CH$PTR (MCB_PTR [DEVICE_NAME]));
;	  0888				TES;
;	  0889	
;	  0890			    END;
;	  0891	
;	  0892			VAL_POINTER = .VAL_POINTER + 1;
;	  0893	
;	  0894			IF (.VAL_POINTER LEQ 2)
;	  0895			THEN
;	  0896			    BEGIN
;	  0897			    SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  0898	
;	  0899			    IF ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0))
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  35
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (7)

;	  0900			    THEN
;	  0901				SCAN_DONE = 1
;	  0902			    ELSE
;	  0903	
;	  0904				IF ((.RESULT [RESULT_TYPE] NEQ RT_SPECIAL) OR (.RESULT [RESULT_VALUE] NEQ %C','))
;	  0905				THEN
;	  0906				    ERRMSG (0, 24, ROUTINE_NAME, FILE_PTR [FILE_NAME], 0, 0, 0);
;	  0907	
;	  0908			    END;
;	  0909	
;	  0910			END;
;	  0911	
;	  0912		    END;
;	  0913	
;	  0914	!
;	  0915	! Read to End of PRC$DF Line
;	  0916	!
;	  0917	
;	  0918	    IF (.SCAN_DONE EQL 0)
;	  0919	    THEN
;	  0920	
;	  0921		DO
;	  0922		    SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT)
;	  0923		UNTIL ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0));
;	  0924	
;	  0925	    END;					!OF R_PRC


P.AAN:	BYTE	(7)"R","E","A","D","-"		; READ-					401161' 122 105 101 104 055
	BYTE	(7)"P","R","C","$","D"		; PRC$D					401162' 120 122 103 044 104
	BYTE	(7)"F",000,000,000,000		; F					401163' 106 000 000 000 000


ROUTINE_NAME=	    P.AAN			;						000000	401161'


R_PRC:	PUSH	SP,AC0				; SP,AC0				401164' 261 17 0 00 000000		0796
	PUSH	SP,AC10				; SP,AC10				401165' 261 17 0 00 000010
	PUSH	SP,AC11				; SP,AC11				401166' 261 17 0 00 000011
	PUSH	SP,AC12				; SP,AC12				401167' 261 17 0 00 000012
	ADJSP	SP,24				; SP,24					401170' 105 17 0 00 000024
	PUSH	SP,C.26				; SP,[27]				401171' 261 17 0 00 401371'		0849
	PUSH	SP,C.27				; SP,[4]				401172' 261 17 0 00 401372'
	PUSHJ	SP,GETBLK			; SP,GETBLK				401173' 260 17 0 00 000000*
	MOVE	AC0,AC1				; MCB_PTR,AC1				401174' 200 00 0 00 000001
	ADJSP	SP,-2				; SP,-2					401175' 105 17 0 00 777776
	JUMPE	AC0,L.78			; MCB_PTR,L.78				401176' 322 00 0 00 401210'
	MOVE	AC10,-31(SP)			; AC10,VALUES				401177' 200 10 0 17 777747		0854
	PUSH	SP,AC10				; SP,AC10				401200' 261 17 0 00 000010
	HLRZ	AC1,3(AC10)			; AC1,3(AC10)				401201' 554 01 0 10 000003
	PUSH	SP,AC1				; SP,AC1				401202' 261 17 0 00 000001
	PUSH	SP,AC0				; SP,MCB_PTR				401203' 261 17 0 00 000000
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  36
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (7)

	PUSHJ	SP,BLD_CHAIN			; SP,BLD_CHAIN				401204' 260 17 0 00 000000*
	ADJSP	SP,-3				; SP,-3					401205' 105 17 0 00 777775
	HRLM	AC1,3(AC10)			; AC1,3(AC10)				401206' 506 01 0 10 000003
	JUMPN	AC1,L.79			; AC1,L.79				401207' 326 01 0 00 401222'
L.78:	PUSH	SP,C.4				; SP,[0]				401210' 261 17 0 00 400371'		0856
	PUSH	SP,C.3				; SP,[1]				401211' 261 17 0 00 400370'
	PUSH	SP,C.28				; SP,[0,,ROUTINE_NAME]			401212' 261 17 0 00 401373'
	PUSH	SP,C.4				; SP,[0]				401213' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401214' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401215' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401216' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				401217' 260 17 0 00 000000*
	ADJSP	SP,-7				; SP,-7					401220' 105 17 0 00 777771
	JRST	L.91				; L.91					401221' 254 00 0 00 401347'		0854
L.79:	MOVEI	AC10,1				; VAL_POINTER,1				401222' 201 10 0 00 000001		0864
	SETZ	AC11,				; SCAN_DONE,				401223' 400 11 0 00 000000		0865
	MOVE	AC12,-33(SP)			; AC12,FILE_PTR				401224' 200 12 0 17 777745		0869
L.80:	CAILE	AC10,2				; VAL_POINTER,2				401225' 303 10 0 00 000002		0867
	JRST	L.91				; L.91					401226' 254 00 0 00 401347'
	JUMPN	AC11,L.91			; SCAN_DONE,L.91			401227' 326 11 0 00 401347'
	PUSH	SP,-34(SP)			; SP,FILE_CHAN				401230' 261 17 0 17 777744		0869
	PUSH	SP,AC12				; SP,AC12				401231' 261 17 0 00 000012
	PUSH	SP,-34(SP)			; SP,SAVE_CHAR				401232' 261 17 0 17 777744
	MOVEI	AC1,-26(SP)			; AC1,RESULT				401233' 201 01 0 17 777752
	PUSH	SP,AC1				; SP,AC1				401234' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				401235' 260 17 0 00 400503'
	MOVEI	AC1,1				; AC1,1					401236' 201 01 0 00 000001		0871
	CAMN	AC1,-27(SP)			; AC1,RESULT				401237' 316 01 0 17 777751
	JRST	L.81				; L.81					401240' 254 00 0 00 401255'
	SETZM	0(SP)				; 0(SP)					401241' 402 00 0 17 000000		0873
	PUSH	SP,C.7				; SP,[30]				401242' 261 17 0 00 400374'
	PUSH	SP,C.28				; SP,[0,,ROUTINE_NAME]			401243' 261 17 0 00 401373'
	MOVE	AC1,AC12			; AC1,AC12				401244' 200 01 0 00 000012		0874
	ADDI	AC1,2				; AC1,2					401245' 271 01 0 00 000002
	PUSH	SP,AC1				; SP,AC1				401246' 261 17 0 00 000001
	PUSH	SP,C.4				; SP,[0]				401247' 261 17 0 00 400371'		0873
	PUSH	SP,C.4				; SP,[0]				401250' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401251' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				401252' 260 17 0 00 000000*
	ADJSP	SP,-6				; SP,-6					401253' 105 17 0 00 777772
	JRST	L.86				; L.86					401254' 254 00 0 00 401305'		0871
L.81:	MOVEI	AC1,-27(SP)			; AC1,RESULT				401255' 201 01 0 17 777751		0882
	ADDI	AC1,1				; AC1,1					401256' 271 01 0 00 000001
	MOVE	AC2,AC10			; AC2,VAL_POINTER			401257' 200 02 0 00 000010		0878
	SUBI	AC2,1				; AC2,1					401260' 275 02 0 00 000001
	JRST	L.82(AC2)			; L.82(AC2)				401261' 254 00 0 02 401262'
L.82:	JRST	L.83				; L.83					401262' 254 00 0 00 401264'
	JRST	L.84				; L.84					401263' 254 00 0 00 401274'
L.83:	MOVEI	AC2,-1(AC1)			; AC2,-1(AC1)				401264' 201 02 0 01 777777		0882
	HRLI	AC2,10700			; AC2,10700				401265' 505 02 0 00 010700
	MOVE	AC1,AC0				; AC1,MCB_PTR				401266' 200 01 0 00 000000		0883
	MOVEI	AC5,0(AC1)			; AC5,0(AC1)				401267' 201 05 0 01 000000
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  37
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (7)

	HRLI	AC5,10700			; AC5,10700				401270' 505 05 0 00 010700
	MOVEI	AC1,3				; AC1,3					401271' 201 01 0 00 000003		0882
	MOVEI	AC4,3				; AC4,3					401272' 201 04 0 00 000003
	JRST	L.85				; L.85					401273' 254 00 0 00 401303'
L.84:	MOVEI	AC2,-1(AC1)			; AC2,-1(AC1)				401274' 201 02 0 01 777777		0886
	HRLI	AC2,10700			; AC2,10700				401275' 505 02 0 00 010700
	MOVE	AC1,AC0				; AC1,MCB_PTR				401276' 200 01 0 00 000000		0887
	MOVEI	AC5,1(AC1)			; AC5,1(AC1)				401277' 201 05 0 01 000001
	HRLI	AC5,10700			; AC5,10700				401300' 505 05 0 00 010700
	MOVEI	AC1,2				; AC1,2					401301' 201 01 0 00 000002		0886
	MOVEI	AC4,2				; AC4,2					401302' 201 04 0 00 000002
L.85:	EXTEND	AC1,C.23			; AC1,[MOVSLJ ]				401303' 123 01 0 00 401030'
	JFCL					; 					401304' 255 00 0 00 000000
L.86:	ADDI	AC10,1				; VAL_POINTER,1				401305' 271 10 0 00 000001		0892
	CAILE	AC10,2				; VAL_POINTER,2				401306' 303 10 0 00 000002		0894
	JRST	L.90				; L.90					401307' 254 00 0 00 401345'
	PUSH	SP,-40(SP)			; SP,FILE_CHAN				401310' 261 17 0 17 777740		0897
	PUSH	SP,AC12				; SP,AC12				401311' 261 17 0 00 000012
	PUSH	SP,-40(SP)			; SP,SAVE_CHAR				401312' 261 17 0 17 777740
	MOVEI	AC1,-32(SP)			; AC1,RESULT				401313' 201 01 0 17 777746
	PUSH	SP,AC1				; SP,AC1				401314' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				401315' 260 17 0 00 400503'
	MOVE	AC1,-33(SP)			; AC1,RESULT				401316' 200 01 0 17 777745		0899
	CAIN	AC1,3				; AC1,3					401317' 306 01 0 00 000003
	SKIPL	-32(SP)				; RESULT+1				401320' 331 00 0 17 777746
	JRST	L.87				; L.87					401321' 254 00 0 00 401324'
	MOVEI	AC11,1				; SCAN_DONE,1				401322' 201 11 0 00 000001		0901
	JRST	L.89				; L.89					401323' 254 00 0 00 401344'		0899
L.87:	CAIE	AC1,3				; AC1,3					401324' 302 01 0 00 000003		0904
	JRST	L.88				; L.88					401325' 254 00 0 00 401331'
	MOVEI	AC1,54				; AC1,54				401326' 201 01 0 00 000054
	CAMN	AC1,-32(SP)			; AC1,RESULT+1				401327' 316 01 0 17 777746
	JRST	L.89				; L.89					401330' 254 00 0 00 401344'
L.88:	SETZM	0(SP)				; 0(SP)					401331' 402 00 0 17 000000		0906
	PUSH	SP,C.7				; SP,[30]				401332' 261 17 0 00 400374'
	PUSH	SP,C.28				; SP,[0,,ROUTINE_NAME]			401333' 261 17 0 00 401373'
	MOVE	AC1,AC12			; AC1,AC12				401334' 200 01 0 00 000012
	ADDI	AC1,2				; AC1,2					401335' 271 01 0 00 000002
	PUSH	SP,AC1				; SP,AC1				401336' 261 17 0 00 000001
	PUSH	SP,C.4				; SP,[0]				401337' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401340' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401341' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				401342' 260 17 0 00 000000*
	ADJSP	SP,-6				; SP,-6					401343' 105 17 0 00 777772
L.89:	ADJSP	SP,-4				; SP,-4					401344' 105 17 0 00 777774		0896
L.90:	ADJSP	SP,-4				; SP,-4					401345' 105 17 0 00 777774		0868
	JRST	L.80				; L.80					401346' 254 00 0 00 401225'		0867
L.91:	JUMPN	AC11,L.93			; SCAN_DONE,L.93			401347' 326 11 0 00 401363'		0918
L.92:	PUSH	SP,-34(SP)			; SP,FILE_CHAN				401350' 261 17 0 17 777744		0922
	PUSH	SP,-34(SP)			; SP,FILE_PTR				401351' 261 17 0 17 777744
	PUSH	SP,-34(SP)			; SP,SAVE_CHAR				401352' 261 17 0 17 777744
	MOVEI	AC0,-26(SP)			; AC0,RESULT				401353' 201 00 0 17 777752
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  38
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (7)

	PUSH	SP,AC0				; SP,AC0				401354' 261 17 0 00 000000
	PUSHJ	SP,SCAN				; SP,SCAN				401355' 260 17 0 00 400503'
	ADJSP	SP,-4				; SP,-4					401356' 105 17 0 00 777774
	MOVEI	AC0,3				; AC0,3					401357' 201 00 0 00 000003		0923
	CAMN	AC0,-23(SP)			; AC0,RESULT				401360' 316 00 0 17 777755
	SKIPL	-22(SP)				; RESULT+1				401361' 331 00 0 17 777756
	JRST	L.92				; L.92					401362' 254 00 0 00 401350'		0921
L.93:	ADJSP	SP,-24				; SP,-24				401363' 105 17 0 00 777754		0796
	POP	SP,AC12				; SP,AC12				401364' 262 17 0 00 000012
	POP	SP,AC11				; SP,AC11				401365' 262 17 0 00 000011
	POP	SP,AC10				; SP,AC10				401366' 262 17 0 00 000010
	POP	SP,AC0				; SP,AC0				401367' 262 17 0 00 000000
	POPJ	SP,				; SP,					401370' 263 17 0 00 000000
C.26:	EXP	27				; 27					401371' 000000	000027
C.27:	EXP	4				; 4					401372' 000000	000004
C.28:	XWD	0,ROUTINE_NAME			; 0,ROUTINE_NAME			401373' 000000	401161'

; Routine Size:  136 words
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  39
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (8)

;	  0926	ROUTINE R_SLT (FILE_CHAN, FILE_PTR, SAVE_CHAR, VALUES) : NOVALUE = 	!READ SLT$DF LINE
;	  0927	
;	  0928	!++
;	  0929	! FUNCTIONAL DESCRIPTION:
;	  0930	!
;	  0931	!	READ AND PROCESS THE SLT$DF LINE OF CETAB.MAC
;	  0932	!
;	  0933	! FORMAL PARAMETERS:
;	  0934	!
;	  0935	!	FILE_CHAN - CHANNEL NUMBER ON WHICH TO READ
;	  0936	!	FILE_PTR - FILE BLOCK WITH FILE NAME FILLED IN
;	  0937	!	SAVE_CHAR - ADDRESS OF CHARACTER SAVED FROM LAST CALL TO SCAN
;	  0938	!	VALUES - BLOCK INTO WHICH TO STORE RESULTS
;	  0939	!
;	  0940	! IMPLICIT INPUTS:
;	  0941	!
;	  0942	!	NONE
;	  0943	!
;	  0944	! IMPLICIT OUTPUTS:
;	  0945	!
;	  0946	!	NONE
;	  0947	!
;	  0948	! ROUTINE VALUE:
;	  0949	!
;	  0950	!	NONE
;	  0951	!
;	  0952	! SIDE EFFECTS
;	  0953	!
;	  0954	!	READS THE REMAINDER OF THE LINE FROM CETAB.MAC
;	  0955	!	 AND GETS STORAGE FROM THE FREE LIST
;	  0956	!
;	  0957	!--
;	  0958	
;	  0959	    BEGIN
;	  0960	
;	  0961	    BIND
;	  0962		ROUTINE_NAME = UPLIT (%ASCIZ'READ-SLT$DF');
;	  0963	
;	  0964	    MAP
;	  0965		FILE_PTR : REF FILE_BLOCK,
;	  0966		VALUES : REF VNPVAL_BLOCK;
;	  0967	
;	  0968	    LOCAL
;	  0969		SLT_PTR : REF SLT_BLOCK,
;	  0970		RESULT : VECTOR [20],
;	  0971		VAL_POINTER,
;	  0972		SCAN_DONE,
;	  0973		SEARCH_DONE;
;	  0974	
;	  0975	!
;	  0976	! ALLOCATE AN SLT BLOCK AND LINK IT IN WITH THE OTHERS, IF ANY.
;	  0977	!
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  40
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (8)

;	  0978	
;	  0979	    IF ((SLT_PTR = GETBLK (SLT_TYP, SLT_LEN)) EQL 0)
;	  0980	    THEN
;	  0981		ERRMSG (0, 1, ROUTINE_NAME, 0, 0, 0, 0)
;	  0982	    ELSE
;	  0983	
;	  0984		IF ((VALUES [SLT_CHAIN] = BLD_CHAIN (.VALUES, .VALUES [SLT_CHAIN], .SLT_PTR)) EQL 0)
;	  0985		THEN
;	  0986		    ERRMSG (0,
;	  0987			1, ROUTINE_NAME, 0, 0, 0, 0)
;	  0988		ELSE
;	  0989		    BEGIN
;	  0990		    VALUES [SLTNUM] = .VALUES [SLTNUM] + 1;
;	  0991		    VAL_POINTER = 1;
;	  0992		    SCAN_DONE = 0;
;	  0993	
;	  0994		    WHILE (.SCAN_DONE EQL 0) DO
;	  0995			BEGIN
;	  0996			SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  0997	
;	  0998			IF ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0))
;	  0999			THEN
;	  1000			    SCAN_DONE = -1
;	  1001			ELSE
;	  1002			    BEGIN
;	  1003	
;	  1004			    IF ((.RESULT [RESULT_TYPE] NEQ RT_SPECIAL) OR (.RESULT [RESULT_VALUE] NEQ %C','))
;	  1005			    THEN
;	  1006				BEGIN
;	  1007	
;	  1008				CASE .VAL_POINTER FROM 1 TO 8 OF
;	  1009				    SET
;	  1010	
;	  1011				    [1] : 		!LLC NAME
;	  1012					BEGIN
;	  1013	
;	  1014					IF (.RESULT [RESULT_TYPE] NEQ RT_NAME)
;	  1015					THEN
;	  1016					    ERRMSG (0, 24, ROUTINE_NAME,
;	  1017						FILE_PTR [FILE_NAME], 0, 0, 0)
;	  1018					ELSE
;	  1019					    CH$MOVE (4, CH$PTR (RESULT [RESULT_VALUE]), CH$PTR (SLT_PTR [SLT_LLC]));
;	  1020	
;	  1021					END;
;	  1022	
;	  1023				    [2] : 		!DLC NAME
;	  1024					BEGIN
;	  1025	
;	  1026					IF (.RESULT [RESULT_TYPE] NEQ RT_NAME)
;	  1027					THEN
;	  1028					    ERRMSG (0, 24, ROUTINE_NAME,
;	  1029						FILE_PTR [FILE_NAME], 0, 0, 0)
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  41
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (8)

;	  1030					ELSE
;	  1031					    CH$MOVE (4, CH$PTR (RESULT [RESULT_VALUE]), CH$PTR (SLT_PTR [SLT_DLC]));
;	  1032	
;	  1033					END;
;	  1034	
;	  1035				    [3] : 		!DEV NAME
;	  1036					BEGIN
;	  1037	
;	  1038					IF (.RESULT [RESULT_TYPE] NEQ RT_NAME)
;	  1039					THEN
;	  1040					    ERRMSG (0, 24, ROUTINE_NAME,
;	  1041						FILE_PTR [FILE_NAME], 0, 0, 0)
;	  1042					ELSE
;	  1043					    CH$MOVE (4, CH$PTR (RESULT [RESULT_VALUE]), CH$PTR (SLT_PTR [SLT_DEV]));
;	  1044	
;	  1045					END;
;	  1046	
;	  1047				    [4] : 		!CONTROLLER NUMBER
;	  1048					BEGIN
;	  1049	
;	  1050					IF (.RESULT [RESULT_TYPE] NEQ RT_NUMBER)
;	  1051					THEN
;	  1052					    ERRMSG (0, 24, ROUTINE_NAME,
;	  1053						FILE_PTR [FILE_NAME], 0, 0, 0)
;	  1054					ELSE
;	  1055					    SLT_PTR [SLT_CTL] = .RESULT [RESULT_VALUE];
;	  1056	
;	  1057					END;
;	  1058	
;	  1059				    [5] : 		!UNIT NUMBER
;	  1060					BEGIN
;	  1061	
;	  1062					IF (.RESULT [RESULT_TYPE] NEQ RT_NUMBER)
;	  1063					THEN
;	  1064					    ERRMSG (0, 24, ROUTINE_NAME,
;	  1065						FILE_PTR [FILE_NAME], 0, 0, 0)
;	  1066					ELSE
;	  1067					    SLT_PTR [SLT_UNT] = .RESULT [RESULT_VALUE];
;	  1068	
;	  1069					END;
;	  1070	
;	  1071				    [6] : 		!TRIBUTARY NUMBER
;	  1072					BEGIN
;	  1073	
;	  1074					IF (.RESULT [RESULT_TYPE] NEQ RT_NUMBER)
;	  1075					THEN
;	  1076	
;	  1077					    IF (.RESULT [RESULT_TYPE] NEQ RT_SPECIAL)
;	  1078					    THEN
;	  1079						ERRMSG (0, 24,
;	  1080						    ROUTINE_NAME, FILE_PTR [FILE_NAME], 0, 0, 0)
;	  1081					    ELSE
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  42
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (8)

;	  1082						SLT_PTR [SLT_TRB] = -1
;	  1083	
;	  1084					ELSE
;	  1085					    SLT_PTR [SLT_TRB] = .RESULT [RESULT_VALUE];
;	  1086	
;	  1087					END;
;	  1088	
;	  1089				    [7] :
;	  1090				    ;			!FLAGS, IGNORE.
;	  1091	
;	  1092				    [8] :
;	  1093				    ;			!"ENABLE", IGNORE.
;	  1094	
;	  1095				    [OUTRANGE] :
;	  1096					BEGIN
;	  1097					ERRMSG (0, 24, ROUTINE_NAME, FILE_PTR [FILE_NAME], 0, 0, 0);
;	  1098					SCAN_DONE = 1;
;	  1099					END;
;	  1100				    TES;
;	  1101	
;	  1102	!
;	  1103	! SCAN FOR THE NEXT COMMA
;	  1104	!
;	  1105				SEARCH_DONE = 0;
;	  1106	
;	  1107				WHILE (.SEARCH_DONE EQL 0) DO
;	  1108				    BEGIN
;	  1109				    SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  1110	
;	  1111				    IF (.RESULT [RESULT_TYPE] EQL RT_SPECIAL)
;	  1112				    THEN
;	  1113	
;	  1114					IF (.RESULT [RESULT_VALUE] LSS 0)
;	  1115					THEN
;	  1116					    SEARCH_DONE = -1
;	  1117					ELSE
;	  1118	
;	  1119					    IF (.RESULT [RESULT_VALUE] EQL %C',') THEN SEARCH_DONE = 1;
;	  1120	
;	  1121				    END;
;	  1122	
;	  1123				IF (.SEARCH_DONE LSS 0) THEN SCAN_DONE = .SEARCH_DONE;
;	  1124	
;	  1125				END;
;	  1126	
;	  1127			    END;
;	  1128	
;	  1129			VAL_POINTER = .VAL_POINTER + 1;
;	  1130			END;
;	  1131	
;	  1132		    END;
;	  1133	
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  43
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (8)

;	  1134	!
;	  1135	! SAVE POINTER TO THE SLT BLOCK FOR THE STA$DF SCANNER
;	  1136	!
;	  1137	    VALUES [CURRENT_SLT] = .SLT_PTR;
;	  1138	!
;	  1139	! FINISHED WITH SLT$DF, SKIP TO END OF LINE
;	  1140	!
;	  1141	
;	  1142	    IF (.SCAN_DONE GTR 0)
;	  1143	    THEN
;	  1144	
;	  1145		DO
;	  1146		    SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT)
;	  1147		UNTIL ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0));
;	  1148	
;	  1149	    END;					!OF R_SLT


P.AAO:	BYTE	(7)"R","E","A","D","-"		; READ-					401374' 122 105 101 104 055
	BYTE	(7)"S","L","T","$","D"		; SLT$D					401375' 123 114 124 044 104
	BYTE	(7)"F",000,000,000,000		; F					401376' 106 000 000 000 000


ROUTINE_NAME=	    P.AAO			;						000000	401374'


R_SLT:	PUSH	SP,AC0				; SP,AC0				401377' 261 17 0 00 000000		0926
	PUSH	SP,AC10				; SP,AC10				401400' 261 17 0 00 000010
	PUSH	SP,AC11				; SP,AC11				401401' 261 17 0 00 000011
	PUSH	SP,AC12				; SP,AC12				401402' 261 17 0 00 000012
	PUSH	SP,AC13				; SP,AC13				401403' 261 17 0 00 000013
	ADJSP	SP,24				; SP,24					401404' 105 17 0 00 000024
	PUSH	SP,C.29				; SP,[23]				401405' 261 17 0 00 401670'		0979
	PUSH	SP,C.30				; SP,[7]				401406' 261 17 0 00 401671'
	PUSHJ	SP,GETBLK			; SP,GETBLK				401407' 260 17 0 00 000000*
	MOVE	AC10,AC1			; SLT_PTR,AC1				401410' 200 10 0 00 000001
	ADJSP	SP,-2				; SP,-2					401411' 105 17 0 00 777776
	JUMPE	AC10,L.94			; SLT_PTR,L.94				401412' 322 10 0 00 401426'
	MOVE	AC0,-32(SP)			; AC0,VALUES				401413' 200 00 0 17 777746		0984
	PUSH	SP,AC0				; SP,AC0				401414' 261 17 0 00 000000
	MOVE	AC2,AC0				; AC2,AC0				401415' 200 02 0 00 000000
	HLRZ	AC1,2(AC2)			; AC1,2(AC2)				401416' 554 01 0 02 000002
	PUSH	SP,AC1				; SP,AC1				401417' 261 17 0 00 000001
	PUSH	SP,AC10				; SP,SLT_PTR				401420' 261 17 0 00 000010
	PUSHJ	SP,BLD_CHAIN			; SP,BLD_CHAIN				401421' 260 17 0 00 000000*
	ADJSP	SP,-3				; SP,-3					401422' 105 17 0 00 777775
	MOVE	AC2,AC0				; AC2,AC0				401423' 200 02 0 00 000000
	HRLM	AC1,2(AC2)			; AC1,2(AC2)				401424' 506 01 0 02 000002
	JUMPN	AC1,L.95			; AC1,L.95				401425' 326 01 0 00 401440'
L.94:	PUSH	SP,C.4				; SP,[0]				401426' 261 17 0 00 400371'		0986
	PUSH	SP,C.3				; SP,[1]				401427' 261 17 0 00 400370'
	PUSH	SP,C.31				; SP,[0,,ROUTINE_NAME]			401430' 261 17 0 00 401672'
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  44
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (8)

	PUSH	SP,C.4				; SP,[0]				401431' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401432' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401433' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401434' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				401435' 260 17 0 00 000000*
	ADJSP	SP,-7				; SP,-7					401436' 105 17 0 00 777771
	JRST	L.119				; L.119					401437' 254 00 0 00 401643'		0984
L.95:	MOVE	AC2,AC0				; AC2,AC0				401440' 200 02 0 00 000000		0990
	HRRZ	AC1,1(AC2)			; AC1,1(AC2)				401441' 550 01 0 02 000001
	ADDI	AC1,1				; AC1,1					401442' 271 01 0 00 000001
	MOVE	AC3,AC0				; AC3,AC0				401443' 200 03 0 00 000000
	HRRM	AC1,1(AC3)			; AC1,1(AC3)				401444' 542 01 0 03 000001
	MOVEI	AC13,1				; VAL_POINTER,1				401445' 201 13 0 00 000001		0991
	SETZ	AC12,				; SCAN_DONE,				401446' 400 12 0 00 000000		0992
	MOVE	AC0,-34(SP)			; AC0,FILE_PTR				401447' 200 00 0 17 777744		0996
L.96:	JUMPN	AC12,L.119			; SCAN_DONE,L.119			401450' 326 12 0 00 401643'		0994
	PUSH	SP,-35(SP)			; SP,FILE_CHAN				401451' 261 17 0 17 777743		0996
	PUSH	SP,AC0				; SP,AC0				401452' 261 17 0 00 000000
	PUSH	SP,-35(SP)			; SP,SAVE_CHAR				401453' 261 17 0 17 777743
	MOVEI	AC1,-26(SP)			; AC1,RESULT				401454' 201 01 0 17 777752
	PUSH	SP,AC1				; SP,AC1				401455' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				401456' 260 17 0 00 400503'
	MOVE	AC1,-27(SP)			; AC1,RESULT				401457' 200 01 0 17 777751		0998
	CAIN	AC1,3				; AC1,3					401460' 306 01 0 00 000003
	SKIPL	-26(SP)				; RESULT+1				401461' 331 00 0 17 777752
	JRST	L.97				; L.97					401462' 254 00 0 00 401465'
	SETO	AC12,				; SCAN_DONE,				401463' 474 12 0 00 000000		1000
	JRST	L.118				; L.118					401464' 254 00 0 00 401640'		0998
L.97:	SETZ	AC2,				; AC2,					401465' 400 02 0 00 000000		1004
	CAIN	AC1,3				; AC1,3					401466' 306 01 0 00 000003
	JRST	L.98				; L.98					401467' 254 00 0 00 401472'
	MOVEI	AC2,1				; AC2,1					401470' 201 02 0 00 000001
	JRST	L.99				; L.99					401471' 254 00 0 00 401475'
L.98:	MOVEI	AC3,54				; AC3,54				401472' 201 03 0 00 000054
	CAMN	AC3,-26(SP)			; AC3,RESULT+1				401473' 316 03 0 17 777752
	JRST	L.118				; L.118					401474' 254 00 0 00 401640'
L.99:	MOVE	AC3,AC13			; AC3,VAL_POINTER			401475' 200 03 0 00 000013		1008
	SOJL	AC3,L.101			; AC3,L.101				401476' 361 03 0 00 401512'
	CAIGE	AC3,10				; AC3,10				401477' 305 03 0 00 000010
	JRST	L.100(AC3)			; L.100(AC3)				401500' 254 00 0 03 401502'
	JRST	L.101				; L.101					401501' 254 00 0 00 401512'
L.100:	JRST	L.102				; L.102					401502' 254 00 0 00 401526'
	JRST	L.103				; L.103					401503' 254 00 0 00 401534'
	JRST	L.104				; L.104					401504' 254 00 0 00 401542'
	JRST	L.106				; L.106					401505' 254 00 0 00 401555'
	JRST	L.107				; L.107					401506' 254 00 0 00 401562'
	JRST	L.108				; L.108					401507' 254 00 0 00 401567'
	JRST	L.113				; L.113					401510' 254 00 0 00 401613'
	JRST	L.113				; L.113					401511' 254 00 0 00 401613'
L.101:	SETZM	0(SP)				; 0(SP)					401512' 402 00 0 17 000000		1097
	PUSH	SP,C.7				; SP,[30]				401513' 261 17 0 00 400374'
	PUSH	SP,C.31				; SP,[0,,ROUTINE_NAME]			401514' 261 17 0 00 401672'
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  45
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (8)

	MOVE	AC1,AC0				; AC1,AC0				401515' 200 01 0 00 000000
	ADDI	AC1,2				; AC1,2					401516' 271 01 0 00 000002
	PUSH	SP,AC1				; SP,AC1				401517' 261 17 0 00 000001
	PUSH	SP,C.4				; SP,[0]				401520' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401521' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401522' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				401523' 260 17 0 00 000000*
	MOVEI	AC12,1				; SCAN_DONE,1				401524' 201 12 0 00 000001		1098
	JRST	L.110				; L.110					401525' 254 00 0 00 401605'
L.102:	CAIE	AC1,1				; AC1,1					401526' 302 01 0 00 000001		1014
	JRST	L.109				; L.109					401527' 254 00 0 00 401573'
	MOVEI	AC2,-27(SP)			; AC2,RESULT				401530' 201 02 0 17 777751		1019
	HRLI	AC2,10700			; AC2,10700				401531' 505 02 0 00 010700
	MOVEI	AC5,2(AC10)			; AC5,2(SLT_PTR)			401532' 201 05 0 10 000002
	JRST	L.105				; L.105					401533' 254 00 0 00 401547'
L.103:	CAIE	AC1,1				; AC1,1					401534' 302 01 0 00 000001		1026
	JRST	L.109				; L.109					401535' 254 00 0 00 401573'
	MOVEI	AC2,-27(SP)			; AC2,RESULT				401536' 201 02 0 17 777751		1031
	HRLI	AC2,10700			; AC2,10700				401537' 505 02 0 00 010700
	MOVEI	AC5,1(AC10)			; AC5,1(SLT_PTR)			401540' 201 05 0 10 000001
	JRST	L.105				; L.105					401541' 254 00 0 00 401547'
L.104:	CAIE	AC1,1				; AC1,1					401542' 302 01 0 00 000001		1038
	JRST	L.109				; L.109					401543' 254 00 0 00 401573'
	MOVEI	AC2,-27(SP)			; AC2,RESULT				401544' 201 02 0 17 777751		1043
	HRLI	AC2,10700			; AC2,10700				401545' 505 02 0 00 010700
	MOVEI	AC5,0(AC10)			; AC5,0(SLT_PTR)			401546' 201 05 0 10 000000
L.105:	HRLI	AC5,10700			; AC5,10700				401547' 505 05 0 00 010700
	MOVEI	AC1,4				; AC1,4					401550' 201 01 0 00 000004
	MOVEI	AC4,4				; AC4,4					401551' 201 04 0 00 000004
	EXTEND	AC1,C.23			; AC1,[MOVSLJ ]				401552' 123 01 0 00 401030'
	JFCL					; 					401553' 255 00 0 00 000000
	JRST	L.113				; L.113					401554' 254 00 0 00 401613'		1008
L.106:	CAIE	AC1,2				; AC1,2					401555' 302 01 0 00 000002		1050
	JRST	L.109				; L.109					401556' 254 00 0 00 401573'
	MOVE	AC1,-26(SP)			; AC1,RESULT+1				401557' 200 01 0 17 777752		1055
	MOVEM	AC1,4(AC10)			; AC1,4(SLT_PTR)			401560' 202 01 0 10 000004
	JRST	L.113				; L.113					401561' 254 00 0 00 401613'		1008
L.107:	CAIE	AC1,2				; AC1,2					401562' 302 01 0 00 000002		1062
	JRST	L.109				; L.109					401563' 254 00 0 00 401573'
	MOVE	AC1,-26(SP)			; AC1,RESULT+1				401564' 200 01 0 17 777752		1067
	MOVEM	AC1,5(AC10)			; AC1,5(SLT_PTR)			401565' 202 01 0 10 000005
	JRST	L.113				; L.113					401566' 254 00 0 00 401613'		1008
L.108:	CAIN	AC1,2				; AC1,2					401567' 306 01 0 00 000002		1074
	JRST	L.112				; L.112					401570' 254 00 0 00 401611'
	TRNN	AC2,1				; AC2,1					401571' 606 02 0 00 000001		1077
	JRST	L.111				; L.111					401572' 254 00 0 00 401607'
L.109:	SETZM	0(SP)				; 0(SP)					401573' 402 00 0 17 000000		1079
	PUSH	SP,C.7				; SP,[30]				401574' 261 17 0 00 400374'
	PUSH	SP,C.31				; SP,[0,,ROUTINE_NAME]			401575' 261 17 0 00 401672'
	MOVE	AC1,AC0				; AC1,AC0				401576' 200 01 0 00 000000		1080
	ADDI	AC1,2				; AC1,2					401577' 271 01 0 00 000002
	PUSH	SP,AC1				; SP,AC1				401600' 261 17 0 00 000001
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  46
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (8)

	PUSH	SP,C.4				; SP,[0]				401601' 261 17 0 00 400371'		1079
	PUSH	SP,C.4				; SP,[0]				401602' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401603' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				401604' 260 17 0 00 000000*
L.110:	ADJSP	SP,-6				; SP,-6					401605' 105 17 0 00 777772
	JRST	L.113				; L.113					401606' 254 00 0 00 401613'		1077
L.111:	SETOM	6(AC10)				; 6(SLT_PTR)				401607' 476 00 0 10 000006		1082
	JRST	L.113				; L.113					401610' 254 00 0 00 401613'		1074
L.112:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				401611' 200 01 0 17 777752		1085
	MOVEM	AC1,6(AC10)			; AC1,6(SLT_PTR)			401612' 202 01 0 10 000006
L.113:	SETZ	AC11,				; SEARCH_DONE,				401613' 400 11 0 00 000000		1105
L.114:	JUMPN	AC11,L.117			; SEARCH_DONE,L.117			401614' 326 11 0 00 401636'		1107
	PUSH	SP,-41(SP)			; SP,FILE_CHAN				401615' 261 17 0 17 777737		1109
	PUSH	SP,AC0				; SP,AC0				401616' 261 17 0 00 000000
	PUSH	SP,-41(SP)			; SP,SAVE_CHAR				401617' 261 17 0 17 777737
	MOVEI	AC1,-32(SP)			; AC1,RESULT				401620' 201 01 0 17 777746
	PUSH	SP,AC1				; SP,AC1				401621' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				401622' 260 17 0 00 400503'
	MOVEI	AC1,3				; AC1,3					401623' 201 01 0 00 000003		1111
	CAME	AC1,-33(SP)			; AC1,RESULT				401624' 312 01 0 17 777745
	JRST	L.116				; L.116					401625' 254 00 0 00 401634'
	MOVE	AC1,-32(SP)			; AC1,RESULT+1				401626' 200 01 0 17 777746		1114
	JUMPGE	AC1,L.115			; AC1,L.115				401627' 325 01 0 00 401632'
	SETO	AC11,				; SEARCH_DONE,				401630' 474 11 0 00 000000		1116
	JRST	L.116				; L.116					401631' 254 00 0 00 401634'		1114
L.115:	CAIN	AC1,54				; AC1,54				401632' 306 01 0 00 000054		1119
	MOVEI	AC11,1				; SEARCH_DONE,1				401633' 201 11 0 00 000001
L.116:	ADJSP	SP,-4				; SP,-4					401634' 105 17 0 00 777774		1108
	JRST	L.114				; L.114					401635' 254 00 0 00 401614'		1107
L.117:	JUMPGE	AC11,L.118			; SEARCH_DONE,L.118			401636' 325 11 0 00 401640'		1123
	MOVE	AC12,AC11			; SCAN_DONE,SEARCH_DONE			401637' 200 12 0 00 000011
L.118:	ADDI	AC13,1				; VAL_POINTER,1				401640' 271 13 0 00 000001		1129
	ADJSP	SP,-4				; SP,-4					401641' 105 17 0 00 777774		0995
	JRST	L.96				; L.96					401642' 254 00 0 00 401450'		0994
L.119:	MOVE	AC1,-32(SP)			; AC1,VALUES				401643' 200 01 0 17 777746		1137
	HRRM	AC10,111(AC1)			; SLT_PTR,111(AC1)			401644' 542 10 0 01 000111
	JUMPLE	AC12,L.121			; SCAN_DONE,L.121			401645' 323 12 0 00 401661'		1142
L.120:	PUSH	SP,-35(SP)			; SP,FILE_CHAN				401646' 261 17 0 17 777743		1146
	PUSH	SP,-35(SP)			; SP,FILE_PTR				401647' 261 17 0 17 777743
	PUSH	SP,-35(SP)			; SP,SAVE_CHAR				401650' 261 17 0 17 777743
	MOVEI	AC0,-26(SP)			; AC0,RESULT				401651' 201 00 0 17 777752
	PUSH	SP,AC0				; SP,AC0				401652' 261 17 0 00 000000
	PUSHJ	SP,SCAN				; SP,SCAN				401653' 260 17 0 00 400503'
	ADJSP	SP,-4				; SP,-4					401654' 105 17 0 00 777774
	MOVEI	AC0,3				; AC0,3					401655' 201 00 0 00 000003		1147
	CAMN	AC0,-23(SP)			; AC0,RESULT				401656' 316 00 0 17 777755
	SKIPL	-22(SP)				; RESULT+1				401657' 331 00 0 17 777756
	JRST	L.120				; L.120					401660' 254 00 0 00 401646'		1145
L.121:	ADJSP	SP,-24				; SP,-24				401661' 105 17 0 00 777754		0926
	POP	SP,AC13				; SP,AC13				401662' 262 17 0 00 000013
	POP	SP,AC12				; SP,AC12				401663' 262 17 0 00 000012
	POP	SP,AC11				; SP,AC11				401664' 262 17 0 00 000011
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  47
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (8)

	POP	SP,AC10				; SP,AC10				401665' 262 17 0 00 000010
	POP	SP,AC0				; SP,AC0				401666' 262 17 0 00 000000
	POPJ	SP,				; SP,					401667' 263 17 0 00 000000
C.29:	EXP	23				; 23					401670' 000000	000023
C.30:	EXP	7				; 7					401671' 000000	000007
C.31:	XWD	0,ROUTINE_NAME			; 0,ROUTINE_NAME			401672' 000000	401374'

; Routine Size:  188 words
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  48
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (9)

;	  1150	ROUTINE R_LLC (FILE_CHAN, FILE_PTR, SAVE_CHAR, VALUES) : NOVALUE = 	!READ LLC$DF LINE
;	  1151	
;	  1152	!++
;	  1153	! FUNCTIONAL DESCRIPTION:
;	  1154	!
;	  1155	!	READ AND PROCESS THE LLC$DF LINE OF CETAB.MAC
;	  1156	!
;	  1157	! FORMAL PARAMETERS:
;	  1158	!
;	  1159	!	FILE_CHAN - CHANNEL NUMBER ON WHICH TO READ
;	  1160	!	FILE_PTR - FILE BLOCK WITH FILE NAME FILLED IN
;	  1161	!	SAVE_CHAR - ADDRESS OF CHARACTER SAVED FROM LAST CALL TO SCAN
;	  1162	!	VALUES - BLOCK INTO WHICH TO STORE RESULTS
;	  1163	!
;	  1164	! IMPLICIT INPUTS:
;	  1165	!
;	  1166	!	NONE
;	  1167	!
;	  1168	! IMPLICIT OUTPUTS:
;	  1169	!
;	  1170	!	NONE
;	  1171	!
;	  1172	! ROUTINE VALUE:
;	  1173	!
;	  1174	!	NONE
;	  1175	!
;	  1176	! SIDE EFFECTS
;	  1177	!
;	  1178	!	READS THE REMAINDER OF THE LINE FROM CETAB.MAC
;	  1179	!	 AND GETS STORAGE FROM THE FREE LIST
;	  1180	!
;	  1181	!--
;	  1182	
;	  1183	    BEGIN
;	  1184	
;	  1185	    BIND
;	  1186		ROUTINE_NAME = UPLIT (%ASCIZ'READ-LLC$DF');
;	  1187	
;	  1188	    MAP
;	  1189		FILE_PTR : REF FILE_BLOCK,
;	  1190		VALUES : REF VNPVAL_BLOCK;
;	  1191	
;	  1192	    LOCAL
;	  1193		LLC_PTR : REF LLC_BLOCK,
;	  1194		RESULT : VECTOR [20],
;	  1195		VAL_POINTER,
;	  1196		SCAN_DONE,
;	  1197		SEARCH_DONE;
;	  1198	
;	  1199	!
;	  1200	! ALLOCATE AN LLC BLOCK AND LINK IT IN WITH THE OTHERS, IF ANY.
;	  1201	!
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  49
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (9)

;	  1202	
;	  1203	    IF ((LLC_PTR = GETBLK (LLC_TYP, LLC_LEN)) EQL 0)
;	  1204	    THEN
;	  1205		ERRMSG (0, 1, ROUTINE_NAME, 0, 0, 0, 0)
;	  1206	    ELSE
;	  1207	
;	  1208		IF ((VALUES [LLC_CHAIN] = BLD_CHAIN (.VALUES, .VALUES [LLC_CHAIN], .LLC_PTR)) EQL 0)
;	  1209		THEN
;	  1210		    ERRMSG (0,
;	  1211			1, ROUTINE_NAME, 0, 0, 0, 0)
;	  1212		ELSE
;	  1213		    BEGIN
;	  1214		    SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  1215	
;	  1216		    IF (.RESULT [RESULT_TYPE] NEQ RT_NAME)
;	  1217		    THEN
;	  1218			ERRMSG (0, 24, ROUTINE_NAME, FILE_PTR [FILE_NAME], 0,
;	  1219			    0, 0)
;	  1220		    ELSE
;	  1221			CH$MOVE (4, CH$PTR (RESULT [RESULT_VALUE]), CH$PTR (LLC_PTR [LLC_NAME]));
;	  1222	
;	  1223		    END;
;	  1224	
;	  1225	!
;	  1226	! FINISHED WITH LLC$DF, SKIP TO END OF LINE
;	  1227	!
;	  1228	
;	  1229	    DO
;	  1230		SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT)
;	  1231	    UNTIL ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0));
;	  1232	
;	  1233	    END;					!OF R_LLC


P.AAP:	BYTE	(7)"R","E","A","D","-"		; READ-					401673' 122 105 101 104 055
	BYTE	(7)"L","L","C","$","D"		; LLC$D					401674' 114 114 103 044 104
	BYTE	(7)"F",000,000,000,000		; F					401675' 106 000 000 000 000


ROUTINE_NAME=	    P.AAP			;						000000	401673'


R_LLC:	PUSH	SP,AC0				; SP,AC0				401676' 261 17 0 00 000000		1150
	PUSH	SP,AC10				; SP,AC10				401677' 261 17 0 00 000010
	ADJSP	SP,24				; SP,24					401700' 105 17 0 00 000024
	PUSH	SP,C.32				; SP,[16]				401701' 261 17 0 00 402010'		1203
	PUSH	SP,C.33				; SP,[2]				401702' 261 17 0 00 402011'
	PUSHJ	SP,GETBLK			; SP,GETBLK				401703' 260 17 0 00 000000*
	MOVE	AC0,AC1				; LLC_PTR,AC1				401704' 200 00 0 00 000001
	ADJSP	SP,-2				; SP,-2					401705' 105 17 0 00 777776
	JUMPE	AC0,L.122			; LLC_PTR,L.122				401706' 322 00 0 00 401720'
	MOVE	AC10,-27(SP)			; AC10,VALUES				401707' 200 10 0 17 777751		1208
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  50
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (9)

	PUSH	SP,AC10				; SP,AC10				401710' 261 17 0 00 000010
	HLRZ	AC1,1(AC10)			; AC1,1(AC10)				401711' 554 01 0 10 000001
	PUSH	SP,AC1				; SP,AC1				401712' 261 17 0 00 000001
	PUSH	SP,AC0				; SP,LLC_PTR				401713' 261 17 0 00 000000
	PUSHJ	SP,BLD_CHAIN			; SP,BLD_CHAIN				401714' 260 17 0 00 000000*
	ADJSP	SP,-3				; SP,-3					401715' 105 17 0 00 777775
	HRLM	AC1,1(AC10)			; AC1,1(AC10)				401716' 506 01 0 10 000001
	JUMPN	AC1,L.123			; AC1,L.123				401717' 326 01 0 00 401732'
L.122:	PUSH	SP,C.4				; SP,[0]				401720' 261 17 0 00 400371'		1210
	PUSH	SP,C.3				; SP,[1]				401721' 261 17 0 00 400370'
	PUSH	SP,C.34				; SP,[0,,ROUTINE_NAME]			401722' 261 17 0 00 402012'
	PUSH	SP,C.4				; SP,[0]				401723' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401724' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401725' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401726' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				401727' 260 17 0 00 000000*
	ADJSP	SP,-3				; SP,-3					401730' 105 17 0 00 777775
	JRST	L.125				; L.125					401731' 254 00 0 00 401770'		1208
L.123:	PUSH	SP,-32(SP)			; SP,FILE_CHAN				401732' 261 17 0 17 777746		1214
	PUSH	SP,-32(SP)			; SP,FILE_PTR				401733' 261 17 0 17 777746
	PUSH	SP,-32(SP)			; SP,SAVE_CHAR				401734' 261 17 0 17 777746
	MOVEI	AC1,-26(SP)			; AC1,RESULT				401735' 201 01 0 17 777752
	PUSH	SP,AC1				; SP,AC1				401736' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				401737' 260 17 0 00 400503'
	MOVEI	AC1,1				; AC1,1					401740' 201 01 0 00 000001		1216
	CAMN	AC1,-27(SP)			; AC1,RESULT				401741' 316 01 0 17 777751
	JRST	L.124				; L.124					401742' 254 00 0 00 401757'
	SETZM	0(SP)				; 0(SP)					401743' 402 00 0 17 000000		1218
	PUSH	SP,C.7				; SP,[30]				401744' 261 17 0 00 400374'
	PUSH	SP,C.34				; SP,[0,,ROUTINE_NAME]			401745' 261 17 0 00 402012'
	MOVE	AC1,-37(SP)			; AC1,FILE_PTR				401746' 200 01 0 17 777741
	ADDI	AC1,2				; AC1,2					401747' 271 01 0 00 000002
	PUSH	SP,AC1				; SP,AC1				401750' 261 17 0 00 000001
	PUSH	SP,C.4				; SP,[0]				401751' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401752' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				401753' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				401754' 260 17 0 00 000000*
	ADJSP	SP,-6				; SP,-6					401755' 105 17 0 00 777772
	JRST	L.125				; L.125					401756' 254 00 0 00 401770'		1216
L.124:	MOVEI	AC2,-27(SP)			; AC2,RESULT				401757' 201 02 0 17 777751		1221
	HRLI	AC2,10700			; AC2,10700				401760' 505 02 0 00 010700
	MOVE	AC1,AC0				; AC1,LLC_PTR				401761' 200 01 0 00 000000
	MOVEI	AC5,0(AC1)			; AC5,0(AC1)				401762' 201 05 0 01 000000
	HRLI	AC5,10700			; AC5,10700				401763' 505 05 0 00 010700
	MOVEI	AC1,4				; AC1,4					401764' 201 01 0 00 000004
	MOVEI	AC4,4				; AC4,4					401765' 201 04 0 00 000004
	EXTEND	AC1,C.23			; AC1,[MOVSLJ ]				401766' 123 01 0 00 401030'
	JFCL					; 					401767' 255 00 0 00 000000
L.125:	PUSH	SP,-36(SP)			; SP,FILE_CHAN				401770' 261 17 0 17 777742		1230
	PUSH	SP,-36(SP)			; SP,FILE_PTR				401771' 261 17 0 17 777742
	PUSH	SP,-36(SP)			; SP,SAVE_CHAR				401772' 261 17 0 17 777742
	MOVEI	AC0,-32(SP)			; AC0,RESULT				401773' 201 00 0 17 777746
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  51
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (9)

	PUSH	SP,AC0				; SP,AC0				401774' 261 17 0 00 000000
	PUSHJ	SP,SCAN				; SP,SCAN				401775' 260 17 0 00 400503'
	ADJSP	SP,-4				; SP,-4					401776' 105 17 0 00 777774
	MOVEI	AC0,3				; AC0,3					401777' 201 00 0 00 000003		1231
	CAMN	AC0,-27(SP)			; AC0,RESULT				402000' 316 00 0 17 777751
	SKIPL	-26(SP)				; RESULT+1				402001' 331 00 0 17 777752
	JRST	L.125				; L.125					402002' 254 00 0 00 401770'		1229
	ADJSP	SP,-4				; SP,-4					402003' 105 17 0 00 777774		1183
	ADJSP	SP,-24				; SP,-24				402004' 105 17 0 00 777754		1150
	POP	SP,AC10				; SP,AC10				402005' 262 17 0 00 000010
	POP	SP,AC0				; SP,AC0				402006' 262 17 0 00 000000
	POPJ	SP,				; SP,					402007' 263 17 0 00 000000
C.32:	EXP	16				; 16					402010' 000000	000016
C.33:	EXP	2				; 2					402011' 000000	000002
C.34:	XWD	0,ROUTINE_NAME			; 0,ROUTINE_NAME			402012' 000000	401673'

; Routine Size:  77 words
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  52
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (10)

;	  1234	ROUTINE R_DEV (FILE_CHAN, FILE_PTR, SAVE_CHAR, VALUES) : NOVALUE = 	!READ DEV$DF LINE
;	  1235	
;	  1236	!++
;	  1237	! FUNCTIONAL DESCRIPTION:
;	  1238	!
;	  1239	!	READ AND PROCESS THE DEV$DF LINE OF CETAB.MAC
;	  1240	!
;	  1241	! FORMAL PARAMETERS:
;	  1242	!
;	  1243	!	FILE_CHAN - CHANNEL NUMBER ON WHICH TO READ
;	  1244	!	FILE_PTR - FILE BLOCK WITH FILE NAME FILLED IN
;	  1245	!	SAVE_CHAR - ADDRESS OF CHARACTER SAVED FROM LAST CALL TO SCAN
;	  1246	!	VALUES - BLOCK INTO WHICH TO STORE RESULTS
;	  1247	!
;	  1248	! IMPLICIT INPUTS:
;	  1249	!
;	  1250	!	NONE
;	  1251	!
;	  1252	! IMPLICIT OUTPUTS:
;	  1253	!
;	  1254	!	NONE
;	  1255	!
;	  1256	! ROUTINE VALUE:
;	  1257	!
;	  1258	!	NONE
;	  1259	!
;	  1260	! SIDE EFFECTS
;	  1261	!
;	  1262	!	READS THE REMAINDER OF THE LINE FROM CETAB.MAC
;	  1263	!	 AND GETS STORAGE FROM THE FREE LIST
;	  1264	!
;	  1265	!--
;	  1266	
;	  1267	    BEGIN
;	  1268	
;	  1269	    BIND
;	  1270		ROUTINE_NAME = UPLIT (%ASCIZ'READ-DEV$DF');
;	  1271	
;	  1272	    MAP
;	  1273		FILE_PTR : REF FILE_BLOCK,
;	  1274		VALUES : REF VNPVAL_BLOCK;
;	  1275	
;	  1276	    LOCAL
;	  1277		DEV_PTR : REF DEV_BLOCK,
;	  1278		RESULT : VECTOR [20],
;	  1279		VAL_POINTER,
;	  1280		SCAN_DONE,
;	  1281		SEARCH_DONE;
;	  1282	
;	  1283	!
;	  1284	! ALLOCATE A DEV BLOCK AND LINK IT IN WITH THE OTHERS, IF ANY.
;	  1285	!
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  53
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (10)

;	  1286	
;	  1287	    IF ((DEV_PTR = GETBLK (DEV_TYP, DEV_LEN)) EQL 0)
;	  1288	    THEN
;	  1289		ERRMSG (0, 1, ROUTINE_NAME, 0, 0, 0, 0)
;	  1290	    ELSE
;	  1291	
;	  1292		IF ((VALUES [DEV_CHAIN] = BLD_CHAIN (.VALUES, .VALUES [DEV_CHAIN], .DEV_PTR)) EQL 0)
;	  1293		THEN
;	  1294		    ERRMSG (0,
;	  1295			1, ROUTINE_NAME, 0, 0, 0, 0)
;	  1296		ELSE
;	  1297		    BEGIN
;	  1298		    SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  1299	
;	  1300		    IF (.RESULT [RESULT_TYPE] NEQ RT_NAME)
;	  1301		    THEN
;	  1302			ERRMSG (0, 24, ROUTINE_NAME, FILE_PTR [FILE_NAME], 0,
;	  1303			    0, 0)
;	  1304		    ELSE
;	  1305			CH$MOVE (4, CH$PTR (RESULT [RESULT_VALUE]), CH$PTR (DEV_PTR [DEV_NAME]));
;	  1306	
;	  1307		    END;
;	  1308	
;	  1309	!
;	  1310	! SAVE POINTER TO DEV FOR UNT$DF AND CNT$DF SCANNERS
;	  1311	!
;	  1312	    VALUES [CURRENT_DEV] = .DEV_PTR;
;	  1313	!
;	  1314	! FINISHED WITH DEV$DF, SKIP TO END OF LINE
;	  1315	!
;	  1316	
;	  1317	    DO
;	  1318		SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT)
;	  1319	    UNTIL ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0));
;	  1320	
;	  1321	    END;					!OF R_DEV


P.AAQ:	BYTE	(7)"R","E","A","D","-"		; READ-					402013' 122 105 101 104 055
	BYTE	(7)"D","E","V","$","D"		; DEV$D					402014' 104 105 126 044 104
	BYTE	(7)"F",000,000,000,000		; F					402015' 106 000 000 000 000


ROUTINE_NAME=	    P.AAQ			;						000000	402013'


R_DEV:	PUSH	SP,AC0				; SP,AC0				402016' 261 17 0 00 000000		1234
	PUSH	SP,AC10				; SP,AC10				402017' 261 17 0 00 000010
	ADJSP	SP,24				; SP,24					402020' 105 17 0 00 000024
	PUSH	SP,C.35				; SP,[20]				402021' 261 17 0 00 402132'		1287
	PUSH	SP,C.27				; SP,[4]				402022' 261 17 0 00 401372'
	PUSHJ	SP,GETBLK			; SP,GETBLK				402023' 260 17 0 00 000000*
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  54
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (10)

	MOVE	AC0,AC1				; DEV_PTR,AC1				402024' 200 00 0 00 000001
	ADJSP	SP,-2				; SP,-2					402025' 105 17 0 00 777776
	JUMPE	AC0,L.126			; DEV_PTR,L.126				402026' 322 00 0 00 402040'
	MOVE	AC10,-27(SP)			; AC10,VALUES				402027' 200 10 0 17 777751		1292
	PUSH	SP,AC10				; SP,AC10				402030' 261 17 0 00 000010
	HRRZ	AC1,2(AC10)			; AC1,2(AC10)				402031' 550 01 0 10 000002
	PUSH	SP,AC1				; SP,AC1				402032' 261 17 0 00 000001
	PUSH	SP,AC0				; SP,DEV_PTR				402033' 261 17 0 00 000000
	PUSHJ	SP,BLD_CHAIN			; SP,BLD_CHAIN				402034' 260 17 0 00 000000*
	ADJSP	SP,-3				; SP,-3					402035' 105 17 0 00 777775
	HRRM	AC1,2(AC10)			; AC1,2(AC10)				402036' 542 01 0 10 000002
	JUMPN	AC1,L.127			; AC1,L.127				402037' 326 01 0 00 402052'
L.126:	PUSH	SP,C.4				; SP,[0]				402040' 261 17 0 00 400371'		1294
	PUSH	SP,C.3				; SP,[1]				402041' 261 17 0 00 400370'
	PUSH	SP,C.36				; SP,[0,,ROUTINE_NAME]			402042' 261 17 0 00 402133'
	PUSH	SP,C.4				; SP,[0]				402043' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402044' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402045' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402046' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				402047' 260 17 0 00 000000*
	ADJSP	SP,-3				; SP,-3					402050' 105 17 0 00 777775
	JRST	L.129				; L.129					402051' 254 00 0 00 402110'		1292
L.127:	PUSH	SP,-32(SP)			; SP,FILE_CHAN				402052' 261 17 0 17 777746		1298
	PUSH	SP,-32(SP)			; SP,FILE_PTR				402053' 261 17 0 17 777746
	PUSH	SP,-32(SP)			; SP,SAVE_CHAR				402054' 261 17 0 17 777746
	MOVEI	AC1,-26(SP)			; AC1,RESULT				402055' 201 01 0 17 777752
	PUSH	SP,AC1				; SP,AC1				402056' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				402057' 260 17 0 00 400503'
	MOVEI	AC1,1				; AC1,1					402060' 201 01 0 00 000001		1300
	CAMN	AC1,-27(SP)			; AC1,RESULT				402061' 316 01 0 17 777751
	JRST	L.128				; L.128					402062' 254 00 0 00 402077'
	SETZM	0(SP)				; 0(SP)					402063' 402 00 0 17 000000		1302
	PUSH	SP,C.7				; SP,[30]				402064' 261 17 0 00 400374'
	PUSH	SP,C.36				; SP,[0,,ROUTINE_NAME]			402065' 261 17 0 00 402133'
	MOVE	AC1,-37(SP)			; AC1,FILE_PTR				402066' 200 01 0 17 777741
	ADDI	AC1,2				; AC1,2					402067' 271 01 0 00 000002
	PUSH	SP,AC1				; SP,AC1				402070' 261 17 0 00 000001
	PUSH	SP,C.4				; SP,[0]				402071' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402072' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402073' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				402074' 260 17 0 00 000000*
	ADJSP	SP,-6				; SP,-6					402075' 105 17 0 00 777772
	JRST	L.129				; L.129					402076' 254 00 0 00 402110'		1300
L.128:	MOVEI	AC2,-27(SP)			; AC2,RESULT				402077' 201 02 0 17 777751		1305
	HRLI	AC2,10700			; AC2,10700				402100' 505 02 0 00 010700
	MOVE	AC1,AC0				; AC1,DEV_PTR				402101' 200 01 0 00 000000
	MOVEI	AC5,0(AC1)			; AC5,0(AC1)				402102' 201 05 0 01 000000
	HRLI	AC5,10700			; AC5,10700				402103' 505 05 0 00 010700
	MOVEI	AC1,4				; AC1,4					402104' 201 01 0 00 000004
	MOVEI	AC4,4				; AC4,4					402105' 201 04 0 00 000004
	EXTEND	AC1,C.23			; AC1,[MOVSLJ ]				402106' 123 01 0 00 401030'
	JFCL					; 					402107' 255 00 0 00 000000
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  55
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (10)

L.129:	MOVE	AC1,-33(SP)			; AC1,VALUES				402110' 200 01 0 17 777745		1312
	HRLM	AC0,111(AC1)			; DEV_PTR,111(AC1)			402111' 506 00 0 01 000111
L.130:	PUSH	SP,-36(SP)			; SP,FILE_CHAN				402112' 261 17 0 17 777742		1318
	PUSH	SP,-36(SP)			; SP,FILE_PTR				402113' 261 17 0 17 777742
	PUSH	SP,-36(SP)			; SP,SAVE_CHAR				402114' 261 17 0 17 777742
	MOVEI	AC0,-32(SP)			; AC0,RESULT				402115' 201 00 0 17 777746
	PUSH	SP,AC0				; SP,AC0				402116' 261 17 0 00 000000
	PUSHJ	SP,SCAN				; SP,SCAN				402117' 260 17 0 00 400503'
	ADJSP	SP,-4				; SP,-4					402120' 105 17 0 00 777774
	MOVEI	AC0,3				; AC0,3					402121' 201 00 0 00 000003		1319
	CAMN	AC0,-27(SP)			; AC0,RESULT				402122' 316 00 0 17 777751
	SKIPL	-26(SP)				; RESULT+1				402123' 331 00 0 17 777752
	JRST	L.130				; L.130					402124' 254 00 0 00 402112'		1317
	ADJSP	SP,-4				; SP,-4					402125' 105 17 0 00 777774		1267
	ADJSP	SP,-24				; SP,-24				402126' 105 17 0 00 777754		1234
	POP	SP,AC10				; SP,AC10				402127' 262 17 0 00 000010
	POP	SP,AC0				; SP,AC0				402130' 262 17 0 00 000000
	POPJ	SP,				; SP,					402131' 263 17 0 00 000000
C.35:	EXP	20				; 20					402132' 000000	000020
C.36:	XWD	0,ROUTINE_NAME			; 0,ROUTINE_NAME			402133' 000000	402013'

; Routine Size:  78 words
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  56
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (11)

;	  1322	ROUTINE R_CTL (FILE_CHAN, FILE_PTR, SAVE_CHAR, VALUES) : NOVALUE = 	!READ CTL$DF LINE
;	  1323	
;	  1324	!++
;	  1325	! FUNCTIONAL DESCRIPTION:
;	  1326	!
;	  1327	!	READ AND PROCESS THE CTL$DF LINE OF CETAB.MAC
;	  1328	!
;	  1329	! FORMAL PARAMETERS:
;	  1330	!
;	  1331	!	FILE_CHAN - CHANNEL NUMBER ON WHICH TO READ
;	  1332	!	FILE_PTR - FILE BLOCK WITH FILE NAME FILLED IN
;	  1333	!	SAVE_CHAR - ADDRESS OF CHARACTER SAVED FROM LAST CALL TO SCAN
;	  1334	!	VALUES - BLOCK INTO WHICH TO STORE RESULTS
;	  1335	!
;	  1336	! IMPLICIT INPUTS:
;	  1337	!
;	  1338	!	NONE
;	  1339	!
;	  1340	! IMPLICIT OUTPUTS:
;	  1341	!
;	  1342	!	NONE
;	  1343	!
;	  1344	! ROUTINE VALUE:
;	  1345	!
;	  1346	!	NONE
;	  1347	!
;	  1348	! SIDE EFFECTS
;	  1349	!
;	  1350	!	READS THE REMAINDER OF THE LINE FROM CETAB.MAC
;	  1351	!	 AND GETS STORAGE FROM THE FREE LIST
;	  1352	!
;	  1353	!--
;	  1354	
;	  1355	    BEGIN
;	  1356	
;	  1357	    BIND
;	  1358		ROUTINE_NAME = UPLIT (%ASCIZ'READ-CTL$DF');
;	  1359	
;	  1360	    MAP
;	  1361		FILE_PTR : REF FILE_BLOCK,
;	  1362		VALUES : REF VNPVAL_BLOCK;
;	  1363	
;	  1364	    LOCAL
;	  1365		CTL_PTR : REF CTL_BLOCK,
;	  1366		DEV_PTR : REF DEV_BLOCK,
;	  1367		RESULT : VECTOR [20],
;	  1368		VAL_POINTER,
;	  1369		SCAN_DONE,
;	  1370		SEARCH_DONE;
;	  1371	
;	  1372	!
;	  1373	! FETCH A POINTER TO THE LAST DEV BLOCK
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  57
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (11)

;	  1374	!
;	  1375	    DEV_PTR = .VALUES [CURRENT_DEV];
;	  1376	    DEV_PTR [DEV_NUM_OF_CTLS] = .DEV_PTR [DEV_NUM_OF_CTLS] + 1;
;	  1377	!
;	  1378	! ALLOCATE A CTL BLOCK AND LINK IT IN WITH THE OTHERS, IF ANY.
;	  1379	!
;	  1380	
;	  1381	    IF ((CTL_PTR = GETBLK (CTL_TYP, CTL_LEN)) EQL 0)
;	  1382	    THEN
;	  1383		ERRMSG (0, 1, ROUTINE_NAME, 0, 0, 0, 0)
;	  1384	    ELSE
;	  1385	
;	  1386		IF ((DEV_PTR [DEV_CTL] = BLD_CHAIN (.DEV_PTR, .DEV_PTR [DEV_CTL], .CTL_PTR)) EQL 0)
;	  1387		THEN
;	  1388		    ERRMSG (0,
;	  1389			1, ROUTINE_NAME, 0, 0, 0, 0)
;	  1390		ELSE
;	  1391		    BEGIN
;	  1392		    VAL_POINTER = 1;
;	  1393		    SCAN_DONE = 0;
;	  1394	
;	  1395		    WHILE (.SCAN_DONE EQL 0) DO
;	  1396			BEGIN
;	  1397			SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  1398	
;	  1399			IF ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0))
;	  1400			THEN
;	  1401			    SCAN_DONE = -1
;	  1402			ELSE
;	  1403			    BEGIN
;	  1404	
;	  1405			    IF ((.RESULT [RESULT_TYPE] NEQ RT_SPECIAL) OR (.RESULT [RESULT_VALUE] NEQ %C','))
;	  1406			    THEN
;	  1407				BEGIN
;	  1408	
;	  1409				IF (.RESULT [RESULT_TYPE] EQL RT_NUMBER)
;	  1410				THEN
;	  1411				    BEGIN
;	  1412	
;	  1413				    CASE .VAL_POINTER FROM 1 TO 9 OF
;	  1414					SET
;	  1415	
;	  1416					[1] : 		!CONTROLLER NUMBER
;	  1417					    CTL_PTR [CTL_CONT] = .RESULT [RESULT_VALUE];
;	  1418	
;	  1419					[2] : 		!Parameter word 0
;	  1420					    CTL_PTR [CTL_PAR_0] = .RESULT [RESULT_VALUE];
;	  1421	
;	  1422					[3] : 		!Parameter word 1
;	  1423					    CTL_PTR [CTL_PAR_1] = .RESULT [RESULT_VALUE];
;	  1424	
;	  1425					[4] : 		!Parameter word 2
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  58
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (11)

;	  1426					    CTL_PTR [CTL_PAR_2] = .RESULT [RESULT_VALUE];
;	  1427	
;	  1428					[5] : 		!Parameter word 3
;	  1429					    CTL_PTR [CTL_PAR_3] = .RESULT [RESULT_VALUE];
;	  1430	
;	  1431					[6] : 		!Parameter word 4
;	  1432					    CTL_PTR [CTL_PAR_4] = .RESULT [RESULT_VALUE];
;	  1433	
;	  1434					[7] : 		!Parameter word 5
;	  1435					    CTL_PTR [CTL_PAR_5] = .RESULT [RESULT_VALUE];
;	  1436	
;	  1437					[8] : 		!Parameter word 6
;	  1438					    CTL_PTR [CTL_PAR_6] = .RESULT [RESULT_VALUE];
;	  1439	
;	  1440					[9] : 		!Parameter word 7
;	  1441					    CTL_PTR [CTL_PAR_7] = .RESULT [RESULT_VALUE];
;	  1442	
;	  1443					[OUTRANGE] :
;	  1444					    BEGIN
;	  1445					    ERRMSG (0, 24, ROUTINE_NAME, FILE_PTR [FILE_NAME], 0, 0, 0);
;	  1446					    SCAN_DONE = 1;
;	  1447					    END;
;	  1448					TES;
;	  1449	
;	  1450				    END
;	  1451				ELSE
;	  1452				    ERRMSG (0, 24, ROUTINE_NAME, FILE_PTR [FILE_NAME], 0, 0, 0);
;	  1453	
;	  1454	!
;	  1455	! SCAN FOR THE NEXT COMMA
;	  1456	!
;	  1457				SEARCH_DONE = 0;
;	  1458	
;	  1459				WHILE (.SEARCH_DONE EQL 0) DO
;	  1460				    BEGIN
;	  1461				    SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  1462	
;	  1463				    IF (.RESULT [RESULT_TYPE] EQL RT_SPECIAL)
;	  1464				    THEN
;	  1465	
;	  1466					IF (.RESULT [RESULT_VALUE] LSS 0)
;	  1467					THEN
;	  1468					    SEARCH_DONE = -1
;	  1469					ELSE
;	  1470	
;	  1471					    IF (.RESULT [RESULT_VALUE] EQL %C',') THEN SEARCH_DONE = 1;
;	  1472	
;	  1473				    END;
;	  1474	
;	  1475				IF (.SEARCH_DONE LSS 0) THEN SCAN_DONE = .SEARCH_DONE;
;	  1476	
;	  1477				END;
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  59
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (11)

;	  1478	
;	  1479			    END;
;	  1480	
;	  1481			VAL_POINTER = .VAL_POINTER + 1;
;	  1482			END;
;	  1483	
;	  1484		    END;
;	  1485	
;	  1486	!
;	  1487	! STORE POINTER TO DEV BLOCK, FOR REDUNDENCY
;	  1488	!
;	  1489	    CTL_PTR [CTL_DEV] = .DEV_PTR;
;	  1490	!
;	  1491	! SAVE POINTER TO CTL FOR UNT$DF SCANNER
;	  1492	!
;	  1493	    VALUES [CURRENT_CTL] = .CTL_PTR;
;	  1494	!
;	  1495	! FINISHED WITH CTL$DF, SKIP TO END OF LINE
;	  1496	!
;	  1497	
;	  1498	    IF (.SCAN_DONE GTR 0)
;	  1499	    THEN
;	  1500	
;	  1501		DO
;	  1502		    SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT)
;	  1503		UNTIL ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0));
;	  1504	
;	  1505	    END;					!OF R_CTL


P.AAR:	BYTE	(7)"R","E","A","D","-"		; READ-					402134' 122 105 101 104 055
	BYTE	(7)"C","T","L","$","D"		; CTL$D					402135' 103 124 114 044 104
	BYTE	(7)"F",000,000,000,000		; F					402136' 106 000 000 000 000


ROUTINE_NAME=	    P.AAR			;						000000	402134'


R_CTL:	PUSH	SP,AC0				; SP,AC0				402137' 261 17 0 00 000000		1322
	PUSH	SP,AC10				; SP,AC10				402140' 261 17 0 00 000010
	PUSH	SP,AC11				; SP,AC11				402141' 261 17 0 00 000011
	PUSH	SP,AC12				; SP,AC12				402142' 261 17 0 00 000012
	PUSH	SP,AC13				; SP,AC13				402143' 261 17 0 00 000013
	PUSH	SP,AC14				; SP,AC14				402144' 261 17 0 00 000014
	PUSH	SP,AC16				; SP,AC16				402145' 261 17 0 00 000016
	ADJSP	SP,24				; SP,24					402146' 105 17 0 00 000024
	MOVE	AC10,-34(SP)			; AC10,VALUES				402147' 200 10 0 17 777744		1375
	HLRZ	AC0,111(AC10)			; DEV_PTR,111(AC10)			402150' 554 00 0 10 000111
	MOVE	AC1,AC0				; AC1,DEV_PTR				402151' 200 01 0 00 000000		1376
	AOS	3(AC1)				; 3(AC1)				402152' 350 00 0 01 000003
	PUSH	SP,C.37				; SP,[21]				402153' 261 17 0 00 402413'		1381
	PUSH	SP,C.38				; SP,[14]				402154' 261 17 0 00 402414'
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  60
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (11)

	PUSHJ	SP,GETBLK			; SP,GETBLK				402155' 260 17 0 00 000000*
	MOVE	AC11,AC1			; CTL_PTR,AC1				402156' 200 11 0 00 000001
	ADJSP	SP,-2				; SP,-2					402157' 105 17 0 00 777776
	JUMPE	AC11,L.131			; CTL_PTR,L.131				402160' 322 11 0 00 402173'
	PUSH	SP,AC0				; SP,DEV_PTR				402161' 261 17 0 00 000000		1386
	MOVE	AC2,AC0				; AC2,DEV_PTR				402162' 200 02 0 00 000000
	HRRZ	AC1,2(AC2)			; AC1,2(AC2)				402163' 550 01 0 02 000002
	PUSH	SP,AC1				; SP,AC1				402164' 261 17 0 00 000001
	PUSH	SP,AC11				; SP,CTL_PTR				402165' 261 17 0 00 000011
	PUSHJ	SP,BLD_CHAIN			; SP,BLD_CHAIN				402166' 260 17 0 00 000000*
	ADJSP	SP,-3				; SP,-3					402167' 105 17 0 00 777775
	MOVE	AC2,AC0				; AC2,DEV_PTR				402170' 200 02 0 00 000000
	HRRM	AC1,2(AC2)			; AC1,2(AC2)				402171' 542 01 0 02 000002
	JUMPN	AC1,L.132			; AC1,L.132				402172' 326 01 0 00 402205'
L.131:	PUSH	SP,C.4				; SP,[0]				402173' 261 17 0 00 400371'		1388
	PUSH	SP,C.3				; SP,[1]				402174' 261 17 0 00 400370'
	PUSH	SP,C.39				; SP,[0,,ROUTINE_NAME]			402175' 261 17 0 00 402415'
	PUSH	SP,C.4				; SP,[0]				402176' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402177' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402200' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402201' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				402202' 260 17 0 00 000000*
	ADJSP	SP,-7				; SP,-7					402203' 105 17 0 00 777771
	JRST	L.155				; L.155					402204' 254 00 0 00 402364'		1386
L.132:	MOVEI	AC16,1				; VAL_POINTER,1				402205' 201 16 0 00 000001		1392
	SETZ	AC13,				; SCAN_DONE,				402206' 400 13 0 00 000000		1393
	MOVE	AC14,-36(SP)			; AC14,FILE_PTR				402207' 200 14 0 17 777742		1397
L.133:	JUMPN	AC13,L.155			; SCAN_DONE,L.155			402210' 326 13 0 00 402364'		1395
	PUSH	SP,-37(SP)			; SP,FILE_CHAN				402211' 261 17 0 17 777741		1397
	PUSH	SP,AC14				; SP,AC14				402212' 261 17 0 00 000014
	PUSH	SP,-37(SP)			; SP,SAVE_CHAR				402213' 261 17 0 17 777741
	MOVEI	AC1,-26(SP)			; AC1,RESULT				402214' 201 01 0 17 777752
	PUSH	SP,AC1				; SP,AC1				402215' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				402216' 260 17 0 00 400503'
	MOVE	AC1,-27(SP)			; AC1,RESULT				402217' 200 01 0 17 777751		1399
	CAIN	AC1,3				; AC1,3					402220' 306 01 0 00 000003
	SKIPL	-26(SP)				; RESULT+1				402221' 331 00 0 17 777752
	JRST	L.134				; L.134					402222' 254 00 0 00 402225'
	SETO	AC13,				; SCAN_DONE,				402223' 474 13 0 00 000000		1401
	JRST	L.154				; L.154					402224' 254 00 0 00 402361'		1399
L.134:	CAIE	AC1,3				; AC1,3					402225' 302 01 0 00 000003		1405
	JRST	L.135				; L.135					402226' 254 00 0 00 402232'
	MOVEI	AC2,54				; AC2,54				402227' 201 02 0 00 000054
	CAMN	AC2,-26(SP)			; AC2,RESULT+1				402230' 316 02 0 17 777752
	JRST	L.154				; L.154					402231' 254 00 0 00 402361'
L.135:	CAIE	AC1,2				; AC1,2					402232' 302 01 0 00 000002		1409
	JRST	L.147				; L.147					402233' 254 00 0 00 402321'
	MOVE	AC1,AC16			; AC1,VAL_POINTER			402234' 200 01 0 00 000016		1413
	SOJL	AC1,L.137			; AC1,L.137				402235' 361 01 0 00 402252'
	CAIGE	AC1,11				; AC1,11				402236' 305 01 0 00 000011
	JRST	L.136(AC1)			; L.136(AC1)				402237' 254 00 0 01 402241'
	JRST	L.137				; L.137					402240' 254 00 0 00 402252'
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  61
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (11)

L.136:	JRST	L.138				; L.138					402241' 254 00 0 00 402266'
	JRST	L.139				; L.139					402242' 254 00 0 00 402271'
	JRST	L.140				; L.140					402243' 254 00 0 00 402274'
	JRST	L.141				; L.141					402244' 254 00 0 00 402277'
	JRST	L.142				; L.142					402245' 254 00 0 00 402302'
	JRST	L.143				; L.143					402246' 254 00 0 00 402305'
	JRST	L.144				; L.144					402247' 254 00 0 00 402310'
	JRST	L.145				; L.145					402250' 254 00 0 00 402313'
	JRST	L.146				; L.146					402251' 254 00 0 00 402316'
L.137:	SETZM	0(SP)				; 0(SP)					402252' 402 00 0 17 000000		1445
	PUSH	SP,C.7				; SP,[30]				402253' 261 17 0 00 400374'
	PUSH	SP,C.39				; SP,[0,,ROUTINE_NAME]			402254' 261 17 0 00 402415'
	MOVE	AC1,AC14			; AC1,AC14				402255' 200 01 0 00 000014
	ADDI	AC1,2				; AC1,2					402256' 271 01 0 00 000002
	PUSH	SP,AC1				; SP,AC1				402257' 261 17 0 00 000001
	PUSH	SP,C.4				; SP,[0]				402260' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402261' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402262' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				402263' 260 17 0 00 000000*
	MOVEI	AC13,1				; SCAN_DONE,1				402264' 201 13 0 00 000001		1446
	JRST	L.148				; L.148					402265' 254 00 0 00 402333'
L.138:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				402266' 200 01 0 17 777752		1417
	MOVEM	AC1,1(AC11)			; AC1,1(CTL_PTR)			402267' 202 01 0 11 000001
	JRST	L.149				; L.149					402270' 254 00 0 00 402334'		1413
L.139:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				402271' 200 01 0 17 777752		1420
	MOVEM	AC1,4(AC11)			; AC1,4(CTL_PTR)			402272' 202 01 0 11 000004
	JRST	L.149				; L.149					402273' 254 00 0 00 402334'		1413
L.140:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				402274' 200 01 0 17 777752		1423
	MOVEM	AC1,5(AC11)			; AC1,5(CTL_PTR)			402275' 202 01 0 11 000005
	JRST	L.149				; L.149					402276' 254 00 0 00 402334'		1413
L.141:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				402277' 200 01 0 17 777752		1426
	MOVEM	AC1,6(AC11)			; AC1,6(CTL_PTR)			402300' 202 01 0 11 000006
	JRST	L.149				; L.149					402301' 254 00 0 00 402334'		1413
L.142:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				402302' 200 01 0 17 777752		1429
	MOVEM	AC1,7(AC11)			; AC1,7(CTL_PTR)			402303' 202 01 0 11 000007
	JRST	L.149				; L.149					402304' 254 00 0 00 402334'		1413
L.143:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				402305' 200 01 0 17 777752		1432
	MOVEM	AC1,10(AC11)			; AC1,10(CTL_PTR)			402306' 202 01 0 11 000010
	JRST	L.149				; L.149					402307' 254 00 0 00 402334'		1413
L.144:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				402310' 200 01 0 17 777752		1435
	MOVEM	AC1,11(AC11)			; AC1,11(CTL_PTR)			402311' 202 01 0 11 000011
	JRST	L.149				; L.149					402312' 254 00 0 00 402334'		1413
L.145:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				402313' 200 01 0 17 777752		1438
	MOVEM	AC1,12(AC11)			; AC1,12(CTL_PTR)			402314' 202 01 0 11 000012
	JRST	L.149				; L.149					402315' 254 00 0 00 402334'		1413
L.146:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				402316' 200 01 0 17 777752		1441
	MOVEM	AC1,13(AC11)			; AC1,13(CTL_PTR)			402317' 202 01 0 11 000013
	JRST	L.149				; L.149					402320' 254 00 0 00 402334'		1409
L.147:	SETZM	0(SP)				; 0(SP)					402321' 402 00 0 17 000000		1452
	PUSH	SP,C.7				; SP,[30]				402322' 261 17 0 00 400374'
	PUSH	SP,C.39				; SP,[0,,ROUTINE_NAME]			402323' 261 17 0 00 402415'
	MOVE	AC1,AC14			; AC1,AC14				402324' 200 01 0 00 000014
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  62
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (11)

	ADDI	AC1,2				; AC1,2					402325' 271 01 0 00 000002
	PUSH	SP,AC1				; SP,AC1				402326' 261 17 0 00 000001
	PUSH	SP,C.4				; SP,[0]				402327' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402330' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402331' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				402332' 260 17 0 00 000000*
L.148:	ADJSP	SP,-6				; SP,-6					402333' 105 17 0 00 777772
L.149:	SETZ	AC12,				; SEARCH_DONE,				402334' 400 12 0 00 000000		1457
L.150:	JUMPN	AC12,L.153			; SEARCH_DONE,L.153			402335' 326 12 0 00 402357'		1459
	PUSH	SP,-43(SP)			; SP,FILE_CHAN				402336' 261 17 0 17 777735		1461
	PUSH	SP,AC14				; SP,AC14				402337' 261 17 0 00 000014
	PUSH	SP,-43(SP)			; SP,SAVE_CHAR				402340' 261 17 0 17 777735
	MOVEI	AC1,-32(SP)			; AC1,RESULT				402341' 201 01 0 17 777746
	PUSH	SP,AC1				; SP,AC1				402342' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				402343' 260 17 0 00 400503'
	MOVEI	AC1,3				; AC1,3					402344' 201 01 0 00 000003		1463
	CAME	AC1,-33(SP)			; AC1,RESULT				402345' 312 01 0 17 777745
	JRST	L.152				; L.152					402346' 254 00 0 00 402355'
	MOVE	AC1,-32(SP)			; AC1,RESULT+1				402347' 200 01 0 17 777746		1466
	JUMPGE	AC1,L.151			; AC1,L.151				402350' 325 01 0 00 402353'
	SETO	AC12,				; SEARCH_DONE,				402351' 474 12 0 00 000000		1468
	JRST	L.152				; L.152					402352' 254 00 0 00 402355'		1466
L.151:	CAIN	AC1,54				; AC1,54				402353' 306 01 0 00 000054		1471
	MOVEI	AC12,1				; SEARCH_DONE,1				402354' 201 12 0 00 000001
L.152:	ADJSP	SP,-4				; SP,-4					402355' 105 17 0 00 777774		1460
	JRST	L.150				; L.150					402356' 254 00 0 00 402335'		1459
L.153:	JUMPGE	AC12,L.154			; SEARCH_DONE,L.154			402357' 325 12 0 00 402361'		1475
	MOVE	AC13,AC12			; SCAN_DONE,SEARCH_DONE			402360' 200 13 0 00 000012
L.154:	ADDI	AC16,1				; VAL_POINTER,1				402361' 271 16 0 00 000001		1481
	ADJSP	SP,-4				; SP,-4					402362' 105 17 0 00 777774		1396
	JRST	L.133				; L.133					402363' 254 00 0 00 402210'		1395
L.155:	HRLM	AC0,2(AC11)			; DEV_PTR,2(CTL_PTR)			402364' 506 00 0 11 000002		1489
	HRRM	AC11,112(AC10)			; CTL_PTR,112(AC10)			402365' 542 11 0 10 000112		1493
	JUMPLE	AC13,L.157			; SCAN_DONE,L.157			402366' 323 13 0 00 402402'		1498
L.156:	PUSH	SP,-37(SP)			; SP,FILE_CHAN				402367' 261 17 0 17 777741		1502
	PUSH	SP,-37(SP)			; SP,FILE_PTR				402370' 261 17 0 17 777741
	PUSH	SP,-37(SP)			; SP,SAVE_CHAR				402371' 261 17 0 17 777741
	MOVEI	AC0,-26(SP)			; AC0,RESULT				402372' 201 00 0 17 777752
	PUSH	SP,AC0				; SP,AC0				402373' 261 17 0 00 000000
	PUSHJ	SP,SCAN				; SP,SCAN				402374' 260 17 0 00 400503'
	ADJSP	SP,-4				; SP,-4					402375' 105 17 0 00 777774
	MOVEI	AC0,3				; AC0,3					402376' 201 00 0 00 000003		1503
	CAMN	AC0,-23(SP)			; AC0,RESULT				402377' 316 00 0 17 777755
	SKIPL	-22(SP)				; RESULT+1				402400' 331 00 0 17 777756
	JRST	L.156				; L.156					402401' 254 00 0 00 402367'		1501
L.157:	ADJSP	SP,-24				; SP,-24				402402' 105 17 0 00 777754		1322
	POP	SP,AC16				; SP,AC16				402403' 262 17 0 00 000016
	POP	SP,AC14				; SP,AC14				402404' 262 17 0 00 000014
	POP	SP,AC13				; SP,AC13				402405' 262 17 0 00 000013
	POP	SP,AC12				; SP,AC12				402406' 262 17 0 00 000012
	POP	SP,AC11				; SP,AC11				402407' 262 17 0 00 000011
	POP	SP,AC10				; SP,AC10				402410' 262 17 0 00 000010
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  63
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (11)

	POP	SP,AC0				; SP,AC0				402411' 262 17 0 00 000000
	POPJ	SP,				; SP,					402412' 263 17 0 00 000000
C.37:	EXP	21				; 21					402413' 000000	000021
C.38:	EXP	14				; 14					402414' 000000	000014
C.39:	XWD	0,ROUTINE_NAME			; 0,ROUTINE_NAME			402415' 000000	402134'

; Routine Size:  175 words
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  64
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (12)

;	  1506	ROUTINE R_UNT (FILE_CHAN, FILE_PTR, SAVE_CHAR, VALUES) : NOVALUE = 	!READ UNT$DF LINE
;	  1507	
;	  1508	!++
;	  1509	! FUNCTIONAL DESCRIPTION:
;	  1510	!
;	  1511	!	READ AND PROCESS THE UNT$DF LINE OF CETAB.MAC
;	  1512	!
;	  1513	! FORMAL PARAMETERS:
;	  1514	!
;	  1515	!	FILE_CHAN - CHANNEL NUMBER ON WHICH TO READ
;	  1516	!	FILE_PTR - FILE BLOCK WITH FILE NAME FILLED IN
;	  1517	!	SAVE_CHAR - ADDRESS OF CHARACTER SAVED FROM LAST CALL TO SCAN
;	  1518	!	VALUES - BLOCK INTO WHICH TO STORE RESULTS
;	  1519	!
;	  1520	! IMPLICIT INPUTS:
;	  1521	!
;	  1522	!	NONE
;	  1523	!
;	  1524	! IMPLICIT OUTPUTS:
;	  1525	!
;	  1526	!	NONE
;	  1527	!
;	  1528	! ROUTINE VALUE:
;	  1529	!
;	  1530	!	NONE
;	  1531	!
;	  1532	! SIDE EFFECTS
;	  1533	!
;	  1534	!	READS THE REMAINDER OF THE LINE FROM CETAB.MAC
;	  1535	!	 AND GETS STORAGE FROM THE FREE LIST
;	  1536	!
;	  1537	!--
;	  1538	
;	  1539	    BEGIN
;	  1540	
;	  1541	    BIND
;	  1542		ROUTINE_NAME = UPLIT (%ASCIZ'READ-UNT$DF');
;	  1543	
;	  1544	    MAP
;	  1545		FILE_PTR : REF FILE_BLOCK,
;	  1546		VALUES : REF VNPVAL_BLOCK;
;	  1547	
;	  1548	    LOCAL
;	  1549		UNT_PTR : REF UNT_BLOCK,
;	  1550		CTL_PTR : REF CTL_BLOCK,
;	  1551		DEV_PTR : REF DEV_BLOCK,
;	  1552		RESULT : VECTOR [20],
;	  1553		VAL_POINTER,
;	  1554		SCAN_DONE,
;	  1555		SEARCH_DONE;
;	  1556	
;	  1557	!
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  65
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (12)

;	  1558	! FETCH POINTERS TO THE LAST DEV AND CTL BLOCKS
;	  1559	!
;	  1560	    DEV_PTR = .VALUES [CURRENT_DEV];
;	  1561	    CTL_PTR = .VALUES [CURRENT_CTL];
;	  1562	!
;	  1563	! ALLOCATE A UNT BLOCK AND LINK IT IN WITH THE OTHERS, IF ANY.
;	  1564	!
;	  1565	
;	  1566	    IF ((UNT_PTR = GETBLK (UNT_TYP, UNT_LEN)) EQL 0)
;	  1567	    THEN
;	  1568		ERRMSG (0, 1, ROUTINE_NAME, 0, 0, 0, 0)
;	  1569	    ELSE
;	  1570	
;	  1571		IF ((CTL_PTR [CTL_UNT] = BLD_CHAIN (.CTL_PTR, .CTL_PTR [CTL_UNT], .UNT_PTR)) EQL 0)
;	  1572		THEN
;	  1573		    ERRMSG (0,
;	  1574			1, ROUTINE_NAME, 0, 0, 0, 0)
;	  1575		ELSE
;	  1576		    BEGIN
;	  1577		    CTL_PTR [CTL_NUM_OF_UNTS] = .CTL_PTR [CTL_NUM_OF_UNTS] + 1;
;	  1578		    VAL_POINTER = 1;
;	  1579		    SCAN_DONE = 0;
;	  1580	
;	  1581		    WHILE (.SCAN_DONE EQL 0) DO
;	  1582			BEGIN
;	  1583			SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  1584	
;	  1585			IF ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0))
;	  1586			THEN
;	  1587			    SCAN_DONE = -1
;	  1588			ELSE
;	  1589			    BEGIN
;	  1590	
;	  1591			    IF ((.RESULT [RESULT_TYPE] NEQ RT_SPECIAL) OR (.RESULT [RESULT_VALUE] NEQ %C','))
;	  1592			    THEN
;	  1593				BEGIN
;	  1594	
;	  1595				IF (.RESULT [RESULT_TYPE] EQL RT_NUMBER)
;	  1596				THEN
;	  1597				    BEGIN
;	  1598	
;	  1599				    CASE .VAL_POINTER FROM 1 TO 9 OF
;	  1600					SET
;	  1601	
;	  1602					[1] : 		!UNIT NUMBER
;	  1603					    UNT_PTR [UNT_UNIT] = .RESULT [RESULT_VALUE];
;	  1604	
;	  1605					[2] : 		!Parameter word 0
;	  1606					    UNT_PTR [UNT_PAR_0] = .RESULT [RESULT_VALUE];
;	  1607	
;	  1608					[3] : 		!Parameter word 1
;	  1609					    UNT_PTR [UNT_PAR_1] = .RESULT [RESULT_VALUE];
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  66
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (12)

;	  1610	
;	  1611					[4] : 		!Parameter word 2
;	  1612					    UNT_PTR [UNT_PAR_2] = .RESULT [RESULT_VALUE];
;	  1613	
;	  1614					[5] : 		!Parameter word 3
;	  1615					    UNT_PTR [UNT_PAR_3] = .RESULT [RESULT_VALUE];
;	  1616	
;	  1617					[6] : 		!Parameter word 4
;	  1618					    UNT_PTR [UNT_PAR_4] = .RESULT [RESULT_VALUE];
;	  1619	
;	  1620					[7] : 		!Parameter word 5
;	  1621					    UNT_PTR [UNT_PAR_5] = .RESULT [RESULT_VALUE];
;	  1622	
;	  1623					[8] : 		!Parameter word 6
;	  1624					    UNT_PTR [UNT_PAR_6] = .RESULT [RESULT_VALUE];
;	  1625	
;	  1626					[9] : 		!Parameter word 7
;	  1627					    UNT_PTR [UNT_PAR_7] = .RESULT [RESULT_VALUE];
;	  1628	
;	  1629					[OUTRANGE] :
;	  1630					    BEGIN
;	  1631					    ERRMSG (0, 24, ROUTINE_NAME, FILE_PTR [FILE_NAME], 0, 0, 0);
;	  1632					    SCAN_DONE = 1;
;	  1633					    END;
;	  1634					TES;
;	  1635	
;	  1636				    END
;	  1637				ELSE
;	  1638				    ERRMSG (0, 24, ROUTINE_NAME, FILE_PTR [FILE_NAME], 0, 0, 0);
;	  1639	
;	  1640	!
;	  1641	! SCAN FOR THE NEXT COMMA
;	  1642	!
;	  1643				SEARCH_DONE = 0;
;	  1644	
;	  1645				WHILE (.SEARCH_DONE EQL 0) DO
;	  1646				    BEGIN
;	  1647				    SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  1648	
;	  1649				    IF (.RESULT [RESULT_TYPE] EQL RT_SPECIAL)
;	  1650				    THEN
;	  1651	
;	  1652					IF (.RESULT [RESULT_VALUE] LSS 0)
;	  1653					THEN
;	  1654					    SEARCH_DONE = -1
;	  1655					ELSE
;	  1656	
;	  1657					    IF (.RESULT [RESULT_VALUE] EQL %C',') THEN SEARCH_DONE = 1;
;	  1658	
;	  1659				    END;
;	  1660	
;	  1661				IF (.SEARCH_DONE LSS 0) THEN SCAN_DONE = .SEARCH_DONE;
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  67
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (12)

;	  1662	
;	  1663				END;
;	  1664	
;	  1665			    END;
;	  1666	
;	  1667			VAL_POINTER = .VAL_POINTER + 1;
;	  1668			END;
;	  1669	
;	  1670		    END;
;	  1671	
;	  1672	!
;	  1673	! STORE POINTERS TO DEV AND CTL BLOCKS, FOR REDUNDENCY
;	  1674	!
;	  1675	    UNT_PTR [UNT_DEV] = .DEV_PTR;
;	  1676	    UNT_PTR [UNT_CTL] = .CTL_PTR;
;	  1677	!
;	  1678	! Store current unit block address for TRB$DF processing
;	  1679	!
;	  1680	    VALUES [CURRENT_UNT] = .UNT_PTR;
;	  1681	!
;	  1682	! FINISHED WITH UNT$DF, SKIP TO END OF LINE
;	  1683	!
;	  1684	
;	  1685	    IF (.SCAN_DONE GTR 0)
;	  1686	    THEN
;	  1687	
;	  1688		DO
;	  1689		    SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT)
;	  1690		UNTIL ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0));
;	  1691	
;	  1692	    END;					!OF R_UNT


P.AAS:	BYTE	(7)"R","E","A","D","-"		; READ-					402416' 122 105 101 104 055
	BYTE	(7)"U","N","T","$","D"		; UNT$D					402417' 125 116 124 044 104
	BYTE	(7)"F",000,000,000,000		; F					402420' 106 000 000 000 000


ROUTINE_NAME=	    P.AAS			;						000000	402416'


R_UNT:	PUSH	SP,AC0				; SP,AC0				402421' 261 17 0 00 000000		1506
	PUSH	SP,AC10				; SP,AC10				402422' 261 17 0 00 000010
	PUSH	SP,AC11				; SP,AC11				402423' 261 17 0 00 000011
	PUSH	SP,AC12				; SP,AC12				402424' 261 17 0 00 000012
	PUSH	SP,AC13				; SP,AC13				402425' 261 17 0 00 000013
	PUSH	SP,AC14				; SP,AC14				402426' 261 17 0 00 000014
	PUSH	SP,AC16				; SP,AC16				402427' 261 17 0 00 000016
	ADJSP	SP,25				; SP,25					402430' 105 17 0 00 000025
	MOVE	AC16,-35(SP)			; AC16,VALUES				402431' 200 16 0 17 777743		1560
	HLRZ	AC0,111(AC16)			; AC0,111(AC16)				402432' 554 00 0 16 000111
	MOVEM	AC0,0(SP)			; AC0,DEV_PTR				402433' 202 00 0 17 000000
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  68
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (12)

	HRRZ	AC10,112(AC16)			; CTL_PTR,112(AC16)			402434' 550 10 0 16 000112		1561
	PUSH	SP,C.40				; SP,[22]				402435' 261 17 0 00 402711'		1566
	PUSH	SP,C.41				; SP,[15]				402436' 261 17 0 00 402712'
	PUSHJ	SP,GETBLK			; SP,GETBLK				402437' 260 17 0 00 000000*
	MOVE	AC0,AC1				; UNT_PTR,AC1				402440' 200 00 0 00 000001
	ADJSP	SP,-2				; SP,-2					402441' 105 17 0 00 777776
	JUMPE	AC0,L.158			; UNT_PTR,L.158				402442' 322 00 0 00 402453'
	PUSH	SP,AC10				; SP,CTL_PTR				402443' 261 17 0 00 000010		1571
	HRRZ	AC1,2(AC10)			; AC1,2(CTL_PTR)			402444' 550 01 0 10 000002
	PUSH	SP,AC1				; SP,AC1				402445' 261 17 0 00 000001
	PUSH	SP,AC0				; SP,UNT_PTR				402446' 261 17 0 00 000000
	PUSHJ	SP,BLD_CHAIN			; SP,BLD_CHAIN				402447' 260 17 0 00 000000*
	ADJSP	SP,-3				; SP,-3					402450' 105 17 0 00 777775
	HRRM	AC1,2(AC10)			; AC1,2(CTL_PTR)			402451' 542 01 0 10 000002
	JUMPN	AC1,L.159			; AC1,L.159				402452' 326 01 0 00 402465'
L.158:	PUSH	SP,C.4				; SP,[0]				402453' 261 17 0 00 400371'		1573
	PUSH	SP,C.3				; SP,[1]				402454' 261 17 0 00 400370'
	PUSH	SP,C.42				; SP,[0,,ROUTINE_NAME]			402455' 261 17 0 00 402713'
	PUSH	SP,C.4				; SP,[0]				402456' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402457' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402460' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402461' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				402462' 260 17 0 00 000000*
	ADJSP	SP,-7				; SP,-7					402463' 105 17 0 00 777771
	JRST	L.182				; L.182					402464' 254 00 0 00 402656'		1571
L.159:	AOS	3(AC10)				; 3(CTL_PTR)				402465' 350 00 0 10 000003		1577
	MOVEI	AC14,1				; VAL_POINTER,1				402466' 201 14 0 00 000001		1578
	SETZ	AC12,				; SCAN_DONE,				402467' 400 12 0 00 000000		1579
	MOVE	AC13,-37(SP)			; AC13,FILE_PTR				402470' 200 13 0 17 777741		1583
L.160:	JUMPN	AC12,L.182			; SCAN_DONE,L.182			402471' 326 12 0 00 402656'		1581
	PUSH	SP,-40(SP)			; SP,FILE_CHAN				402472' 261 17 0 17 777740		1583
	PUSH	SP,AC13				; SP,AC13				402473' 261 17 0 00 000013
	PUSH	SP,-40(SP)			; SP,SAVE_CHAR				402474' 261 17 0 17 777740
	MOVEI	AC1,-27(SP)			; AC1,RESULT				402475' 201 01 0 17 777751
	PUSH	SP,AC1				; SP,AC1				402476' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				402477' 260 17 0 00 400503'
	MOVE	AC1,-30(SP)			; AC1,RESULT				402500' 200 01 0 17 777750		1585
	CAIN	AC1,3				; AC1,3					402501' 306 01 0 00 000003
	SKIPL	-27(SP)				; RESULT+1				402502' 331 00 0 17 777751
	JRST	L.161				; L.161					402503' 254 00 0 00 402506'
	SETO	AC12,				; SCAN_DONE,				402504' 474 12 0 00 000000		1587
	JRST	L.181				; L.181					402505' 254 00 0 00 402653'		1585
L.161:	CAIE	AC1,3				; AC1,3					402506' 302 01 0 00 000003		1591
	JRST	L.162				; L.162					402507' 254 00 0 00 402513'
	MOVEI	AC2,54				; AC2,54				402510' 201 02 0 00 000054
	CAMN	AC2,-27(SP)			; AC2,RESULT+1				402511' 316 02 0 17 777751
	JRST	L.181				; L.181					402512' 254 00 0 00 402653'
L.162:	CAIE	AC1,2				; AC1,2					402513' 302 01 0 00 000002		1595
	JRST	L.174				; L.174					402514' 254 00 0 00 402613'
	MOVE	AC1,AC14			; AC1,VAL_POINTER			402515' 200 01 0 00 000014		1599
	SOJL	AC1,L.164			; AC1,L.164				402516' 361 01 0 00 402533'
	CAIGE	AC1,11				; AC1,11				402517' 305 01 0 00 000011
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  69
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (12)

	JRST	L.163(AC1)			; L.163(AC1)				402520' 254 00 0 01 402522'
	JRST	L.164				; L.164					402521' 254 00 0 00 402533'
L.163:	JRST	L.165				; L.165					402522' 254 00 0 00 402547'
	JRST	L.166				; L.166					402523' 254 00 0 00 402553'
	JRST	L.167				; L.167					402524' 254 00 0 00 402557'
	JRST	L.168				; L.168					402525' 254 00 0 00 402563'
	JRST	L.169				; L.169					402526' 254 00 0 00 402567'
	JRST	L.170				; L.170					402527' 254 00 0 00 402573'
	JRST	L.171				; L.171					402530' 254 00 0 00 402577'
	JRST	L.172				; L.172					402531' 254 00 0 00 402603'
	JRST	L.173				; L.173					402532' 254 00 0 00 402607'
L.164:	SETZM	0(SP)				; 0(SP)					402533' 402 00 0 17 000000		1631
	PUSH	SP,C.7				; SP,[30]				402534' 261 17 0 00 400374'
	PUSH	SP,C.42				; SP,[0,,ROUTINE_NAME]			402535' 261 17 0 00 402713'
	MOVE	AC1,AC13			; AC1,AC13				402536' 200 01 0 00 000013
	ADDI	AC1,2				; AC1,2					402537' 271 01 0 00 000002
	PUSH	SP,AC1				; SP,AC1				402540' 261 17 0 00 000001
	PUSH	SP,C.4				; SP,[0]				402541' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402542' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402543' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				402544' 260 17 0 00 000000*
	MOVEI	AC12,1				; SCAN_DONE,1				402545' 201 12 0 00 000001		1632
	JRST	L.175				; L.175					402546' 254 00 0 00 402625'
L.165:	MOVE	AC1,-27(SP)			; AC1,RESULT+1				402547' 200 01 0 17 777751		1603
	MOVE	AC2,AC0				; AC2,UNT_PTR				402550' 200 02 0 00 000000
	MOVEM	AC1,1(AC2)			; AC1,1(AC2)				402551' 202 01 0 02 000001
	JRST	L.176				; L.176					402552' 254 00 0 00 402626'		1599
L.166:	MOVE	AC1,-27(SP)			; AC1,RESULT+1				402553' 200 01 0 17 777751		1606
	MOVE	AC2,AC0				; AC2,UNT_PTR				402554' 200 02 0 00 000000
	MOVEM	AC1,5(AC2)			; AC1,5(AC2)				402555' 202 01 0 02 000005
	JRST	L.176				; L.176					402556' 254 00 0 00 402626'		1599
L.167:	MOVE	AC1,-27(SP)			; AC1,RESULT+1				402557' 200 01 0 17 777751		1609
	MOVE	AC2,AC0				; AC2,UNT_PTR				402560' 200 02 0 00 000000
	MOVEM	AC1,6(AC2)			; AC1,6(AC2)				402561' 202 01 0 02 000006
	JRST	L.176				; L.176					402562' 254 00 0 00 402626'		1599
L.168:	MOVE	AC1,-27(SP)			; AC1,RESULT+1				402563' 200 01 0 17 777751		1612
	MOVE	AC2,AC0				; AC2,UNT_PTR				402564' 200 02 0 00 000000
	MOVEM	AC1,7(AC2)			; AC1,7(AC2)				402565' 202 01 0 02 000007
	JRST	L.176				; L.176					402566' 254 00 0 00 402626'		1599
L.169:	MOVE	AC1,-27(SP)			; AC1,RESULT+1				402567' 200 01 0 17 777751		1615
	MOVE	AC2,AC0				; AC2,UNT_PTR				402570' 200 02 0 00 000000
	MOVEM	AC1,10(AC2)			; AC1,10(AC2)				402571' 202 01 0 02 000010
	JRST	L.176				; L.176					402572' 254 00 0 00 402626'		1599
L.170:	MOVE	AC1,-27(SP)			; AC1,RESULT+1				402573' 200 01 0 17 777751		1618
	MOVE	AC2,AC0				; AC2,UNT_PTR				402574' 200 02 0 00 000000
	MOVEM	AC1,11(AC2)			; AC1,11(AC2)				402575' 202 01 0 02 000011
	JRST	L.176				; L.176					402576' 254 00 0 00 402626'		1599
L.171:	MOVE	AC1,-27(SP)			; AC1,RESULT+1				402577' 200 01 0 17 777751		1621
	MOVE	AC2,AC0				; AC2,UNT_PTR				402600' 200 02 0 00 000000
	MOVEM	AC1,12(AC2)			; AC1,12(AC2)				402601' 202 01 0 02 000012
	JRST	L.176				; L.176					402602' 254 00 0 00 402626'		1599
L.172:	MOVE	AC1,-27(SP)			; AC1,RESULT+1				402603' 200 01 0 17 777751		1624
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  70
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (12)

	MOVE	AC2,AC0				; AC2,UNT_PTR				402604' 200 02 0 00 000000
	MOVEM	AC1,13(AC2)			; AC1,13(AC2)				402605' 202 01 0 02 000013
	JRST	L.176				; L.176					402606' 254 00 0 00 402626'		1599
L.173:	MOVE	AC1,-27(SP)			; AC1,RESULT+1				402607' 200 01 0 17 777751		1627
	MOVE	AC2,AC0				; AC2,UNT_PTR				402610' 200 02 0 00 000000
	MOVEM	AC1,14(AC2)			; AC1,14(AC2)				402611' 202 01 0 02 000014
	JRST	L.176				; L.176					402612' 254 00 0 00 402626'		1595
L.174:	SETZM	0(SP)				; 0(SP)					402613' 402 00 0 17 000000		1638
	PUSH	SP,C.7				; SP,[30]				402614' 261 17 0 00 400374'
	PUSH	SP,C.42				; SP,[0,,ROUTINE_NAME]			402615' 261 17 0 00 402713'
	MOVE	AC1,AC13			; AC1,AC13				402616' 200 01 0 00 000013
	ADDI	AC1,2				; AC1,2					402617' 271 01 0 00 000002
	PUSH	SP,AC1				; SP,AC1				402620' 261 17 0 00 000001
	PUSH	SP,C.4				; SP,[0]				402621' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402622' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402623' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				402624' 260 17 0 00 000000*
L.175:	ADJSP	SP,-6				; SP,-6					402625' 105 17 0 00 777772
L.176:	SETZ	AC11,				; SEARCH_DONE,				402626' 400 11 0 00 000000		1643
L.177:	JUMPN	AC11,L.180			; SEARCH_DONE,L.180			402627' 326 11 0 00 402651'		1645
	PUSH	SP,-44(SP)			; SP,FILE_CHAN				402630' 261 17 0 17 777734		1647
	PUSH	SP,AC13				; SP,AC13				402631' 261 17 0 00 000013
	PUSH	SP,-44(SP)			; SP,SAVE_CHAR				402632' 261 17 0 17 777734
	MOVEI	AC1,-33(SP)			; AC1,RESULT				402633' 201 01 0 17 777745
	PUSH	SP,AC1				; SP,AC1				402634' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				402635' 260 17 0 00 400503'
	MOVEI	AC1,3				; AC1,3					402636' 201 01 0 00 000003		1649
	CAME	AC1,-34(SP)			; AC1,RESULT				402637' 312 01 0 17 777744
	JRST	L.179				; L.179					402640' 254 00 0 00 402647'
	MOVE	AC1,-33(SP)			; AC1,RESULT+1				402641' 200 01 0 17 777745		1652
	JUMPGE	AC1,L.178			; AC1,L.178				402642' 325 01 0 00 402645'
	SETO	AC11,				; SEARCH_DONE,				402643' 474 11 0 00 000000		1654
	JRST	L.179				; L.179					402644' 254 00 0 00 402647'		1652
L.178:	CAIN	AC1,54				; AC1,54				402645' 306 01 0 00 000054		1657
	MOVEI	AC11,1				; SEARCH_DONE,1				402646' 201 11 0 00 000001
L.179:	ADJSP	SP,-4				; SP,-4					402647' 105 17 0 00 777774		1646
	JRST	L.177				; L.177					402650' 254 00 0 00 402627'		1645
L.180:	JUMPGE	AC11,L.181			; SEARCH_DONE,L.181			402651' 325 11 0 00 402653'		1661
	MOVE	AC12,AC11			; SCAN_DONE,SEARCH_DONE			402652' 200 12 0 00 000011
L.181:	ADDI	AC14,1				; VAL_POINTER,1				402653' 271 14 0 00 000001		1667
	ADJSP	SP,-4				; SP,-4					402654' 105 17 0 00 777774		1582
	JRST	L.160				; L.160					402655' 254 00 0 00 402471'		1581
L.182:	MOVE	AC1,0(SP)			; AC1,DEV_PTR				402656' 200 01 0 17 000000		1675
	MOVE	AC2,AC0				; AC2,UNT_PTR				402657' 200 02 0 00 000000
	HRLM	AC1,2(AC2)			; AC1,2(AC2)				402660' 506 01 0 02 000002
	MOVE	AC1,AC0				; AC1,UNT_PTR				402661' 200 01 0 00 000000		1676
	HRRM	AC10,2(AC1)			; CTL_PTR,2(AC1)			402662' 542 10 0 01 000002
	HRLM	AC0,112(AC16)			; UNT_PTR,112(AC16)			402663' 506 00 0 16 000112		1680
	JUMPLE	AC12,L.184			; SCAN_DONE,L.184			402664' 323 12 0 00 402700'		1685
L.183:	PUSH	SP,-40(SP)			; SP,FILE_CHAN				402665' 261 17 0 17 777740		1689
	PUSH	SP,-40(SP)			; SP,FILE_PTR				402666' 261 17 0 17 777740
	PUSH	SP,-40(SP)			; SP,SAVE_CHAR				402667' 261 17 0 17 777740
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  71
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (12)

	MOVEI	AC0,-27(SP)			; AC0,RESULT				402670' 201 00 0 17 777751
	PUSH	SP,AC0				; SP,AC0				402671' 261 17 0 00 000000
	PUSHJ	SP,SCAN				; SP,SCAN				402672' 260 17 0 00 400503'
	ADJSP	SP,-4				; SP,-4					402673' 105 17 0 00 777774
	MOVEI	AC0,3				; AC0,3					402674' 201 00 0 00 000003		1690
	CAMN	AC0,-24(SP)			; AC0,RESULT				402675' 316 00 0 17 777754
	SKIPL	-23(SP)				; RESULT+1				402676' 331 00 0 17 777755
	JRST	L.183				; L.183					402677' 254 00 0 00 402665'		1688
L.184:	ADJSP	SP,-25				; SP,-25				402700' 105 17 0 00 777753		1506
	POP	SP,AC16				; SP,AC16				402701' 262 17 0 00 000016
	POP	SP,AC14				; SP,AC14				402702' 262 17 0 00 000014
	POP	SP,AC13				; SP,AC13				402703' 262 17 0 00 000013
	POP	SP,AC12				; SP,AC12				402704' 262 17 0 00 000012
	POP	SP,AC11				; SP,AC11				402705' 262 17 0 00 000011
	POP	SP,AC10				; SP,AC10				402706' 262 17 0 00 000010
	POP	SP,AC0				; SP,AC0				402707' 262 17 0 00 000000
	POPJ	SP,				; SP,					402710' 263 17 0 00 000000
C.40:	EXP	22				; 22					402711' 000000	000022
C.41:	EXP	15				; 15					402712' 000000	000015
C.42:	XWD	0,ROUTINE_NAME			; 0,ROUTINE_NAME			402713' 000000	402416'

; Routine Size:  187 words
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  72
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (13)

;	  1693	ROUTINE R_TRB (FILE_CHAN, FILE_PTR, SAVE_CHAR, VALUES) : NOVALUE = 	!Read TRB$DF Line
;	  1694	
;	  1695	!++
;	  1696	! FUNCTIONAL DESCRIPTION:
;	  1697	!
;	  1698	!	Read and process the TRB$DF line
;	  1699	!
;	  1700	! FORMAL PARAMETERS:
;	  1701	!
;	  1702	!	FILE_CHAN - Channel Number On Which To Read
;	  1703	!	FILE_PTR - File Block With File Name Filled In
;	  1704	!	SAVE_CHAR - Address Of Character Saved From Last Call To Scan
;	  1705	!	VALUES - Block Into Which To Store Results
;	  1706	!
;	  1707	! IMPLICIT INPUTS:
;	  1708	!
;	  1709	!	NONE
;	  1710	!
;	  1711	! IMPLICIT OUTPUTS:
;	  1712	!
;	  1713	!	NONE
;	  1714	!
;	  1715	! ROUTINE VALUE:
;	  1716	!
;	  1717	!	NONE
;	  1718	!
;	  1719	! SIDE EFFECTS
;	  1720	!
;	  1721	!	Reads the remainder of the line from CETAB.MAC
;	  1722	!	 and gets storage from the free list
;	  1723	!
;	  1724	!--
;	  1725	
;	  1726	    BEGIN
;	  1727	
;	  1728	    BIND
;	  1729		ROUTINE_NAME = UPLIT (%ASCIZ'READ-TRB$DF');
;	  1730	
;	  1731	    MAP
;	  1732		FILE_PTR : REF FILE_BLOCK,
;	  1733		VALUES : REF VNPVAL_BLOCK;
;	  1734	
;	  1735	    LOCAL
;	  1736		TRB_PTR : REF TRB_BLOCK,
;	  1737		UNT_PTR : REF UNT_BLOCK,
;	  1738		RESULT : VECTOR [20],
;	  1739		VAL_POINTER,
;	  1740		SCAN_DONE,
;	  1741		SEARCH_DONE;
;	  1742	
;	  1743	!
;	  1744	! Get the Pointer to the current UNT Block, which represents where
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  73
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (13)

;	  1745	!  this tributary applies.
;	  1746	!
;	  1747	    UNT_PTR = .VALUES [CURRENT_UNT];
;	  1748	!
;	  1749	! Allocate a TRB Block and link it to others on this UNT
;	  1750	!
;	  1751	
;	  1752	    IF ((TRB_PTR = GETBLK (TRB_TYP, TRB_LEN)) EQL 0)
;	  1753	    THEN
;	  1754		ERRMSG (0, 1, ROUTINE_NAME, 0, 0, 0, 0)
;	  1755	    ELSE
;	  1756	
;	  1757		IF ((UNT_PTR [UNT_TRB] = BLD_CHAIN (.UNT_PTR, .UNT_PTR [UNT_TRB], .TRB_PTR)) EQL 0)
;	  1758		THEN
;	  1759		    ERRMSG (0,
;	  1760			1, ROUTINE_NAME, 0, 0, 0, 0)
;	  1761		ELSE
;	  1762		    BEGIN
;	  1763		    VAL_POINTER = 1;
;	  1764		    SCAN_DONE = 0;
;	  1765		    UNT_PTR [UNT_NUM_OF_TRBS] = .UNT_PTR [UNT_NUM_OF_TRBS] + 1;
;	  1766	
;	  1767		    WHILE (.SCAN_DONE EQL 0) DO
;	  1768			BEGIN
;	  1769			SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  1770	
;	  1771			IF ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0))
;	  1772			THEN
;	  1773			    SCAN_DONE = -1
;	  1774			ELSE
;	  1775			    BEGIN
;	  1776	
;	  1777			    IF ((.RESULT [RESULT_TYPE] NEQ RT_SPECIAL) OR (.RESULT [RESULT_VALUE] NEQ %C','))
;	  1778			    THEN
;	  1779				BEGIN
;	  1780	
;	  1781				IF (.RESULT [RESULT_TYPE] EQL RT_NUMBER)
;	  1782				THEN
;	  1783				    BEGIN
;	  1784	
;	  1785				    CASE .VAL_POINTER FROM 1 TO 9 OF
;	  1786					SET
;	  1787	
;	  1788					[1] : 		!Logical Station Number
;	  1789					    TRB_PTR [TRB_LADDR] = .RESULT [RESULT_VALUE];
;	  1790	
;	  1791					[2] : 		!Tributary Parameter 0
;	  1792					    TRB_PTR [TRB_PAR_0] = .RESULT [RESULT_VALUE];
;	  1793	
;	  1794					[3] : 		!Tributary Parameter 1
;	  1795					    TRB_PTR [TRB_PAR_1] = .RESULT [RESULT_VALUE];
;	  1796	
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  74
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (13)

;	  1797					[4] : 		!Tributary Parameter 2
;	  1798					    TRB_PTR [TRB_PAR_2] = .RESULT [RESULT_VALUE];
;	  1799	
;	  1800					[5] : 		!Tributary Parameter 3
;	  1801					    TRB_PTR [TRB_PAR_3] = .RESULT [RESULT_VALUE];
;	  1802	
;	  1803					[6] : 		!Tributary Parameter 4
;	  1804					    TRB_PTR [TRB_PAR_4] = .RESULT [RESULT_VALUE];
;	  1805	
;	  1806					[7] : 		!Tributary Parameter 5
;	  1807					    TRB_PTR [TRB_PAR_5] = .RESULT [RESULT_VALUE];
;	  1808	
;	  1809					[8] : 		!Tributary Parameter 6
;	  1810					    TRB_PTR [TRB_PAR_6] = .RESULT [RESULT_VALUE];
;	  1811	
;	  1812					[9] : 		!Tributary Parameter 7
;	  1813					    TRB_PTR [TRB_PAR_7] = .RESULT [RESULT_VALUE];
;	  1814	
;	  1815					[OUTRANGE] :
;	  1816					    BEGIN
;	  1817					    ERRMSG (0, 24, ROUTINE_NAME, FILE_PTR [FILE_NAME], 0, 0, 0);
;	  1818					    SCAN_DONE = 1;
;	  1819					    END;
;	  1820					TES;
;	  1821	
;	  1822				    END
;	  1823				ELSE
;	  1824				    ERRMSG (0, 24, ROUTINE_NAME, FILE_PTR [FILE_NAME], 0, 0, 0);
;	  1825	
;	  1826	!
;	  1827	! SCAN FOR THE NEXT COMMA
;	  1828	!
;	  1829				SEARCH_DONE = 0;
;	  1830	
;	  1831				WHILE (.SEARCH_DONE EQL 0) DO
;	  1832				    BEGIN
;	  1833				    SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  1834	
;	  1835				    IF (.RESULT [RESULT_TYPE] EQL RT_SPECIAL)
;	  1836				    THEN
;	  1837	
;	  1838					IF (.RESULT [RESULT_VALUE] LSS 0)
;	  1839					THEN
;	  1840					    SEARCH_DONE = -1
;	  1841					ELSE
;	  1842	
;	  1843					    IF (.RESULT [RESULT_VALUE] EQL %C',') THEN SEARCH_DONE = 1;
;	  1844	
;	  1845				    END;
;	  1846	
;	  1847				IF (.SEARCH_DONE LSS 0) THEN SCAN_DONE = .SEARCH_DONE;
;	  1848	
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  75
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (13)

;	  1849				END;
;	  1850	
;	  1851			    END;
;	  1852	
;	  1853			VAL_POINTER = .VAL_POINTER + 1;
;	  1854			END;
;	  1855	
;	  1856		    END;
;	  1857	
;	  1858	!
;	  1859	! Finished with TRB$DF, Skip to end of line
;	  1860	!
;	  1861	
;	  1862	    IF (.SCAN_DONE GTR 0)
;	  1863	    THEN
;	  1864	
;	  1865		DO
;	  1866		    SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT)
;	  1867		UNTIL ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0));
;	  1868	
;	  1869	    END;					!OF R_TRB


P.AAT:	BYTE	(7)"R","E","A","D","-"		; READ-					402714' 122 105 101 104 055
	BYTE	(7)"T","R","B","$","D"		; TRB$D					402715' 124 122 102 044 104
	BYTE	(7)"F",000,000,000,000		; F					402716' 106 000 000 000 000


ROUTINE_NAME=	    P.AAT			;						000000	402714'


R_TRB:	PUSH	SP,AC0				; SP,AC0				402717' 261 17 0 00 000000		1693
	PUSH	SP,AC10				; SP,AC10				402720' 261 17 0 00 000010
	PUSH	SP,AC11				; SP,AC11				402721' 261 17 0 00 000011
	PUSH	SP,AC12				; SP,AC12				402722' 261 17 0 00 000012
	PUSH	SP,AC13				; SP,AC13				402723' 261 17 0 00 000013
	ADJSP	SP,24				; SP,24					402724' 105 17 0 00 000024
	MOVE	AC1,-32(SP)			; AC1,VALUES				402725' 200 01 0 17 777746		1747
	HLRZ	AC0,112(AC1)			; UNT_PTR,112(AC1)			402726' 554 00 0 01 000112
	PUSH	SP,C.43				; SP,[24]				402727' 261 17 0 00 403165'		1752
	PUSH	SP,C.44				; SP,[12]				402730' 261 17 0 00 403166'
	PUSHJ	SP,GETBLK			; SP,GETBLK				402731' 260 17 0 00 000000*
	MOVE	AC10,AC1			; TRB_PTR,AC1				402732' 200 10 0 00 000001
	ADJSP	SP,-2				; SP,-2					402733' 105 17 0 00 777776
	JUMPE	AC10,L.185			; TRB_PTR,L.185				402734' 322 10 0 00 402747'
	PUSH	SP,AC0				; SP,UNT_PTR				402735' 261 17 0 00 000000		1757
	MOVE	AC2,AC0				; AC2,UNT_PTR				402736' 200 02 0 00 000000
	HRRZ	AC1,4(AC2)			; AC1,4(AC2)				402737' 550 01 0 02 000004
	PUSH	SP,AC1				; SP,AC1				402740' 261 17 0 00 000001
	PUSH	SP,AC10				; SP,TRB_PTR				402741' 261 17 0 00 000010
	PUSHJ	SP,BLD_CHAIN			; SP,BLD_CHAIN				402742' 260 17 0 00 000000*
	ADJSP	SP,-3				; SP,-3					402743' 105 17 0 00 777775
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  76
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (13)

	MOVE	AC2,AC0				; AC2,UNT_PTR				402744' 200 02 0 00 000000
	HRRM	AC1,4(AC2)			; AC1,4(AC2)				402745' 542 01 0 02 000004
	JUMPN	AC1,L.186			; AC1,L.186				402746' 326 01 0 00 402761'
L.185:	PUSH	SP,C.4				; SP,[0]				402747' 261 17 0 00 400371'		1759
	PUSH	SP,C.3				; SP,[1]				402750' 261 17 0 00 400370'
	PUSH	SP,C.45				; SP,[0,,ROUTINE_NAME]			402751' 261 17 0 00 403167'
	PUSH	SP,C.4				; SP,[0]				402752' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402753' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402754' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				402755' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				402756' 260 17 0 00 000000*
	ADJSP	SP,-7				; SP,-7					402757' 105 17 0 00 777771
	JRST	L.209				; L.209					402760' 254 00 0 00 403142'		1757
L.186:	MOVEI	AC13,1				; VAL_POINTER,1				402761' 201 13 0 00 000001		1763
	SETZ	AC11,				; SCAN_DONE,				402762' 400 11 0 00 000000		1764
	MOVE	AC1,AC0				; AC1,UNT_PTR				402763' 200 01 0 00 000000		1765
	AOS	3(AC1)				; 3(AC1)				402764' 350 00 0 01 000003
	MOVE	AC12,-34(SP)			; AC12,FILE_PTR				402765' 200 12 0 17 777744		1769
L.187:	JUMPN	AC11,L.209			; SCAN_DONE,L.209			402766' 326 11 0 00 403142'		1767
	PUSH	SP,-35(SP)			; SP,FILE_CHAN				402767' 261 17 0 17 777743		1769
	PUSH	SP,AC12				; SP,AC12				402770' 261 17 0 00 000012
	PUSH	SP,-35(SP)			; SP,SAVE_CHAR				402771' 261 17 0 17 777743
	MOVEI	AC1,-26(SP)			; AC1,RESULT				402772' 201 01 0 17 777752
	PUSH	SP,AC1				; SP,AC1				402773' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				402774' 260 17 0 00 400503'
	MOVE	AC1,-27(SP)			; AC1,RESULT				402775' 200 01 0 17 777751		1771
	CAIN	AC1,3				; AC1,3					402776' 306 01 0 00 000003
	SKIPL	-26(SP)				; RESULT+1				402777' 331 00 0 17 777752
	JRST	L.188				; L.188					403000' 254 00 0 00 403003'
	SETO	AC11,				; SCAN_DONE,				403001' 474 11 0 00 000000		1773
	JRST	L.208				; L.208					403002' 254 00 0 00 403137'		1771
L.188:	CAIE	AC1,3				; AC1,3					403003' 302 01 0 00 000003		1777
	JRST	L.189				; L.189					403004' 254 00 0 00 403010'
	MOVEI	AC2,54				; AC2,54				403005' 201 02 0 00 000054
	CAMN	AC2,-26(SP)			; AC2,RESULT+1				403006' 316 02 0 17 777752
	JRST	L.208				; L.208					403007' 254 00 0 00 403137'
L.189:	CAIE	AC1,2				; AC1,2					403010' 302 01 0 00 000002		1781
	JRST	L.201				; L.201					403011' 254 00 0 00 403077'
	MOVE	AC1,AC13			; AC1,VAL_POINTER			403012' 200 01 0 00 000013		1785
	SOJL	AC1,L.191			; AC1,L.191				403013' 361 01 0 00 403030'
	CAIGE	AC1,11				; AC1,11				403014' 305 01 0 00 000011
	JRST	L.190(AC1)			; L.190(AC1)				403015' 254 00 0 01 403017'
	JRST	L.191				; L.191					403016' 254 00 0 00 403030'
L.190:	JRST	L.192				; L.192					403017' 254 00 0 00 403044'
	JRST	L.193				; L.193					403020' 254 00 0 00 403047'
	JRST	L.194				; L.194					403021' 254 00 0 00 403052'
	JRST	L.195				; L.195					403022' 254 00 0 00 403055'
	JRST	L.196				; L.196					403023' 254 00 0 00 403060'
	JRST	L.197				; L.197					403024' 254 00 0 00 403063'
	JRST	L.198				; L.198					403025' 254 00 0 00 403066'
	JRST	L.199				; L.199					403026' 254 00 0 00 403071'
	JRST	L.200				; L.200					403027' 254 00 0 00 403074'
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  77
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (13)

L.191:	SETZM	0(SP)				; 0(SP)					403030' 402 00 0 17 000000		1817
	PUSH	SP,C.7				; SP,[30]				403031' 261 17 0 00 400374'
	PUSH	SP,C.45				; SP,[0,,ROUTINE_NAME]			403032' 261 17 0 00 403167'
	MOVE	AC1,AC12			; AC1,AC12				403033' 200 01 0 00 000012
	ADDI	AC1,2				; AC1,2					403034' 271 01 0 00 000002
	PUSH	SP,AC1				; SP,AC1				403035' 261 17 0 00 000001
	PUSH	SP,C.4				; SP,[0]				403036' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				403037' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				403040' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				403041' 260 17 0 00 000000*
	MOVEI	AC11,1				; SCAN_DONE,1				403042' 201 11 0 00 000001		1818
	JRST	L.202				; L.202					403043' 254 00 0 00 403111'
L.192:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				403044' 200 01 0 17 777752		1789
	MOVEM	AC1,1(AC10)			; AC1,1(TRB_PTR)			403045' 202 01 0 10 000001
	JRST	L.203				; L.203					403046' 254 00 0 00 403112'		1785
L.193:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				403047' 200 01 0 17 777752		1792
	MOVEM	AC1,2(AC10)			; AC1,2(TRB_PTR)			403050' 202 01 0 10 000002
	JRST	L.203				; L.203					403051' 254 00 0 00 403112'		1785
L.194:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				403052' 200 01 0 17 777752		1795
	MOVEM	AC1,3(AC10)			; AC1,3(TRB_PTR)			403053' 202 01 0 10 000003
	JRST	L.203				; L.203					403054' 254 00 0 00 403112'		1785
L.195:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				403055' 200 01 0 17 777752		1798
	MOVEM	AC1,4(AC10)			; AC1,4(TRB_PTR)			403056' 202 01 0 10 000004
	JRST	L.203				; L.203					403057' 254 00 0 00 403112'		1785
L.196:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				403060' 200 01 0 17 777752		1801
	MOVEM	AC1,5(AC10)			; AC1,5(TRB_PTR)			403061' 202 01 0 10 000005
	JRST	L.203				; L.203					403062' 254 00 0 00 403112'		1785
L.197:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				403063' 200 01 0 17 777752		1804
	MOVEM	AC1,6(AC10)			; AC1,6(TRB_PTR)			403064' 202 01 0 10 000006
	JRST	L.203				; L.203					403065' 254 00 0 00 403112'		1785
L.198:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				403066' 200 01 0 17 777752		1807
	MOVEM	AC1,7(AC10)			; AC1,7(TRB_PTR)			403067' 202 01 0 10 000007
	JRST	L.203				; L.203					403070' 254 00 0 00 403112'		1785
L.199:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				403071' 200 01 0 17 777752		1810
	MOVEM	AC1,10(AC10)			; AC1,10(TRB_PTR)			403072' 202 01 0 10 000010
	JRST	L.203				; L.203					403073' 254 00 0 00 403112'		1785
L.200:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				403074' 200 01 0 17 777752		1813
	MOVEM	AC1,11(AC10)			; AC1,11(TRB_PTR)			403075' 202 01 0 10 000011
	JRST	L.203				; L.203					403076' 254 00 0 00 403112'		1781
L.201:	SETZM	0(SP)				; 0(SP)					403077' 402 00 0 17 000000		1824
	PUSH	SP,C.7				; SP,[30]				403100' 261 17 0 00 400374'
	PUSH	SP,C.45				; SP,[0,,ROUTINE_NAME]			403101' 261 17 0 00 403167'
	MOVE	AC1,AC12			; AC1,AC12				403102' 200 01 0 00 000012
	ADDI	AC1,2				; AC1,2					403103' 271 01 0 00 000002
	PUSH	SP,AC1				; SP,AC1				403104' 261 17 0 00 000001
	PUSH	SP,C.4				; SP,[0]				403105' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				403106' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				403107' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				403110' 260 17 0 00 000000*
L.202:	ADJSP	SP,-6				; SP,-6					403111' 105 17 0 00 777772
L.203:	SETZ	AC0,				; SEARCH_DONE,				403112' 400 00 0 00 000000		1829
L.204:	JUMPN	AC0,L.207			; SEARCH_DONE,L.207			403113' 326 00 0 00 403135'		1831
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  78
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (13)

	PUSH	SP,-41(SP)			; SP,FILE_CHAN				403114' 261 17 0 17 777737		1833
	PUSH	SP,AC12				; SP,AC12				403115' 261 17 0 00 000012
	PUSH	SP,-41(SP)			; SP,SAVE_CHAR				403116' 261 17 0 17 777737
	MOVEI	AC1,-32(SP)			; AC1,RESULT				403117' 201 01 0 17 777746
	PUSH	SP,AC1				; SP,AC1				403120' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				403121' 260 17 0 00 400503'
	MOVEI	AC1,3				; AC1,3					403122' 201 01 0 00 000003		1835
	CAME	AC1,-33(SP)			; AC1,RESULT				403123' 312 01 0 17 777745
	JRST	L.206				; L.206					403124' 254 00 0 00 403133'
	MOVE	AC1,-32(SP)			; AC1,RESULT+1				403125' 200 01 0 17 777746		1838
	JUMPGE	AC1,L.205			; AC1,L.205				403126' 325 01 0 00 403131'
	SETO	AC0,				; SEARCH_DONE,				403127' 474 00 0 00 000000		1840
	JRST	L.206				; L.206					403130' 254 00 0 00 403133'		1838
L.205:	CAIN	AC1,54				; AC1,54				403131' 306 01 0 00 000054		1843
	MOVEI	AC0,1				; SEARCH_DONE,1				403132' 201 00 0 00 000001
L.206:	ADJSP	SP,-4				; SP,-4					403133' 105 17 0 00 777774		1832
	JRST	L.204				; L.204					403134' 254 00 0 00 403113'		1831
L.207:	JUMPGE	AC0,L.208			; SEARCH_DONE,L.208			403135' 325 00 0 00 403137'		1847
	MOVE	AC11,AC0			; SCAN_DONE,SEARCH_DONE			403136' 200 11 0 00 000000
L.208:	ADDI	AC13,1				; VAL_POINTER,1				403137' 271 13 0 00 000001		1853
	ADJSP	SP,-4				; SP,-4					403140' 105 17 0 00 777774		1768
	JRST	L.187				; L.187					403141' 254 00 0 00 402766'		1767
L.209:	JUMPLE	AC11,L.211			; SCAN_DONE,L.211			403142' 323 11 0 00 403156'		1862
L.210:	PUSH	SP,-35(SP)			; SP,FILE_CHAN				403143' 261 17 0 17 777743		1866
	PUSH	SP,-35(SP)			; SP,FILE_PTR				403144' 261 17 0 17 777743
	PUSH	SP,-35(SP)			; SP,SAVE_CHAR				403145' 261 17 0 17 777743
	MOVEI	AC0,-26(SP)			; AC0,RESULT				403146' 201 00 0 17 777752
	PUSH	SP,AC0				; SP,AC0				403147' 261 17 0 00 000000
	PUSHJ	SP,SCAN				; SP,SCAN				403150' 260 17 0 00 400503'
	ADJSP	SP,-4				; SP,-4					403151' 105 17 0 00 777774
	MOVEI	AC0,3				; AC0,3					403152' 201 00 0 00 000003		1867
	CAMN	AC0,-23(SP)			; AC0,RESULT				403153' 316 00 0 17 777755
	SKIPL	-22(SP)				; RESULT+1				403154' 331 00 0 17 777756
	JRST	L.210				; L.210					403155' 254 00 0 00 403143'		1865
L.211:	ADJSP	SP,-24				; SP,-24				403156' 105 17 0 00 777754		1693
	POP	SP,AC13				; SP,AC13				403157' 262 17 0 00 000013
	POP	SP,AC12				; SP,AC12				403160' 262 17 0 00 000012
	POP	SP,AC11				; SP,AC11				403161' 262 17 0 00 000011
	POP	SP,AC10				; SP,AC10				403162' 262 17 0 00 000010
	POP	SP,AC0				; SP,AC0				403163' 262 17 0 00 000000
	POPJ	SP,				; SP,					403164' 263 17 0 00 000000
C.43:	EXP	24				; 24					403165' 000000	000024
C.44:	EXP	12				; 12					403166' 000000	000012
C.45:	XWD	0,ROUTINE_NAME			; 0,ROUTINE_NAME			403167' 000000	402714'

; Routine Size:  169 words
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  79
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (14)

;	  1870	ROUTINE R_TSK (FILE_CHAN, FILE_PTR, SAVE_CHAR, VALUES) : NOVALUE = 	!Read TSK$DF Line
;	  1871	
;	  1872	!++
;	  1873	! FUNCTIONAL DESCRIPTION:
;	  1874	!
;	  1875	!	Read and process the TSK$DF line of CETAB.MAC
;	  1876	!
;	  1877	! FORMAL PARAMETERS:
;	  1878	!
;	  1879	!	FILE_CHAN - Channel Number on which to read
;	  1880	!	FILE_PTR - File Block with File Name filled in
;	  1881	!	SAVE_CHAR - Address of Character Saved from Last Call To SCAN
;	  1882	!	VALUES - Block into which to store results
;	  1883	!
;	  1884	! IMPLICIT INPUTS:
;	  1885	!
;	  1886	!	NONE
;	  1887	!
;	  1888	! IMPLICIT OUTPUTS:
;	  1889	!
;	  1890	!	NONE
;	  1891	!
;	  1892	! ROUTINE VALUE:
;	  1893	!
;	  1894	!	NONE
;	  1895	!
;	  1896	! SIDE EFFECTS
;	  1897	!
;	  1898	!	Reads the remainder of the line from CETAB.MAC
;	  1899	!
;	  1900	!--
;	  1901	
;	  1902	    BEGIN
;	  1903	
;	  1904	    BIND
;	  1905		ROUTINE_NAME = UPLIT (%ASCIZ'READ-TSK$DF');
;	  1906	
;	  1907	    MAP
;	  1908		FILE_PTR : REF FILE_BLOCK,
;	  1909		VALUES : REF VNPVAL_BLOCK;
;	  1910	
;	  1911	    LOCAL
;	  1912		SCAN_DONE,
;	  1913		SEARCH_DONE,
;	  1914		RESULT : VECTOR [20],
;	  1915		VAL_POINTER,
;	  1916		CHAR,
;	  1917		STR_PTR,
;	  1918		TSKB_PTR : REF VNPTSK_BLOCK;
;	  1919	
;	  1920	!
;	  1921	! Allocate a VNPTSK Block and link it in with others
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  80
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (14)

;	  1922	!
;	  1923	
;	  1924	    IF ((TSKB_PTR = GETBLK (VNPTSK_TYP, VNPTSK_LEN)) EQL 0)
;	  1925	    THEN
;	  1926		ERRMSG (0, 1, ROUTINE_NAME, 0, 0, 0, 0)
;	  1927	    ELSE
;	  1928	
;	  1929		IF ((VALUES [TSK_CHAIN] = BLD_CHAIN (.VALUES, .VALUES [TSK_CHAIN], .TSKB_PTR)) EQL 0)
;	  1930		THEN
;	  1931		    ERRMSG (0,
;	  1932			1, ROUTINE_NAME, 0, 0, 0, 0)
;	  1933		ELSE
;	  1934		    BEGIN
;	  1935	!
;	  1936	! Store type of VNPTSK block this is:
;	  1937	!
;	  1938		    TSKB_PTR [TSK_TYPE] = TSK_TASK_TYPE;
;	  1939	!
;	  1940	! Scan each argument of TSK$DF and store in VNPTSK Block
;	  1941	!
;	  1942		    VAL_POINTER = 1;
;	  1943		    SCAN_DONE = 0;
;	  1944	
;	  1945		    WHILE (.SCAN_DONE EQL 0) DO
;	  1946			BEGIN
;	  1947			SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  1948	
;	  1949			IF ((.RESULT [RESULT_TYPE] NEQ RT_SPECIAL) OR (.RESULT [RESULT_VALUE] NEQ %C','))
;	  1950			THEN
;	  1951			    BEGIN
;	  1952	
;	  1953			    CASE .VAL_POINTER FROM 1 TO 2 OF
;	  1954				SET
;	  1955	
;	  1956				[1] : 			!Main Task Name
;	  1957				    BEGIN
;	  1958	
;	  1959				    IF (.RESULT [RESULT_TYPE] NEQ RT_NAME)
;	  1960				    THEN
;	  1961					ERRMSG (0, 24, ROUTINE_NAME,
;	  1962					    FILE_PTR [FILE_NAME], 0, 0, 0)
;	  1963				    ELSE
;	  1964					CH$MOVE (LEN_TSK_NAME, CH$PTR (RESULT [RESULT_VALUE]),
;	  1965					    CH$PTR (TSKB_PTR [TSK_NAME]));
;	  1966	
;	  1967				    END;
;	  1968	
;	  1969				[2] : 			!Time to run task
;	  1970				    BEGIN
;	  1971	
;	  1972				    IF (.RESULT [RESULT_TYPE] NEQ RT_NUMBER)
;	  1973				    THEN
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  81
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (14)

;	  1974					ERRMSG (0, 24, ROUTINE_NAME,
;	  1975					    FILE_PTR [FILE_NAME], 0, 0, 0)
;	  1976				    ELSE
;	  1977					TSKB_PTR [TSK_TIME] = .RESULT [RESULT_VALUE];
;	  1978	
;	  1979				    END;
;	  1980				TES;
;	  1981	
;	  1982	!
;	  1983	! Scan for the next comma
;	  1984	!
;	  1985			    SEARCH_DONE = 0;
;	  1986	
;	  1987			    WHILE (.SEARCH_DONE EQL 0) DO
;	  1988				BEGIN
;	  1989				SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  1990	
;	  1991				IF (.RESULT [RESULT_TYPE] EQL RT_SPECIAL)
;	  1992				THEN
;	  1993	
;	  1994				    IF (.RESULT [RESULT_VALUE] LSS 0)
;	  1995				    THEN
;	  1996					SEARCH_DONE = -1
;	  1997				    ELSE
;	  1998	
;	  1999					IF (.RESULT [RESULT_VALUE] EQL %C',') THEN SEARCH_DONE = 1;
;	  2000	
;	  2001				END;
;	  2002	
;	  2003			    IF (.SEARCH_DONE LSS 0) THEN SCAN_DONE = .SEARCH_DONE;
;	  2004	
;	  2005			    VAL_POINTER = .VAL_POINTER + 1;
;	  2006			    END;
;	  2007	
;	  2008			END;
;	  2009	
;	  2010		    END;
;	  2011	
;	  2012	!
;	  2013	! Finished with TSK$DF, Skip to end of line
;	  2014	!
;	  2015	
;	  2016	    IF (.SCAN_DONE GTR 0)
;	  2017	    THEN
;	  2018	
;	  2019		DO
;	  2020		    SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT)
;	  2021		UNTIL ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0));
;	  2022	
;	  2023	    END;					!OF R_TSK
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  82
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (14)

P.AAU:	BYTE	(7)"R","E","A","D","-"		; READ-					403170' 122 105 101 104 055
	BYTE	(7)"T","S","K","$","D"		; TSK$D					403171' 124 123 113 044 104
	BYTE	(7)"F",000,000,000,000		; F					403172' 106 000 000 000 000


ROUTINE_NAME=	    P.AAU			;						000000	403170'


R_TSK:	PUSH	SP,AC0				; SP,AC0				403173' 261 17 0 00 000000		1870
	PUSH	SP,AC10				; SP,AC10				403174' 261 17 0 00 000010
	PUSH	SP,AC11				; SP,AC11				403175' 261 17 0 00 000011
	PUSH	SP,AC12				; SP,AC12				403176' 261 17 0 00 000012
	PUSH	SP,AC13				; SP,AC13				403177' 261 17 0 00 000013
	ADJSP	SP,24				; SP,24					403200' 105 17 0 00 000024
	PUSH	SP,C.46				; SP,[26]				403201' 261 17 0 00 403372'		1924
	PUSH	SP,C.47				; SP,[5]				403202' 261 17 0 00 403373'
	PUSHJ	SP,GETBLK			; SP,GETBLK				403203' 260 17 0 00 000000*
	MOVE	AC0,AC1				; TSKB_PTR,AC1				403204' 200 00 0 00 000001
	ADJSP	SP,-2				; SP,-2					403205' 105 17 0 00 777776
	JUMPE	AC0,L.212			; TSKB_PTR,L.212			403206' 322 00 0 00 403220'
	MOVE	AC10,-32(SP)			; AC10,VALUES				403207' 200 10 0 17 777746		1929
	PUSH	SP,AC10				; SP,AC10				403210' 261 17 0 00 000010
	HRRZ	AC1,3(AC10)			; AC1,3(AC10)				403211' 550 01 0 10 000003
	PUSH	SP,AC1				; SP,AC1				403212' 261 17 0 00 000001
	PUSH	SP,AC0				; SP,TSKB_PTR				403213' 261 17 0 00 000000
	PUSHJ	SP,BLD_CHAIN			; SP,BLD_CHAIN				403214' 260 17 0 00 000000*
	ADJSP	SP,-3				; SP,-3					403215' 105 17 0 00 777775
	HRRM	AC1,3(AC10)			; AC1,3(AC10)				403216' 542 01 0 10 000003
	JUMPN	AC1,L.213			; AC1,L.213				403217' 326 01 0 00 403232'
L.212:	PUSH	SP,C.4				; SP,[0]				403220' 261 17 0 00 400371'		1931
	PUSH	SP,C.3				; SP,[1]				403221' 261 17 0 00 400370'
	PUSH	SP,C.48				; SP,[0,,ROUTINE_NAME]			403222' 261 17 0 00 403374'
	PUSH	SP,C.4				; SP,[0]				403223' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				403224' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				403225' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				403226' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				403227' 260 17 0 00 000000*
	ADJSP	SP,-7				; SP,-7					403230' 105 17 0 00 777771
	JRST	L.228				; L.228					403231' 254 00 0 00 403347'		1929
L.213:	MOVEI	AC1,1				; AC1,1					403232' 201 01 0 00 000001		1938
	MOVE	AC2,AC0				; AC2,TSKB_PTR				403233' 200 02 0 00 000000
	MOVEM	AC1,1(AC2)			; AC1,1(AC2)				403234' 202 01 0 02 000001
	MOVEI	AC13,1				; VAL_POINTER,1				403235' 201 13 0 00 000001		1942
	SETZ	AC11,				; SCAN_DONE,				403236' 400 11 0 00 000000		1943
	MOVE	AC12,-34(SP)			; AC12,FILE_PTR				403237' 200 12 0 17 777744		1947
L.214:	JUMPN	AC11,L.228			; SCAN_DONE,L.228			403240' 326 11 0 00 403347'		1945
	PUSH	SP,-35(SP)			; SP,FILE_CHAN				403241' 261 17 0 17 777743		1947
	PUSH	SP,AC12				; SP,AC12				403242' 261 17 0 00 000012
	PUSH	SP,-35(SP)			; SP,SAVE_CHAR				403243' 261 17 0 17 777743
	MOVEI	AC1,-26(SP)			; AC1,RESULT				403244' 201 01 0 17 777752
	PUSH	SP,AC1				; SP,AC1				403245' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				403246' 260 17 0 00 400503'
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  83
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (14)

	MOVE	AC1,-27(SP)			; AC1,RESULT				403247' 200 01 0 17 777751		1949
	CAIE	AC1,3				; AC1,3					403250' 302 01 0 00 000003
	JRST	L.215				; L.215					403251' 254 00 0 00 403255'
	MOVEI	AC2,54				; AC2,54				403252' 201 02 0 00 000054
	CAMN	AC2,-26(SP)			; AC2,RESULT+1				403253' 316 02 0 17 777752
	JRST	L.227				; L.227					403254' 254 00 0 00 403345'
L.215:	MOVE	AC2,AC13			; AC2,VAL_POINTER			403255' 200 02 0 00 000013		1953
	SUBI	AC2,1				; AC2,1					403256' 275 02 0 00 000001
	JRST	L.216(AC2)			; L.216(AC2)				403257' 254 00 0 02 403260'
L.216:	JRST	L.217				; L.217					403260' 254 00 0 00 403262'
	JRST	L.218				; L.218					403261' 254 00 0 00 403276'
L.217:	CAIE	AC1,1				; AC1,1					403262' 302 01 0 00 000001		1959
	JRST	L.219				; L.219					403263' 254 00 0 00 403300'
	MOVEI	AC2,-27(SP)			; AC2,RESULT				403264' 201 02 0 17 777751		1964
	HRLI	AC2,10700			; AC2,10700				403265' 505 02 0 00 010700
	MOVE	AC1,AC0				; AC1,TSKB_PTR				403266' 200 01 0 00 000000		1965
	MOVEI	AC5,1(AC1)			; AC5,1(AC1)				403267' 201 05 0 01 000001
	HRLI	AC5,10700			; AC5,10700				403270' 505 05 0 00 010700
	MOVEI	AC1,6				; AC1,6					403271' 201 01 0 00 000006		1964
	MOVEI	AC4,6				; AC4,6					403272' 201 04 0 00 000006
	EXTEND	AC1,C.23			; AC1,[MOVSLJ ]				403273' 123 01 0 00 401030'
	JFCL					; 					403274' 255 00 0 00 000000
	JRST	L.221				; L.221					403275' 254 00 0 00 403317'		1953
L.218:	CAIN	AC1,2				; AC1,2					403276' 306 01 0 00 000002		1972
	JRST	L.220				; L.220					403277' 254 00 0 00 403314'
L.219:	SETZM	0(SP)				; 0(SP)					403300' 402 00 0 17 000000		1974
	PUSH	SP,C.7				; SP,[30]				403301' 261 17 0 00 400374'
	PUSH	SP,C.48				; SP,[0,,ROUTINE_NAME]			403302' 261 17 0 00 403374'
	MOVE	AC1,AC12			; AC1,AC12				403303' 200 01 0 00 000012		1975
	ADDI	AC1,2				; AC1,2					403304' 271 01 0 00 000002
	PUSH	SP,AC1				; SP,AC1				403305' 261 17 0 00 000001
	PUSH	SP,C.4				; SP,[0]				403306' 261 17 0 00 400371'		1974
	PUSH	SP,C.4				; SP,[0]				403307' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				403310' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				403311' 260 17 0 00 000000*
	ADJSP	SP,-6				; SP,-6					403312' 105 17 0 00 777772
	JRST	L.221				; L.221					403313' 254 00 0 00 403317'		1972
L.220:	MOVE	AC1,-26(SP)			; AC1,RESULT+1				403314' 200 01 0 17 777752		1977
	MOVE	AC2,AC0				; AC2,TSKB_PTR				403315' 200 02 0 00 000000
	MOVEM	AC1,4(AC2)			; AC1,4(AC2)				403316' 202 01 0 02 000004
L.221:	SETZ	AC10,				; SEARCH_DONE,				403317' 400 10 0 00 000000		1985
L.222:	JUMPN	AC10,L.225			; SEARCH_DONE,L.225			403320' 326 10 0 00 403342'		1987
	PUSH	SP,-41(SP)			; SP,FILE_CHAN				403321' 261 17 0 17 777737		1989
	PUSH	SP,AC12				; SP,AC12				403322' 261 17 0 00 000012
	PUSH	SP,-41(SP)			; SP,SAVE_CHAR				403323' 261 17 0 17 777737
	MOVEI	AC1,-32(SP)			; AC1,RESULT				403324' 201 01 0 17 777746
	PUSH	SP,AC1				; SP,AC1				403325' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				403326' 260 17 0 00 400503'
	MOVEI	AC1,3				; AC1,3					403327' 201 01 0 00 000003		1991
	CAME	AC1,-33(SP)			; AC1,RESULT				403330' 312 01 0 17 777745
	JRST	L.224				; L.224					403331' 254 00 0 00 403340'
	MOVE	AC1,-32(SP)			; AC1,RESULT+1				403332' 200 01 0 17 777746		1994
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  84
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (14)

	JUMPGE	AC1,L.223			; AC1,L.223				403333' 325 01 0 00 403336'
	SETO	AC10,				; SEARCH_DONE,				403334' 474 10 0 00 000000		1996
	JRST	L.224				; L.224					403335' 254 00 0 00 403340'		1994
L.223:	CAIN	AC1,54				; AC1,54				403336' 306 01 0 00 000054		1999
	MOVEI	AC10,1				; SEARCH_DONE,1				403337' 201 10 0 00 000001
L.224:	ADJSP	SP,-4				; SP,-4					403340' 105 17 0 00 777774		1988
	JRST	L.222				; L.222					403341' 254 00 0 00 403320'		1987
L.225:	JUMPGE	AC10,L.226			; SEARCH_DONE,L.226			403342' 325 10 0 00 403344'		2003
	MOVE	AC11,AC10			; SCAN_DONE,SEARCH_DONE			403343' 200 11 0 00 000010
L.226:	ADDI	AC13,1				; VAL_POINTER,1				403344' 271 13 0 00 000001		2005
L.227:	ADJSP	SP,-4				; SP,-4					403345' 105 17 0 00 777774		1946
	JRST	L.214				; L.214					403346' 254 00 0 00 403240'		1945
L.228:	JUMPLE	AC11,L.230			; SCAN_DONE,L.230			403347' 323 11 0 00 403363'		2016
L.229:	PUSH	SP,-35(SP)			; SP,FILE_CHAN				403350' 261 17 0 17 777743		2020
	PUSH	SP,-35(SP)			; SP,FILE_PTR				403351' 261 17 0 17 777743
	PUSH	SP,-35(SP)			; SP,SAVE_CHAR				403352' 261 17 0 17 777743
	MOVEI	AC0,-26(SP)			; AC0,RESULT				403353' 201 00 0 17 777752
	PUSH	SP,AC0				; SP,AC0				403354' 261 17 0 00 000000
	PUSHJ	SP,SCAN				; SP,SCAN				403355' 260 17 0 00 400503'
	ADJSP	SP,-4				; SP,-4					403356' 105 17 0 00 777774
	MOVEI	AC0,3				; AC0,3					403357' 201 00 0 00 000003		2021
	CAMN	AC0,-23(SP)			; AC0,RESULT				403360' 316 00 0 17 777755
	SKIPL	-22(SP)				; RESULT+1				403361' 331 00 0 17 777756
	JRST	L.229				; L.229					403362' 254 00 0 00 403350'		2019
L.230:	ADJSP	SP,-24				; SP,-24				403363' 105 17 0 00 777754		1870
	POP	SP,AC13				; SP,AC13				403364' 262 17 0 00 000013
	POP	SP,AC12				; SP,AC12				403365' 262 17 0 00 000012
	POP	SP,AC11				; SP,AC11				403366' 262 17 0 00 000011
	POP	SP,AC10				; SP,AC10				403367' 262 17 0 00 000010
	POP	SP,AC0				; SP,AC0				403370' 262 17 0 00 000000
	POPJ	SP,				; SP,					403371' 263 17 0 00 000000
C.46:	EXP	26				; 26					403372' 000000	000026
C.47:	EXP	5				; 5					403373' 000000	000005
C.48:	XWD	0,ROUTINE_NAME			; 0,ROUTINE_NAME			403374' 000000	403170'

; Routine Size:  130 words
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  85
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (15)

;	  2024	ROUTINE R_DRV (FILE_CHAN, FILE_PTR, SAVE_CHAR, VALUES) : NOVALUE = 	!Read DRV$DF Line
;	  2025	
;	  2026	!++
;	  2027	! FUNCTIONAL DESCRIPTION:
;	  2028	!
;	  2029	!	Read DRV$DF line and process definition
;	  2030	!
;	  2031	! FORMAL PARAMETERS:
;	  2032	!
;	  2033	!	FILE_CHAN - Channel Number on Which to Read
;	  2034	!	FILE_PTR - File Block With File Name Filled In
;	  2035	!	SAVE_CHAR - Address of Character Saved From Last Call to SCAN
;	  2036	!	VALUES - Block Into Which to Store Results
;	  2037	!
;	  2038	! IMPLICIT INPUTS:
;	  2039	!
;	  2040	!	NONE
;	  2041	!
;	  2042	! IMPLICIT OUTPUTS:
;	  2043	!
;	  2044	!	NONE
;	  2045	!
;	  2046	! ROUTINE VALUE:
;	  2047	!
;	  2048	!	NONE
;	  2049	!
;	  2050	! SIDE EFFECTS
;	  2051	!
;	  2052	!	Reads the remainder of the line from CETAB.MAC
;	  2053	!
;	  2054	!--
;	  2055	
;	  2056	    BEGIN
;	  2057	
;	  2058	    BIND
;	  2059		ROUTINE_NAME = UPLIT (%ASCIZ'READ-DRV$DF');
;	  2060	
;	  2061	    MAP
;	  2062		FILE_PTR : REF FILE_BLOCK,
;	  2063		VALUES : REF VNPVAL_BLOCK;
;	  2064	
;	  2065	    LOCAL
;	  2066		SEARCH_DONE,
;	  2067		RESULT : VECTOR [20],
;	  2068		VAL_POINTER,
;	  2069		CHAR,
;	  2070		TSKB_PTR : REF VNPTSK_BLOCK;
;	  2071	
;	  2072	!
;	  2073	! Allocate an VNPTSK Block and link it in with others
;	  2074	!
;	  2075	
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  86
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (15)

;	  2076	    IF ((TSKB_PTR = GETBLK (VNPTSK_TYP, VNPTSK_LEN)) EQL 0)
;	  2077	    THEN
;	  2078		ERRMSG (0, 1, ROUTINE_NAME, 0, 0, 0, 0)
;	  2079	    ELSE
;	  2080	
;	  2081		IF ((VALUES [TSK_CHAIN] = BLD_CHAIN (.VALUES, .VALUES [TSK_CHAIN], .TSKB_PTR)) EQL 0)
;	  2082		THEN
;	  2083		    ERRMSG (0,
;	  2084			1, ROUTINE_NAME, 0, 0, 0, 0)
;	  2085		ELSE
;	  2086		    BEGIN
;	  2087	!
;	  2088	! Store type of VNPTSK block this is:
;	  2089	!
;	  2090		    TSKB_PTR [TSK_TYPE] = TSK_DRIVER_TYPE;
;	  2091	!
;	  2092	! DRV$DF has only a single argument, the two character driver name
;	  2093	!
;	  2094		    SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT);
;	  2095	
;	  2096		    IF (.RESULT [RESULT_TYPE] NEQ RT_NAME)
;	  2097		    THEN
;	  2098			ERRMSG (0, 24, ROUTINE_NAME, FILE_PTR [FILE_NAME], 0,
;	  2099			    0, 0)
;	  2100		    ELSE
;	  2101			CH$MOVE (LEN_DRV_NAME, CH$PTR (RESULT [RESULT_VALUE]), CH$PTR (TSKB_PTR [TSK_NAME]));
;	  2102	
;	  2103		    END;
;	  2104	
;	  2105	!
;	  2106	! Finished with DRV$DF, Skip to end of line
;	  2107	!
;	  2108	
;	  2109	    DO
;	  2110		SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT)
;	  2111	    UNTIL ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0));
;	  2112	
;	  2113	    END;					!OF R_DRV


P.AAV:	BYTE	(7)"R","E","A","D","-"		; READ-					403375' 122 105 101 104 055
	BYTE	(7)"D","R","V","$","D"		; DRV$D					403376' 104 122 126 044 104
	BYTE	(7)"F",000,000,000,000		; F					403377' 106 000 000 000 000


ROUTINE_NAME=	    P.AAV			;						000000	403375'


R_DRV:	PUSH	SP,AC0				; SP,AC0				403400' 261 17 0 00 000000		2024
	PUSH	SP,AC10				; SP,AC10				403401' 261 17 0 00 000010
	ADJSP	SP,24				; SP,24					403402' 105 17 0 00 000024
	PUSH	SP,C.46				; SP,[26]				403403' 261 17 0 00 403372'		2076
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  87
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (15)

	PUSH	SP,C.47				; SP,[5]				403404' 261 17 0 00 403373'
	PUSHJ	SP,GETBLK			; SP,GETBLK				403405' 260 17 0 00 000000*
	MOVE	AC0,AC1				; TSKB_PTR,AC1				403406' 200 00 0 00 000001
	ADJSP	SP,-2				; SP,-2					403407' 105 17 0 00 777776
	JUMPE	AC0,L.231			; TSKB_PTR,L.231			403410' 322 00 0 00 403422'
	MOVE	AC10,-27(SP)			; AC10,VALUES				403411' 200 10 0 17 777751		2081
	PUSH	SP,AC10				; SP,AC10				403412' 261 17 0 00 000010
	HRRZ	AC1,3(AC10)			; AC1,3(AC10)				403413' 550 01 0 10 000003
	PUSH	SP,AC1				; SP,AC1				403414' 261 17 0 00 000001
	PUSH	SP,AC0				; SP,TSKB_PTR				403415' 261 17 0 00 000000
	PUSHJ	SP,BLD_CHAIN			; SP,BLD_CHAIN				403416' 260 17 0 00 000000*
	ADJSP	SP,-3				; SP,-3					403417' 105 17 0 00 777775
	HRRM	AC1,3(AC10)			; AC1,3(AC10)				403420' 542 01 0 10 000003
	JUMPN	AC1,L.232			; AC1,L.232				403421' 326 01 0 00 403434'
L.231:	PUSH	SP,C.4				; SP,[0]				403422' 261 17 0 00 400371'		2083
	PUSH	SP,C.3				; SP,[1]				403423' 261 17 0 00 400370'
	PUSH	SP,C.49				; SP,[0,,ROUTINE_NAME]			403424' 261 17 0 00 403515'
	PUSH	SP,C.4				; SP,[0]				403425' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				403426' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				403427' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				403430' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				403431' 260 17 0 00 000000*
	ADJSP	SP,-3				; SP,-3					403432' 105 17 0 00 777775
	JRST	L.234				; L.234					403433' 254 00 0 00 403475'		2081
L.232:	MOVEI	AC1,2				; AC1,2					403434' 201 01 0 00 000002		2090
	MOVE	AC2,AC0				; AC2,TSKB_PTR				403435' 200 02 0 00 000000
	MOVEM	AC1,1(AC2)			; AC1,1(AC2)				403436' 202 01 0 02 000001
	PUSH	SP,-32(SP)			; SP,FILE_CHAN				403437' 261 17 0 17 777746		2094
	PUSH	SP,-32(SP)			; SP,FILE_PTR				403440' 261 17 0 17 777746
	PUSH	SP,-32(SP)			; SP,SAVE_CHAR				403441' 261 17 0 17 777746
	MOVEI	AC1,-26(SP)			; AC1,RESULT				403442' 201 01 0 17 777752
	PUSH	SP,AC1				; SP,AC1				403443' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				403444' 260 17 0 00 400503'
	MOVEI	AC1,1				; AC1,1					403445' 201 01 0 00 000001		2096
	CAMN	AC1,-27(SP)			; AC1,RESULT				403446' 316 01 0 17 777751
	JRST	L.233				; L.233					403447' 254 00 0 00 403464'
	SETZM	0(SP)				; 0(SP)					403450' 402 00 0 17 000000		2098
	PUSH	SP,C.7				; SP,[30]				403451' 261 17 0 00 400374'
	PUSH	SP,C.49				; SP,[0,,ROUTINE_NAME]			403452' 261 17 0 00 403515'
	MOVE	AC1,-37(SP)			; AC1,FILE_PTR				403453' 200 01 0 17 777741
	ADDI	AC1,2				; AC1,2					403454' 271 01 0 00 000002
	PUSH	SP,AC1				; SP,AC1				403455' 261 17 0 00 000001
	PUSH	SP,C.4				; SP,[0]				403456' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				403457' 261 17 0 00 400371'
	PUSH	SP,C.4				; SP,[0]				403460' 261 17 0 00 400371'
	PUSHJ	SP,ERRMSG			; SP,ERRMSG				403461' 260 17 0 00 000000*
	ADJSP	SP,-6				; SP,-6					403462' 105 17 0 00 777772
	JRST	L.234				; L.234					403463' 254 00 0 00 403475'		2096
L.233:	MOVEI	AC2,-27(SP)			; AC2,RESULT				403464' 201 02 0 17 777751		2101
	HRLI	AC2,10700			; AC2,10700				403465' 505 02 0 00 010700
	MOVE	AC1,AC0				; AC1,TSKB_PTR				403466' 200 01 0 00 000000
	MOVEI	AC5,1(AC1)			; AC5,1(AC1)				403467' 201 05 0 01 000001
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  88
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (15)

	HRLI	AC5,10700			; AC5,10700				403470' 505 05 0 00 010700
	MOVEI	AC1,2				; AC1,2					403471' 201 01 0 00 000002
	MOVEI	AC4,2				; AC4,2					403472' 201 04 0 00 000002
	EXTEND	AC1,C.23			; AC1,[MOVSLJ ]				403473' 123 01 0 00 401030'
	JFCL					; 					403474' 255 00 0 00 000000
L.234:	PUSH	SP,-36(SP)			; SP,FILE_CHAN				403475' 261 17 0 17 777742		2110
	PUSH	SP,-36(SP)			; SP,FILE_PTR				403476' 261 17 0 17 777742
	PUSH	SP,-36(SP)			; SP,SAVE_CHAR				403477' 261 17 0 17 777742
	MOVEI	AC0,-32(SP)			; AC0,RESULT				403500' 201 00 0 17 777746
	PUSH	SP,AC0				; SP,AC0				403501' 261 17 0 00 000000
	PUSHJ	SP,SCAN				; SP,SCAN				403502' 260 17 0 00 400503'
	ADJSP	SP,-4				; SP,-4					403503' 105 17 0 00 777774
	MOVEI	AC0,3				; AC0,3					403504' 201 00 0 00 000003		2111
	CAMN	AC0,-27(SP)			; AC0,RESULT				403505' 316 00 0 17 777751
	SKIPL	-26(SP)				; RESULT+1				403506' 331 00 0 17 777752
	JRST	L.234				; L.234					403507' 254 00 0 00 403475'		2109
	ADJSP	SP,-4				; SP,-4					403510' 105 17 0 00 777774		2056
	ADJSP	SP,-24				; SP,-24				403511' 105 17 0 00 777754		2024
	POP	SP,AC10				; SP,AC10				403512' 262 17 0 00 000010
	POP	SP,AC0				; SP,AC0				403513' 262 17 0 00 000000
	POPJ	SP,				; SP,					403514' 263 17 0 00 000000
C.49:	XWD	0,ROUTINE_NAME			; 0,ROUTINE_NAME			403515' 000000	403375'

; Routine Size:  78 words
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  89
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (16)

;	  2114	ROUTINE R_END (FILE_CHAN, FILE_PTR, SAVE_CHAR, VALUES) : NOVALUE = 	!READ END$DF LINE
;	  2115	
;	  2116	!++
;	  2117	! FUNCTIONAL DESCRIPTION:
;	  2118	!
;	  2119	!	READ AND PROCESS THE END$DF LINE OF CETAB.MAC
;	  2120	!
;	  2121	! FORMAL PARAMETERS:
;	  2122	!
;	  2123	!	FILE_CHAN - CHANNEL NUMBER ON WHICH TO READ
;	  2124	!	FILE_PTR - FILE BLOCK WITH FILE NAME FILLED IN
;	  2125	!	SAVE_CHAR - ADDRESS OF CHARACTER SAVED FROM LAST CALL TO SCAN
;	  2126	!	VALUES - BLOCK INTO WHICH TO STORE RESULTS
;	  2127	!
;	  2128	! IMPLICIT INPUTS:
;	  2129	!
;	  2130	!	NONE
;	  2131	!
;	  2132	! IMPLICIT OUTPUTS:
;	  2133	!
;	  2134	!	NONE
;	  2135	!
;	  2136	! ROUTINE VALUE:
;	  2137	!
;	  2138	!	NONE
;	  2139	!
;	  2140	! SIDE EFFECTS
;	  2141	!
;	  2142	!	READS THE REMAINDER OF THE LINE FROM CETAB.MAC
;	  2143	!
;	  2144	!--
;	  2145	
;	  2146	    BEGIN
;	  2147	
;	  2148	    BIND
;	  2149		ROUTINE_NAME = UPLIT (%ASCIZ'READ-END$DF');
;	  2150	
;	  2151	    MAP
;	  2152		FILE_PTR : REF FILE_BLOCK,
;	  2153		VALUES : REF VNPVAL_BLOCK;
;	  2154	
;	  2155	    LOCAL
;	  2156		RESULT : VECTOR [20],
;	  2157		VAL_POINTER;
;	  2158	
;	  2159	!
;	  2160	! THERE ARE NO PARAMETERS ON THIS LINE
;	  2161	!
;	  2162	!
;	  2163	! FINISHED WITH END$DF, SKIP TO END OF LINE
;	  2164	!
;	  2165	
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  90
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (16)

;	  2166	    DO
;	  2167		SCAN (.FILE_CHAN, .FILE_PTR, .SAVE_CHAR, RESULT)
;	  2168	    UNTIL ((.RESULT [RESULT_TYPE] EQL RT_SPECIAL) AND (.RESULT [RESULT_VALUE] LSS 0));
;	  2169	
;	  2170	    END;					!OF R_END


P.AAW:	BYTE	(7)"R","E","A","D","-"		; READ-					403516' 122 105 101 104 055
	BYTE	(7)"E","N","D","$","D"		; END$D					403517' 105 116 104 044 104
	BYTE	(7)"F",000,000,000,000		; F					403520' 106 000 000 000 000


ROUTINE_NAME=	    P.AAW			;						000000	403516'


R_END:	ADJSP	SP,24				; SP,24					403521' 105 17 0 00 000024		2114
L.235:	PUSH	SP,-30(SP)			; SP,FILE_CHAN				403522' 261 17 0 17 777750		2167
	PUSH	SP,-30(SP)			; SP,FILE_PTR				403523' 261 17 0 17 777750
	PUSH	SP,-30(SP)			; SP,SAVE_CHAR				403524' 261 17 0 17 777750
	MOVEI	AC1,-26(SP)			; AC1,RESULT				403525' 201 01 0 17 777752
	PUSH	SP,AC1				; SP,AC1				403526' 261 17 0 00 000001
	PUSHJ	SP,SCAN				; SP,SCAN				403527' 260 17 0 00 400503'
	ADJSP	SP,-4				; SP,-4					403530' 105 17 0 00 777774
	MOVEI	AC1,3				; AC1,3					403531' 201 01 0 00 000003		2168
	CAMN	AC1,-23(SP)			; AC1,RESULT				403532' 316 01 0 17 777755
	SKIPL	-22(SP)				; RESULT+1				403533' 331 00 0 17 777756
	JRST	L.235				; L.235					403534' 254 00 0 00 403522'		2166
	ADJSP	SP,-24				; SP,-24				403535' 105 17 0 00 777754		2114
	POPJ	SP,				; SP,					403536' 263 17 0 00 000000

; Routine Size:  14 words


;	  2171	END
;	  2172	
;	  2173	ELUDOM



	END

; Low  segment length:       0 words
; High segment length:    1887 words




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
RTXT								25-Jan-1983 10:25:25	TOPS-20 Bliss-36 2A(142)	    Page  91
X3.1								 1-Jan-1983 15:38:34	NETPKG:<VNP36>RTXT.BLI.7 (16)

;  NETPKG:<VNP36>VNPLIB.L36.6		       498       284        57         0





;	  2174	! Local Modes:
;	  2175	! Comment Column:36
;	  2176	! Comment Start:!
;	  2177	! Mode:Fundamental
;	  2178	! Auto Save Mode:2
; Size:		1822 code + 65 data words
; Run Time:	00:31.7
; Elapsed Time:	01:49.6
; Memory Used:	49 pages
; Compilation Complete
BLD_CHAIN			 122	 854	 984	1208	1292	1386	1571	1757	1929	2081
CHAR				 337	 371	 460	 470#	 472	 478#	 480	 481#	 483	 493	 503	 504#
				 506	 509	 520	 521	 522#	 524	 526	 535	 543	 840	1916	2069
CLASS				  59	 337*	 493	 506	 524
CLOSE				 119	 324
COR				 766
CTL_BLOCK			1365	1550
CTL_CONT			1417
CTL_DEV				1489
CTL_LEN				1381
CTL_NUM_OF_UNTS			1577
CTL_PAR_0			1420
CTL_PAR_1			1423
CTL_PAR_2			1426
CTL_PAR_3			1429
CTL_PAR_4			1432
CTL_PAR_5			1435
CTL_PAR_6			1438
CTL_PAR_7			1441
CTL_PTR				1365	1381#	1386	1417#	1420#	1423#	1426#	1429#	1432#	1435#	1438#	1441#
				1489#	1493	1550	1561#	1571#	1577#	1676
CTL_TYP				1381
CTL_UNT				1571
CURRENT_CTL			1493	1561
CURRENT_DEV			1312	1375	1560
CURRENT_SLT			1137
CURRENT_UNT			1680	1747
DECIMAL_NUM			 462	 516#	 521#	 529
DEVICE_NAME			 887
DEV_BLOCK			1277	1366	1551
DEV_CHAIN			1292
DEV_CTL				1386
DEV_LEN				1287
DEV_NAME			1305
DEV_NUM_OF_CTLS			1376
DEV_PTR				1277	1287#	1292	1305	1312	1366	1375#	1376#	1386#	1489	1551	1560#
				1675
DEV_TYP				1287
DSR				 763
ERRMSG				 125	 229	 260	 276	 303	 653	 665	 682	 754	 779	 851	 856
				 873	 906	 981	 986	1016	1028	1040	1052	1064	1079	1097	1205
				1210	1218	1289	1294	1302	1383	1388	1445	1452	1568	1573	1631
				1638	1754	1759	1817	1824	1926	1931	1961	1974	2078	2083	2098
ERROR				 124	 474
FILE_BLOCK			 167	 456	 629	 736	 834	 965	1189	1273	1361	1545	1732	1908
				2062	2152
FILE_CHAN			 130	 178	 201	 208	 218	 232	 241	 248	 308	 324	 417	 478
				 481	 504	 522	 591	 643	 678	 694	 698	 750	 775	 792	 796
				 869	 897	 922	 926	 996	1109	1146	1150	1214	1230	1234	1298
				1318	1322	1397	1461	1502	1506	1583	1647	1689	1693	1769	1833
				1866	1870	1947	1989	2020	2024	2094	2110	2114	2167
FILE_NAME			 178	 229	 260	 276	 303	 654	 666	 683	 754	 779	 874	 906
				1017	1029	1041	1053	1065	1080	1097	1218	1302	1445	1452	1631
				1638	1817	1824	1962	1975	2098
FILE_PTR			 130	 167	 178	 201	 208	 218	 229	 232	 241	 248	 260	 276
				 303	 308	 417	 456	 591	 629	 643	 654	 666	 678	 683	 694
				 698	 736	 750	 754	 775	 779	 792	 796	 834	 869	 874	 897
				 906	 922	 926	 965	 996	1017	1029	1041	1053	1065	1080	1097
				1109	1146	1150	1189	1214	1218	1230	1234	1273	1298	1302	1318
				1322	1361	1397	1445	1452	1461	1502	1506	1545	1583	1631	1638
				1647	1689	1693	1732	1769	1817	1824	1833	1866	1870	1908	1947
				1962	1975	1989	2020	2024	2062	2094	2098	2110	2114	2152	2167
GETBLK				 123	 849	 979	1203	1287	1381	1566	1752	1924	2076
INPUT				 120	 478	 481	 504	 522
LEN_DRV_NAME			2101
LEN_MCB_DRV			 886
LEN_MCB_NAME			 882
LEN_NODE_NAME			 656
LEN_TSK_NAME			1964
LLC_BLOCK			1193
LLC_CHAIN			 192	1208
LLC_LEN				1203
LLC_NAME			1221
LLC_PTR				1193	1203#	1208	1221
LLC_TYP				1203
LOOK_DONE			 171	 197#	 199	 214#	 223#	 227	 237#	 239	 261#	 277#	 304#	 310#
MCB_CHAIN			 854
MCB_PTR				 843	 849#	 854	 883	 887
NAME				 172	 268#	 284
NODNAM				 656
NODNM				 668
OCTAL_NUM			 463	 515#	 520#	 534
OPEN				 118*	 178
OUTNUM				 127	 562	 572	 579
OUTPUT				 121	 581
OUTSTR				 128	 186	 330	 561	 563	 569
PCRLF				 126	 185	 329	 560
PROCESS_NAME			 883
RCET				  58	 130*
RESULT				 173	 201	 203	 208	 209	 211	 212	 218	 219	 221	 241	 243
				 248	 249	 257	 268	 269	 270	 272	 417	 457	 486#	 487#	 498#
				 499	 514#	 529#	 534#	 542#	 543#	 549#	 550#	 562	 565	 569	 572
				 577	 579	 581	 633	 643	 651	 656	 663	 668	 678	 680	 694
				 695	 740	 750	 752	 763	 766	 775	 777	 792	 793	 838	 869
				 871	 882	 886	 897	 899	 904	 922	 923	 970	 996	 998	1004
				1014	1019	1026	1031	1038	1043	1050	1055	1062	1067	1074	1077
				1085	1109	1111	1114	1119	1146	1147	1194	1214	1216	1221	1230
				1231	1278	1298	1300	1305	1318	1319	1367	1397	1399	1405	1409
				1417	1420	1423	1426	1429	1432	1435	1438	1441	1461	1463	1466
				1471	1502	1503	1552	1583	1585	1591	1595	1603	1606	1609	1612
				1615	1618	1621	1624	1627	1647	1649	1652	1657	1689	1690	1738
				1769	1771	1777	1781	1789	1792	1795	1798	1801	1804	1807	1810
				1813	1833	1835	1838	1843	1866	1867	1914	1947	1949	1959	1964
				1972	1977	1989	1991	1994	1999	2020	2021	2067	2094	2096	2101
				2110	2111	2156	2167	2168
RESULT_TYPE			  96#	 203	 209	 211	 219	 221	 243	 249	 257	 486	 498	 514
				 542	 549	 562	 565	 651	 663	 680	 695	 752	 777	 793	 871
				 899	 904	 923	 998	1004	1014	1026	1038	1050	1062	1074	1077
				1111	1147	1216	1231	1300	1319	1399	1405	1409	1463	1503	1585
				1591	1595	1649	1690	1771	1777	1781	1835	1867	1949	1959	1972
				1991	2021	2096	2111	2168
RESULT_VALUE			  97#	 203	 209	 212	 219	 221	 243	 249	 268	 269	 270	 272
				 487	 499	 529	 534	 543	 550	 569	 572	 577	 579	 581	 656
				 668	 680	 695	 763	 766	 777	 793	 882	 886	 899	 904	 923
				 998	1004	1019	1031	1043	1055	1067	1085	1114	1119	1147	1221
				1231	1305	1319	1399	1405	1417	1420	1423	1426	1429	1432	1435
				1438	1441	1466	1471	1503	1585	1591	1603	1606	1609	1612	1615
				1618	1621	1624	1627	1652	1657	1690	1771	1777	1789	1792	1795
				1798	1801	1804	1807	1810	1813	1838	1843	1867	1949	1964	1977
				1994	1999	2021	2101	2111	2168
ROUTINE_NAME			 164#	 229	 260	 276	 303	 369#	 453#	 626#	 653	 665	 683	 733#
				 754	 779	 831#	 851	 857	 873	 906	 962#	 981	 987	1016	1028
				1040	1052	1064	1080	1097	1186#	1205	1211	1218	1270#	1289	1295
				1302	1358#	1383	1389	1445	1452	1542#	1568	1574	1631	1638	1729#
				1754	1760	1817	1824	1905#	1926	1932	1961	1974	2059#	2078	2084
				2098	2149#
RTXT				   5#
RT_NAME				 104#	 211	 257	 651	 871	1014	1026	1038	1216	1300	1959	2096
RT_NUMBER			 105#	 663	 752	1050	1062	1074	1409	1595	1781	1972
RT_SPECIAL			 106#	 203	 209	 219	 221	 243	 249	 680	 695	 777	 793	 899
				 904	 923	 998	1004	1077	1111	1147	1231	1319	1399	1405	1463
				1503	1585	1591	1649	1690	1771	1777	1835	1867	1949	1991	2021
				2111	2168
R_CTL				  67	 287	1322*
R_DEV				  66	 292	1234*
R_DRV				  71	 295	2024*
R_END				  72#	 296	 310	2114*
R_LLC				  65	 291	1150*
R_MEM				  62	 286	 698*
R_PRC				  63	 289	 796*
R_SLT				  64	 290	 926*
R_SYS				  61	 232	 591*
R_TRB				  69	 293	1693*
R_TSK				  70	 294	1870*
R_UNT				  68	 288	1506*
SAVE_CHAR			 174	 196#	 201	 208	 218	 232	 241	 248	 308	 417	 470	 488#
				 509#	 530#	 535#	 544#	 551#	 591	 643	 678	 694	 698	 750	 775
				 792	 796	 869	 897	 922	 926	 996	1109	1146	1150	1214	1230
				1234	1298	1318	1322	1397	1461	1502	1506	1583	1647	1689	1693
				1769	1833	1866	1870	1947	1989	2020	2024	2094	2110	2114	2167
SCAN				  60	 201	 208	 218	 241	 248	 417*	 643	 678	 694	 750	 775
				 792	 869	 897	 922	 996	1109	1146	1214	1230	1298	1318	1397
				1461	1502	1583	1647	1689	1769	1833	1866	1947	1989	2020	2094
				2110	2167
SCAN_DONE			 461	 841	 865#	 867	 901#	 918	 972	 992#	 994	1000#	1098#	1123#
				1142	1196	1280	1369	1393#	1395	1401#	1446#	1475#	1498	1554	1579#
				1581	1587#	1632#	1661#	1685	1740	1764#	1767	1773#	1818#	1847#	1862
				1912	1943#	1945	2003#	2016
SCAN_POINTER			 464	 499#	 503	 508
SEARCH_DONE			 973	1105#	1107	1116#	1119#	1123	1197	1281	1370	1457#	1459	1468#
				1471#	1475	1555	1643#	1645	1654#	1657#	1661	1741	1829#	1831	1840#
				1843#	1847	1913	1985#	1987	1996#	1999#	2003	2066
SLTNUM				 990
SLT_BLOCK			 969
SLT_CHAIN			 984
SLT_CTL				1055
SLT_DEV				1043
SLT_DLC				1031
SLT_LEN				 979
SLT_LLC				1019
SLT_PTR				 969	 979#	 984	1019	1031	1043	1055#	1067#	1082#	1085#	1137
SLT_TRB				1082	1085
SLT_TYP				 979
SLT_UNT				1067
STR_PTR				 842	1917
SUBR				 175	 284#	 300	 308	 310
TRB_BLOCK			1736
TRB_LADDR			1789
TRB_LEN				1752
TRB_PAR_0			1792
TRB_PAR_1			1795
TRB_PAR_2			1798
TRB_PAR_3			1801
TRB_PAR_4			1804
TRB_PAR_5			1807
TRB_PAR_6			1810
TRB_PAR_7			1813
TRB_PTR				1736	1752#	1757	1789#	1792#	1795#	1798#	1801#	1804#	1807#	1810#	1813#
TRB_TYP				1752
TSKB_PTR			1918	1924#	1929	1938#	1965	1977#	2070	2076#	2081	2090#	2101
TSK_CHAIN			1929	2081
TSK_DRIVER_TYPE			2090
TSK_NAME			1965	2101
TSK_TASK_TYPE			1938
TSK_TIME			1977
TSK_TYPE			1938	2090
UNT_BLOCK			1549	1737
UNT_CTL				1676
UNT_DEV				1675
UNT_LEN				1566
UNT_NUM_OF_TRBS			1765
UNT_PAR_0			1606
UNT_PAR_1			1609
UNT_PAR_2			1612
UNT_PAR_3			1615
UNT_PAR_4			1618
UNT_PAR_5			1621
UNT_PAR_6			1624
UNT_PAR_7			1627
UNT_PTR				1549	1566#	1571	1603#	1606#	1609#	1612#	1615#	1618#	1621#	1624#	1627#
				1675#	1676#	1680	1737	1747#	1757#	1765#
UNT_TRB				1757
UNT_TYP				1566
UNT_UNIT			1603
VALUES				 130	 168	 192#	 232	 308	 591	 630	 656	 668#	 698	 737	 763#
				 766#	 796	 835	 854#	 926	 966	 984#	 990#	1137#	1150	1190	1208#
				1234	1274	1292#	1312#	1322	1362	1375	1493#	1506	1546	1560	1561
				1680#	1693	1733	1747	1870	1909	1929#	2024	2063	2081#	2114	2153
VAL_POINTER			 176	 634	 639#	 641	 645	 673#	 675	 741	 746#	 748	 759	 770#
				 772	 839	 864#	 867	 878	 892#	 894	 971	 991#	1008	1129#	1195
				1279	1368	1392#	1413	1481#	1553	1578#	1599	1667#	1739	1763#	1785
				1853#	1915	1942#	1953	2005#	2068	2157
VNPMCB_BLOCK			 843
VNPMCB_LEN			 849
VNPMCB_TYP			 849
VNPTSK_BLOCK			1918	2070
VNPTSK_LEN			1924	2076
VNPTSK_TYP			1924	2076
VNPVAL_BLOCK			 168	 630	 737	 835	 966	1190	1274	1362	1546	1733	1909	2063
				2153