Google
 

Trailing-Edge - PDP-10 Archives - BB-H348C-RM_1982 - swskit-v21/listings/mcb/nxnic.list
There are no other files named nxnic.list in the archive.
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33
TABLE OF CONTENTS

     5-   75	NXNIC	- DISPATCH NICE FUNCTION
     7-  141	CVLTST	- GET DEVICE TYPE NUMBER FOR LINE
     9-  219	FNDLIN	- FIND INFORMATION ON LINE
    10-  247	FNDNOD	- FIND NODE INFORMATION
    11-  306	GET*	- GET DATA FROM THE ARGUMENT BUFFER
    12-  374	PUT*	- MOVE DATA INTO OUTPUT BUFFER
    13-  460	PUTNOD	- COMPRESS AND INSERT A NODE NAME
    14-  488	$PUTCT	- INSERT COUNTERS INTO OUTPUT BUFFER
    15-  533	TIME	- GET THE CURRENT TIME
    16-  571	RDLCOU	- DISPLAY LINE COUNTS
    17-  602	RDLNAM	- GET KNOWN LINE IDENTIFIERS
    19-  662	RDLSTA	- DISPLAY LINE STATE
    20-  738	RDMEM	- EXAMINE MEMORY
    22-  828	RDNCOU	- SHOW NODE COUNTERS
    23-  869	RDNNAM	- GET KNOWN NODE NAMES
    24-  907	RDNSTA	- DISPLAY NODE STATE
    25-  992	STMEM	- DEPOSIT MEMORY
    26- 1037	STNHOS	- SET HOST FOR LOCAL NODE
    27- 1068	STNPWD	- SET PASSWORD
    28- 1106	ZRLCOU	- ZERO LINE COUNTERS
    29- 1136	STLMNT						;BH05
    30- 1193	ZRNCOU	- ZERO NODE COUNTERS
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 3


      1						.TITLE	NXNIC - NICE PRIVLEGED SERVICES
      2						.IDENT	/X01.12/
      3					;
      4					; COPYRIGHT (C) 1977
      5					; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 01754
      6					;
      7					; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED
      8					; AND COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE
      9					; AND WITH THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS
     10					; SOFTWARE OR ANY OTHER COPIES THEREOF MAY NOT BE PROVIDED
     11					; OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON. NO TITLE TO
     12					; AND OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
     13					;
     14					; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
     15					; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY
     16					; DIGITAL EQUIPMENT CORPORATION.
     17					;
     18					; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY
     19					; OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
     20					;
     21					; VERSION X01.01
     22					;
     23					; AUTHOR:
     24					;	A.D. PECKHAM		28-JUL-78
     25					;
     26					; MODIFIED BY:
     27					;
     28					; 1.03	28-AUG-78 ALAN D. PECKHAM
     29					;	FIXED TEST FOR INTERCEPT NODE
     30					; 1.05	27-NOV-78 BUREN W. HOFFMAN
     31					;	ADDED CAPABILITY TO ALLOW NXNIC TO ENABLE LOGGING IN
     32					;	DEVICE DRIVERS, UPON RECEIPT OF INSTRUCTION TO DO SO
     33					;	FROM NICE.  THIS CAPABILITY WILL BE EXTENDED TO ALLOW
     34					;	REMOVAL OF ALL DEVICE-DEPENDENT STUFF FROM NXNIC, INTO
     35					;	NEW DEVICE-SPECIFIC MODULES.
     36					; 1.06	21-DEC-78 ALAN D. PECKHAM
     37					;	MOVE THE REST OF THE DEVICE DEPENDENT STUFF OUT, AND COVER
     38					;	OURSELVES ON REQUESTS ABOUT UNREASONABLE DEVICES.
     39					; 1.07	8-JAN-79  ALAN D. PECKHAM
     40					;	ADD CODE TO READ LOGGING STATE
     41					; 1.08	24-JAN-79 ALAN D. PECKHAM
     42					;	FIX STATE MIXUP ON SETTING LOGGING STATE
     43					; 1.09	30-JAN-79 ALAN D. PECKHAM
     44					;	ADD CODE TO SET LOGGING STATE FOR DLC ALSO
     45					; 1.10	1-FEB-79  ALAN D. PECKHAM
     46					;	FIX MOV/MOVB MIXUP IN RDLSTA
     47					; 1.11	30-AUG-79 ALAN D. PECKHAM
     48					;	REMOVE SUPPORT FOR LP, CR.
     49					;	FIX DVTBL TO PROVIDE "OPTION NOT SUPPORTED" DISPATCH TABLE ADDRESS.
     50					;	SET ROUTINES TO BALK ON MISSING DATA BASES.
     51					; 1.12	31-AUG-79 ALAN D. PECKHAM
     52					;	RDLNAM SHOULD NOT QUIT IF IT DOESN'T RECOGNIZE A LINE.
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 4


     54					;
     55					; EXTERNAL MACRO DEFINITIONS:
     56					;
     57						.MCALL	CCBDF$,PDVDF$,SLTDF$,NSDDB$,HWDDF$,DLXDF$
     58						.MCALL	UCBDF$,HDRDF$,NSPVR$,NICDF,DLXDF,CALLR,MAP,DVTMDF	;BH05
     59	000000					CCBDF$			; DEFINE THE CCB OFFSETS
     60	000000					PDVDF$			; DEFINE THE PDV OFFSETS
     61	000000					SLTDF$			; DEFINE THE SLT OFFSETS
     62	000000					NSDDB$			; BRING IN DDB DEFINITIONS
     63	000000					NSPVR$			; DEFINE VERSION NUMBERS
     64	000000					HWDDF$			; DEFINE HARDWARE DEFINITIONS
     65	000000					UCBDF$			; DEFINE UCB OFFSETS
     66	000000					HDRDF$			; DEFINE HEADER OFFSETS
     67	000000					DLXDF$			; DEFINE OUR OWN STUFF
     68
     69	000000					NICDF			; NICE SYMBOLS
     70	000000					DLXDF			; DLX NICE SERVICE SYMBOLS
     71
     72	000000					.PSECT
     73	000000				LINBLK:	.BLKW	8.		; PARAMETER BLOCK.
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 5
NXNIC	- DISPATCH NICE FUNCTION

     75						.SBTTL	NXNIC	- DISPATCH NICE FUNCTION
     76					;+
     77					; **-NXNIC-GET NICE REQUEST FUNCTION AND DISPATCH TO SERVICE ROUTINE
     78					;
     79					; INPUTS:
     80					;
     81					;	R3 = ADDRESS OF I/O PACKET
     82					;
     83					; OUTPUTS TO SERVICE ROUTINE:
     84					;
     85					;	R3 = ADDRESS OF I/O PACKET
     86					;
     87					; POSSIBLE ERRORS:
     88					;
     89					; IE.ONP	OPTION NOT SUPPORTED
     90					; IE.MOD	LINE NOT PRESENT
     91					; IE.NSF	NODE NOT PRESENT
     92					; IE.PRI	MUST BE A PRIVLEGED TASK
     93					; IE.SPC	ILLEGAL BUFFER
     94					; IE.NBK	NO STATISTICS BLOCK FOR NODE
     95					; IE.BDV	NO DEVICE TYPE CODE FOR INTERNAL DEVICE
     96					;-
     97
     98	000020	016301 	000000G		NXNIC::	MOV	I.TCB(R3),R1	; GET TCB ADDRESS
     99	000024	032761 	000000G	000000G		BIT	#T3.PRV,T.ST3(R1) ; AND MAKE SURE HE'S PRIVLEGED
    100	000032	001415 				BEQ	10$		; REPRIMAND HIM IF NOT.
    101	000034					CALL	TIME		; GET THE CURRENT TIME.
    102	000040					CALL	GETINI		; RESET GET ROUTINES
    103	000044					CALL	PUTINI		; AND PUT ROUTINES.
    104	000050	016300 	000006G			MOV	I.PRM+6(R3),R0	; GET NICE FUNCTION REQUEST
    105	000054	022700 	000056 			CMP	#FCMAX,R0
    106	000060	101406 				BLOS	20$
    107	000062					CALLR	@30$(R0)
    108
    109	000066	012700 	000000C		10$:	MOV	#IE.PRI&377,R0	; PRIVLEGED VIOLATION
    110	000072					CALLR	RQALT
    111	000076				20$:	CALLR	IEONP		; OPTION NOT SUPPORTED
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 6
NXNIC	- DISPATCH NICE FUNCTION

    113					;+
    114					; THE REQUEST DISPATCH TABLE
    115					;-
    116
    117	000102	002654'			30$:	.WORD	RDNNAM		; READ NODE NAMES
    118	000104	003004'				.WORD	RDNSTA		; READ NODE STATE
    119	000106	002612'				.WORD	RDNCOU		; READ NODE COUNTERS
    120	000110	004016'				.WORD	ZRNCOU		; ZERO NODE COUNTERS
    121	000112	000000G				.WORD	IEONP	;STNSTA	; SET LOCAL NODE STATE
    122	000114	001626'				.WORD	RDLNAM		; READ LINE IDENTIFIERS
    123	000116	002034'				.WORD	RDLSTA		; READ LINE STATE
    124	000120	001532'				.WORD	RDLCOU		; READ LINE COUNTERS
    125	000122	003550'				.WORD	ZRLCOU		; ZERO LINE COUNTERS
    126	000124	000000G				.WORD	IEONP	;STLSTA	; SET LINE STATE
    127	000126	003364'				.WORD	STNHOS		; SET HOST NODE NAME
    128	000130	000000G				.WORD	IEONP	;STLHOS	; SET HOST NODE FOR LINE
    129	000132	003456'				.WORD	STXPWD		; SET TRANSMIT PASSWORD
    130	000134	003450'				.WORD	STRPWD		; SET RECEIVE PASSWORD
    131	000136	000000G				.WORD	IEONP	;STNOPR	; SET OPERATOR LOG STATE FOR LOCAL NODE
    132	000140	000000G				.WORD	IEONP	;STNMNT	; SET MAINTENANCE LOG STATE FOR LOCAL NODE
    133	000142	000000G				.WORD	IEONP	;STLOPR	; SET OPERATOR LOG STATE FOR LINE
    134	000144	003642'				.WORD	STLMNT		; SET MAINTENANCE LOG STATE FOR LINE	;BH05N
    135	000146	000000G				.WORD	IEONP		; (UNUSED)
    136	000150	003270'				.WORD	STMEM		; DEPOSIT MEMORY
    137	000152	002332'				.WORD	RDMEM		; EXAMINE MEMORY
    138
    139		000056 				FCMAX=.-20$
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 7
CVLTST	- GET DEVICE TYPE NUMBER FOR LINE

    141						.SBTTL	CVLTST	- GET DEVICE TYPE NUMBER FOR LINE
    142					;+
    143					; **CVLTST-GET THE NICE STANDARD DEVICE TYPE NUMBER FOR A SYSTEM LINE DEVICE
    144					;
    145					; INPUTS:
    146					;	R0 = ADDRESS OF SYSTEM LINE TABLE ENTRY
    147					;
    148					; OUTPUTS:
    149					;	R0 = DEVICE TYPE NUMBER OR ERROR CODE
    150					;	CARRY SET IF ERROR
    151					;
    152					; REGISTERS MODIFIED: R0
    153					;-
    154						.MCALL	CVLMDF
    155	000154					CVLMDF			; GET THE TABLE OF DEVICES
    156
    157	000154	010146 			CVLTST:	MOV	R1,-(SP)	; GET ROOM TO MOVE
    158	000156	116000 	000002 			MOVB	L.DDM(R0),R0	; DDM PROCESS INDEX
    159	000162	066700 	000000G			ADD	$PDVTA,R0	; TO GET INTO PDV TABLES
    160	000166	011000 				MOV	(R0),R0		; THIS IS THE TABLE
    161	000170	016001 	000006 			MOV	Z.NAM(R0),R1	; AND THIS IS THE NAME.
    162	000174	012700 	000000'			MOV	#CONTAB,R0	; NOW FOR THE TABLE
    163	000200	022700 	000120'		10$:	CMP	#CONTAB+ENDIX,R0 ; END OF TABLE ALREADY ?
    164	000204	101407 				BLOS	40$		; IF NOT,
    165	000206	022001 				CMP	(R0)+,R1	; THEN CHECK THE NAME.
    166	000210	001373 				BNE	10$		; DON'T I KNOW YOU FROM SOMEWHERE ?
    167	000212	162700 	000002'			SUB	#CONTAB+2,R0	; AH, YES !
    168	000216	000241 				CLC
    169	000220	012601 			30$:	MOV	(SP)+,R1	; BACK WITH OLD FRIENDS.
    170	000222					RETURN
    171	000224	012700 	000000G		40$:	MOV	#IE.BDV,R0	; BAD DEVICE
    172	000230	000261 				SEC
    173	000232	000772 				BR	30$		; GET BACK R1.
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 8
CVLTST	- GET DEVICE TYPE NUMBER FOR LINE

    175					;+
    176					; GET A SERVICE DISPATCH TABLE ADDRESS FOR A GIVEN PROCESS ID
    177					;
    178					; INPUTS:
    179					;	R1 - PROCESS INDEX
    180					;
    181					; OUTPUTS:
    182					;	R1 - SERVICE DISPATCH TABLE ADDRESS
    183					;
    184					; REGISTERS MODIFIED: R2,R1
    185					;-
    186
    187	000000					.PSECT	$$NAM0,D,GBL
    188	000000				DVNAM:				; DEVICE NAME TABLE
    189	000000					.PSECT	$$NAM2,D,GBL
    190	000000	000000 				.WORD	0		; TABLE TERMINATOR
    191	000000					.PSECT	$$DSP0,D,GBL
    192	000000				DVDSP:				; DISPATCH TABLE ADDRESSES
    193	000234					.PSECT
    194		000234'			$$$	=.
    195	000234	000314'	000314'	000314'		.WORD	$NXNOP,$NXNOP,$NXNOP,$NXNOP
	000242	000314'
    196	000000					.PSECT	$$DSP2,D,GBL
    197	000000	000234'				.WORD	$$$
    198
    199	000244					.PSECT
    200	000244	042701 	177600 		DVTBL:	BIC	#^C177,R1	; MAKE SURE IT IS AN INDEX
    201	000250	066701 	000000G			ADD	$PDVTA,R1	; ADD PDV VECTOR ADDRESS
    202	000254	011101 				MOV	(R1),R1		; GET DESCRIPTOR
    203	000256	016101 	000006 			MOV	Z.NAM(R1),R1	; TO GET ITS NAME.
    204	000262	012702 	000000'			MOV	#DVNAM,R2	; NOW TO THE TABLE
    205	000266	005712 			10$:	TST	(R2)		; END OF TABLE ?
    206	000270	001405 				BEQ	80$		; IF NOT,
    207	000272	022201 				CMP	(R2)+,R1	; CHECK THE NAME
    208	000274	001374 				BNE	10$		; NO MATCH - CHECK THE REST.
    209	000276	016201 	000000C			MOV	DVDSP-DVNAM-2(R2),R1 ; GOT IT !
    210	000302					RETURN
    211	000304	000261 			80$:	SEC			; NOT RECOGNIZED -
    212	000306	016201 	000000C			MOV	DVDSP-DVNAM(R2),R1 ; PASS DEFAULT DISPATCH TABLE.
    213	000312					RETURN
    214
    215	000314	012700 	000000G		$NXNOP::MOV	#IE.ONP,R0	; OPTION NOT SUPPORTED
    216	000320	000261 				SEC			; FLAG THE PROBLEM
    217	000322					RETURN			; THAT'S ALL FOLKS
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 9
FNDLIN	- FIND INFORMATION ON LINE

    219						.SBTTL	FNDLIN	- FIND INFORMATION ON LINE
    220					;+
    221					; **-FNDLIN-GIVEN THE LINE IDENTIFIER POINTED TO BY R2, FIND THE LINE
    222					; IN THE SYSTEM TABLES AND FILL IN THE LINE PARAMETER BLOCK
    223					;
    224					; INPUTS:
    225					;	R3 = I/O PACKET ADDRESS
    226					;	ARGUMENT BUFFER = 4 BYTE LINE ID
    227					;
    228					; OUTPUTS:
    229					;	R5 = POINTS TO LINE PARAMETER BLOCK
    230					;
    231					; REGISTERS MODIFIED: R5,R2,R1,R0
    232					;-
    233
    234	000324	012705 	000000'		FNDLIN:	MOV	#LINBLK,R5	; GET LINE PARAMETER BLOCK
    235	000330	010501 				MOV	R5,R1		; AND COPY ADDRESS
    236	000332					CALL	GET1		; GET DEVICE TYPE
    237	000336	103414 				BCS	90$		; LOSER
    238	000340	016021 	000000'			MOV	CONTAB(R0),(R1)+ ; AND STORE THE PROCESS NAME.
    239	000344	012700 	000003 			MOV	#3,R0
    240	000350					CALL	GETN		; GET CONTROLLER, UNIT, AND STATION.
    241	000354	103405 				BCS	90$
    242	000356					CALL	FNDLA		; FILL IN THE INFORMATION.
    243	000362	103002 				BCC	90$		; IF NOT FOUND
    244	000364	012700 	000000C			MOV	#IE.MOD&377,R0	; THEN SAY SO.
    245	000370				90$:	RETURN
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 10
FNDNOD	- FIND NODE INFORMATION

    247						.SBTTL	FNDNOD	- FIND NODE INFORMATION
    248					;+
    249					; **-FNDNOD-GIVEN THE NODE NAME POINTED TO BY R2, FIND THE NODE
    250					; IN THE NSP TABLES AND FILL IN THE NODE PARAMETER BLOCK
    251					;
    252					; INPUTS:
    253					;	R3 = I/O PACKET ADDRESS
    254					;	ARGUMENT BUFFER = NODE NAME (I-6)
    255					;
    256					; OUTPUTS:
    257					;	R5 = POINTS TO NODE PARAMETER BLOCK
    258					;
    259					; REGISTERS MODIFIED: R5,R2,R1,R0
    260					;-
    261
    262	000000					.PSECT	BYTE,D
    263	000000				NODNAM:	.BLKB	7
    264
    265	000372					.PSECT
    266	000372	012701 	000000'		FNDNOD:	MOV	#NODNAM,R1	; GET OUR NODE NAME BUFFER
    267	000376	012700 	000007 			MOV	#7,R0		; LENGTH OF BUFFER
    268	000402					CALL	GETI		; AND COPY THE NODE NAME.
    269	000406	103470 				BCS	90$
    270	000410	010446 				MOV	R4,-(SP)	; GET SOME ROOM TO WORK
    271	000412	010346 				MOV	R3,-(SP)
    272	000414					CALL	NSPDAT		; GET NSP'S DATA BASE
    273	000420	016504 	000034 			MOV	N$NOD+2(R5),R4	; THE NODE NAME TABLE
    274	000424	016503 	000032 			MOV	N$NOD(R5),R3	; AND NUMBER OF NODES
    275	000430	032714 	070000 		10$:	BIT	#DF$FRE,(R4)	; IGNORE NODE ENTRY
    276	000434	001444 				BEQ	70$		; IF NOT IN USE.
    277	000436	012702 	000000'			MOV	#NODNAM,R2	; GET OUR NODE NAME BUFFER
    278	000442	010401 				MOV	R4,R1		; COPY THE ENTRY ADDRESS
    279	000444	062701 	000005 			ADD	#D$LNG,R1	; TO GET TO THE NAME
    280	000450	112200 				MOVB	(R2)+,R0	; GET THE LENGTH
    281	000452	122100 				CMPB	(R1)+,R0	; AND COMPARE.
    282	000454	001034 				BNE	70$		; IF OKAY, THEN
    283	000456	122221 			20$:	CMPB	(R2)+,(R1)+	; CHECK THE REST.
    284	000460	001032 				BNE	70$
    285	000462					SOB	R0,20$		; IF A MATCH,
    286	000466	010467 	177306 			MOV	R4,NNOD+LINBLK	; SAVE THE ENTRY ADDRESS
    287	000472	005067 	177304 			CLR	NNUM+LINBLK	; ASSUME NO NODE NUMBER
    288	000476	005067 	177302 			CLR	NPWD+LINBLK	; PASSWORD
    289	000502	005067 	177300 			CLR	NSTA+LINBLK	; OR STATISTICS.
    290	000506	032714 	040000 			BIT	#DF$LCL,(R4)	; IF LOCAL
    291	000512	001411 				BEQ	30$		; THEN
    292	000514	016767 	000000G	177260 		MOV	$NSPNM,NNUM+LINBLK ; INSERT THE LOCAL NODE NUMBER
    293	000522	016567 	000040 	177254 		MOV	N$VER+2(R5),NPWD+LINBLK ; THE PASSWORD VERIFICATION BLOCK
    294	000530	016567 	000044 	177250 		MOV	N$STS+2(R5),NSTA+LINBLK ; AND THE STATISTICS BLOCK.
    295	000536	012705 	000000'		30$:	MOV	#LINBLK,R5	; GET PARAMETER BLOCK
    296	000542	000241 				CLC			; MAKE SURE THE CARRY IS CLEAR
    297	000544	000407 				BR	80$		; AND EXIT.
    298	000546	062704 	000014 		70$:	ADD	#D$LEN,R4	; GO ON TO NEXT NODE
    299	000552					SOB	R3,10$		; AND CHECK THEM ALL.
    300	000556	012700 	000000C			MOV	#IE.NSF&377,R0	; NODE NOT FOUND
    301	000562	000261 				SEC
    302	000564	012603 			80$:	MOV	(SP)+,R3
    303	000566	012604 				MOV	(SP)+,R4
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 10-1
FNDNOD	- FIND NODE INFORMATION

    304	000570				90$:	RETURN
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 11
GET*	- GET DATA FROM THE ARGUMENT BUFFER

    306						.SBTTL	GET*	- GET DATA FROM THE ARGUMENT BUFFER
    307					;+
    308					; **-GET1-GET BYTE INTO OUTPUT BUFFER
    309					; **-GETI-GET I-TYPE STRING FROM ARGUMENT BUFFER
    310					; **-GETN-GET STRING FROM ARGUMENT BUFFER
    311					;
    312					; INPUTS:
    313					;	R3 = I/O PACKET ADDRESS
    314					;	R1 = STRING POINTER
    315					;	R0 = LENGTH OF STRING
    316					;
    317					; OUTPUTS:
    318					;	R0 = BYTE EXTRACTED
    319					;
    320					; REGISTERS MODIFIED: APR6,R1,R0
    321					;-
    322
    323	000572				GETADR:	.BLKW	1		; CURRENT ADDRESS WITHIN BUFFER
    324	000574				GETCNT:	.BLKW	1		; BYTES LEFT IN BUFFER
    325	000576				GETLMT:	.BLKW	1		; LIMIT ON I-TYPE GET
    326
    327	000600				GET1:	CALL	GETSET		; GET UP AND TEST FOR EOF.
    328	000604	103407 				BCS	GETRTN
    329	000606	005367 	177762 			DEC	GETCNT		; ACCOUNT FOR BYTE
    330	000612	005000 				CLR	R0		; AND PICK IT UP
    331	000614	157700 	177752 			BISB	@GETADR,R0	; NO SIGN EXTEND.
    332	000620	005267 	177746 			INC	GETADR		; BUMP THE ADDRESS.
    333	000624				GETRTN:	RETURN
    334
    335	000626				GET2:	CALL	GET1		; GET LOW BYTE
    336	000632	010067 	177740 			MOV	R0,GETLMT	; AND SAVE
    337	000636					CALL	GET1		; NOW THE HIGH BYTE
    338	000642	103770 				BCS	GETRTN		; AND IF THERE IS ONE
    339	000644	000300 				SWAB	R0		; MOVE IT UP
    340	000646	056700 	177724 			BIS	GETLMT,R0	; AND STICK IN LOW BYTE.
    341	000652					RETURN
    342
    343	000654	010067 	177716 		GETI:	MOV	R0,GETLMT	; SAVE LIMITING VALUE
    344	000660					CALL	GET1		; GET CHARACTER COUNT
    345	000664	103757 				BCS	GETRTN		; IF THERE IS ONE.
    346	000666	026700 	177704 			CMP	GETLMT,R0	; IF OVER LIMIT
    347	000672	103437 				BLO	GETEOF		; DECLARE BAD PARAMETERS.
    348	000674	110021 				MOVB	R0,(R1)+	; STORE COUNT
    349	000676	001752 				BEQ	GETRTN		; AND QUIT IF ZERO.
    350	000700				GETN:	CALL	GETSET		; GET UP AND TEST FOR EOF.
    351	000704	103747 				BCS	GETRTN
    352	000706	026700 	177662 			CMP	GETCNT,R0	; ENOUGH BYTES LEFT ?
    353	000712	103427 				BLO	GETEOF		; IF SO,
    354	000714	160067 	177654 			SUB	R0,GETCNT	; ACCOUNT FOR THEM
    355	000720	117721 	177646 		70$:	MOVB	@GETADR,(R1)+	; AND COPY THEM OVER.
    356	000724	005267 	177642 			INC	GETADR
    357	000730					SOB	R0,70$
    358	000734					RETURN
    359
    360	000736	016367 	000002G	177626 	GETINI:	MOV	I.PRM+2(R3),GETADR ; ADDRESS
    361	000744	016367 	000004G	177622 		MOV	I.PRM+4(R3),GETCNT ; AND LENGTH.
    362	000752					RETURN
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 11-1
GET*	- GET DATA FROM THE ARGUMENT BUFFER

    363
    364	000754	005767 	177614 		GETSET:	TST	GETCNT		; WHAT'S OUR STATUS ?
    365	000760	003404 				BLE	GETEOF		; IF BYTES AVAILABLE
    366	000762					MAP	I.PRM(R3)	; THEN MAP TO BUFFER.
    367	000770					RETURN
    368
    369	000772	005067 	177576 		GETEOF:	CLR	GETCNT		; MAKE SURE THE COUNT IS ZERO
    370	000776	012700 	000000C			MOV	#IE.BAD&377,R0	; ALWAYS BAD PARAMETERS.
    371	001002	000261 				SEC
    372	001004					RETURN
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 12
PUT*	- MOVE DATA INTO OUTPUT BUFFER

    374						.SBTTL	PUT*	- MOVE DATA INTO OUTPUT BUFFER
    375					;+
    376					; **-PUT1-MOVE BYTE INTO OUTPUT BUFFER
    377					; **-PUT2-MOVE WORD INTO OUTPUT BUFFER
    378					; **-PUTEX2-MOVE EXTENDABLE WORD INTO OUTPUT BUFFER
    379					; **-PUTI-MOVE I-TYPE STRING INTO OUTPUT BUFFER
    380					; **-PUTN-MOVE STRING INTO OUTPUT BUFFER
    381					;
    382					; INPUTS:
    383					;	R3 = I/O PACKET ADDRESS
    384					;	R1 = STRING ADDRESS
    385					;	R0 = WORD TO INSERT OR LENGTH OF STRING
    386					;
    387					; NO OUTPUTS
    388					;
    389					; REGISTERS MODIFIED: APR6,R1,R0
    390					;-
    391
    392	001006				PUTAPR:	.BLKW	1		; APR BIAS INTO BUFFER
    393	001010				PUTADR:	.BLKW	1		; OUTPUT BUFFER ADDRESS
    394	001012				PUTCNT:	.BLKW	1		; BYTES LEFT IN BUFFER
    395	001014				PUTBEG:	.BLKW	1		; BEGGINING ADDRESS OF BUFFER
    396
    397	001016				PUT2:	CALL	PUT1		; MOVE IN LOW BYTE OF TIME
    398	001022	103412 				BCS	PUTRTN		; IF WE CAN
    399	001024	000300 				SWAB	R0		; AND
    400
    401	001026				PUT1:	CALL	PUTSET		; SET UP AND CHECK FOR END OF BUFFER.
    402	001032	103406 				BCS	PUTRTN
    403	001034	005367 	177752 			DEC	PUTCNT		; ACCOUNT FOR THE BYTE
    404	001040	110077 	177744 			MOVB	R0,@PUTADR	; INSERT IT
    405	001044	005267 	177740 			INC	PUTADR		; AND BUMP THE POINTER.
    406	001050				PUTRTN:	RETURN
    407
    408	001052	006300 			PUTEX2:	ASL	R0		; PUT SECOND 7 BITS IN UPPER BYTE
    409	001054	022700 	000377 			CMP	#377,R0		; SET CARRY IF THERE IS A SECOND
    410	001060	106000 				RORB	R0		; AND SET OR CLEAR EXTENSION FLAG.
    411	001062	100003 				BPL	10$		; IF TWO BYTES
    412	001064					CALL	PUTSET		; MAKE SURE COUNT IS CORRECT
    413	001070	103767 				BCS	PUTRTN
    414	001072				10$:	CALL	PUT1		; STORE LOW BYTE
    415	001076	000300 				SWAB	R0		; AND IF THERE IS A SECOND
    416	001100	001352 				BNE	PUT1		; MOVE THAT IN AS WELL.
    417	001102					RETURN
    418
    419	001104	112100 			PUTI:	MOVB	(R1)+,R0	; MOVE IN I-TYPE FIELD
    420	001106					CALL	PUT1		; STORE THE CHARACTER COUNT
    421	001112	103756 				BCS	PUTRTN		; IF WE CAN
    422	001114				PUTN:	CALL	PUTSET		; MAKE SURE WE'RE SET UP
    423	001120	103753 				BCS	PUTRTN		; AND
    424	001122	026700 	177664 			CMP	PUTCNT,R0	; CHECK IF WE CAN HOLD OUR WATER.
    425	001126	103445 				BLO	PUTEOF		; IF SO,
    426	001130	160067 	177656 			SUB	R0,PUTCNT	; ACCOUNT FOR THE CHARACTERS
    427	001134	112177 	177650 		70$:	MOVB	(R1)+,@PUTADR	; MOVE BYTES OVER
    428	001140	005267 	177644 			INC	PUTADR
    429	001144					SOB	R0,70$		; AS MANY AS SPECIFIED IN R0.
    430	001150					RETURN
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 12-1
PUT*	- MOVE DATA INTO OUTPUT BUFFER

    431
    432	001152	016301 	000012G		PUTINI:	MOV	I.PRM+12(R3),R1	; LENGTH OF BUFFER
    433	001156	100001 				BPL	10$		; AND IF ILLEGAL
    434	001160	005001 				CLR	R1		; THEN MAKE NULL.
    435	001162	010167 	177624 		10$:	MOV	R1,PUTCNT	; STORE IT
    436	001166	001415 				BEQ	20$		; AND IF THERE IS A BUFFER
    437	001170	016300 	000010G			MOV	I.PRM+10(R3),R0	; GET ITS ADDRESS
    438	001174					CALL	$ACHKB		; ADDRESS CHECK, BYTE ALIGNED
    439	001200	103426 				BCS	PUTACK		; IF ADDRESS OKAY,
    440	001202					CALL	$RELOC		; RELOCATE IT
    441	001206	010167 	177574 			MOV	R1,PUTAPR	; SAVE THE APR
    442	001212	010267 	177572 			MOV	R2,PUTADR	; THE ADDRESS
    443	001216	010267 	177572 			MOV	R2,PUTBEG	; SAVE THIS FOR LATER
    444	001222				20$:	RETURN
    445
    446	001224	005767 	177562 		PUTSET:	TST	PUTCNT
    447	001230	003404 				BLE	PUTEOF
    448	001232					MAP	PUTAPR
    449	001240					RETURN
    450
    451	001242	005067 	177544 		PUTEOF:	CLR	PUTCNT		; MAKE SURE THE COUNT IS ZERO
    452	001246	012700 	000000C			MOV	#IE.DAO&377,R0	; RAN OVER END OF BUFFER.
    453	001252	000261 				SEC
    454	001254					RETURN
    455
    456	001256	005167 	177530 		PUTACK:	COM	PUTCNT		; PROPAGATE THE PROBLEM
    457	001262	012700 	000000C			MOV	#IE.SPC&377,R0	; ILLEGAL USER BUFFER
    458	001266					RETURN			; CARRY IS SET BY "COM"
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 13
PUTNOD	- COMPRESS AND INSERT A NODE NAME

    460						.SBTTL	PUTNOD	- COMPRESS AND INSERT A NODE NAME
    461					;+
    462					; **-PUTNOD-FIND THE LENGTH OF THE GIVEN NODE NAME AND INSERT IT INTO
    463					; THE OUTPUT BUFFER AS AN I-TYPE FIELD.
    464					;
    465					; INPUTS:
    466					;	R3 = I/O PACKET ADDRESS
    467					;	R1 = ADDRESS OF 6 CHARACTER NODE NAME (PADDED WITH BLANKS)
    468					;
    469					; NO OUTPUTS
    470					;
    471					; REGISTERS MODIFIED: APR6,R1,R0
    472					;-
    473
    474
    475	001270	010100 			PUTNOD:	MOV	R1,R0		; COPY NODE NAME POINTER
    476	001272	062700 	000006 			ADD	#6,R0		; AND POINT TO END.
    477	001276	122740 	000040 		10$:	CMPB	#' ,-(R0)	; FIND THE END OF THE NAME
    478	001302	001005 				BNE	20$		; AND
    479	001304	020100 				CMP	R1,R0		; IF WE FALL OFF
    480	001306	001373 				BNE	10$		; THEN
    481	001310	005000 				CLR	R0		; NAME IS NULL.
    482	001312					CALLR	PUT1		; OTHERWISE
    483	001316	005200 			20$:	INC	R0		; COMPUTE THE LENGTH
    484	001320	160100 				SUB	R1,R0		; AND
    485	001322					CALL	PUT1		; INSERT IT
    486	001326					CALLR	PUTN		; ALONG WITH THE NAME.
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 14
$PUTCT	- INSERT COUNTERS INTO OUTPUT BUFFER

    488						.SBTTL	$PUTCT	- INSERT COUNTERS INTO OUTPUT BUFFER
    489					;+
    490					; **-$PUTCT-EXTRACT COUNTERS ACCORDING TO GIVEN TABLE AND INSERT INTO
    491					; OUTPUT BUFFER. THE TABLE IS COMPOSED OF BYTE PAIRS FOLLOWED BY A NEGATIVE
    492					; TERMINATING BYTE. THE FIRST BYTE OF THE PAIR IS THE COUNTER TYPE, WHILE
    493					; THE SECOND IS A DISPLACEMENT INTO THE LINE/NODE TABLE FOR THE COUNTER.
    494					; IF THE DISPLACEMENT IS POSITIVE, A WORD IS PICKED FROM THE TABLE, OTHERWISE
    495					; A BYTE IS EXTRACTED. A SPECIAL CASE IS MADE FOR THE TIME-LAST-ZEROED COUNTER
    496					; TO COMPUTE THE ELAPSED TIME BEFORE INSERTING INTO THE BUFFER.
    497					;
    498					; INPUTS:
    499					;	R4 = BASE ADDRESS OF TABLE TO EXTRACT COUNTERS FROM
    500					;	R3 = I/O PACKET ADDRESS
    501					;	R1 = ADDRESS OF COUNTER EXTRACTION TABLE
    502					;
    503					; OUTPUTS:
    504					;
    505					; REGISTERS MODIFIED: APR6,R0
    506					;-
    507
    508	001332	112100 			$PUTCT::MOVB	(R1)+,R0	; MOVE COUNTER TABLE INTO BUFFER.
    509	001334				10$:	CALL	PUT1		; INSERT COUNTER TYPE.
    510	001340	112100 				MOVB	(R1)+,R0	; IF DISPLACEMENT TO WORD
    511	001342	100403 				BMI	20$		; THEN
    512	001344	060400 				ADD	R4,R0		; ADD BASE OF TABLE
    513	001346	011000 				MOV	(R0),R0		; AND GET WORD.
    514	001350	000403 				BR	30$		; OTHERWISE GET BYTE:
    515	001352	005400 			20$:	NEG	R0		; GET PROPER DISPLACEMENT
    516	001354	060400 				ADD	R4,R0		; ADD BASE OF TABLE
    517	001356	111000 				MOVB	(R0),R0		; AND PICK UP THE BYTE.
    518	001360	105761 	177776 		30$:	TSTB	-2(R1)		; IF TIME COUNTER
    519	001364	001011 				BNE	50$		; THEN
    520	001366	010046 				MOV	R0,-(SP)	; SAVE HIS CLOCK
    521	001370	016700 	000030 			MOV	.CURTM,R0	; GET CURRENT TIME
    522	001374	162600 				SUB	(SP)+,R0	; TO COMPUTE ELAPSED TIME.
    523	001376	103003 				BCC	40$		; IF OVERFLOW
    524	001400	062700 	124300 			ADD	#<24.*60.*30.>,R0 ; ADD IN A DAY
    525	001404	100401 				BMI	50$		; IF MI, OVERFLOW AGAIN - DON'T SHIFT
    526	001406	006300 			40$:	ASL	R0		; CONVERT TIME INTO 1 SECOND INTERVALS
    527	001410				50$:	CALL	PUT2		; STORE THE COUNTER
    528	001414	103402 				BCS	90$
    529	001416	112100 				MOVB	(R1)+,R0	; IF MORE TO COME
    530	001420	100345 				BPL	10$		; THEN PICK THEM UP ALSO.
    531	001422				90$:	RETURN
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 15
TIME	- GET THE CURRENT TIME

    533						.SBTTL	TIME	- GET THE CURRENT TIME
    534					;+
    535					; **-TIME-GET THE CURRENT TIME FOR ZERO FUNCTIONS
    536					;
    537					; NO INPUTS
    538					;
    539					; OUTPUTS:
    540					;
    541					;	.CURTM = CURRENT TIME IN SECONDS PAST MIDNIGHT DIVIDED BY 2
    542					;
    543					; REGISTERS MODIFIED: R1,R0
    544					;-
    545
    546	001424				.CURTM::.BLKW	1		; CURRENT TIME.
    547
    548	001426	016701 	177772G		TIME:	MOV	$TTNS-6,R1	; GET CURRENT HOUR
    549	001432	070127 	000074 			MUL	#60.,R1		; TURN INTO MINUTES SINCE MIDNIGHT
    550	001436	066701 	177774G			ADD	$TTNS-4,R1	; ADD IN CURRENT MINUTES
    551	001442	070127 	000036 			MUL	#30.,R1		; CONVERT TO 2 SECOND INTERVALS
    552	001446	016700 	177776G			MOV	$TTNS-2,R0	; GET SECONDS
    553	001452	006200 				ASR	R0		; DIVIDE BY 2
    554	001454	060001 				ADD	R0,R1		; AND ADD IN FOR TOTAL
    555	001456	010167 	177742 			MOV	R1,.CURTM	; SET AS CURRENT TIME.
    556	001462					RETURN
    557
    558	001464	016701 	177320 		BFSUC:	MOV	PUTADR,R1	; GET CURRENT ADDRESS
    559	001470	166701 	177320 			SUB	PUTBEG,R1	; TO COMPUTE LENGTH
    560	001474	012700 	000000C			MOV	#IS.SUC&377,R0	; SUCCESS !
    561	001500					CALLR	RQDON		; AND FINISH OPERATION.
    562
    563	001504	012700 	000000C		ISSUC:	MOV	#IS.SUC&377,R0	; RETURN CODE
    564	001510					CALLR	RQALT		; FINISH THE OPERATION.
    565
    566	001514	016705 	000000G		NSPDAT:	MOV	$PDVTA,R5	; GET THE PDV VECTOR
    567	001520	016505 	000000G			MOV	PD$NSP(R5),R5	; THE NSP PDV
    568	001524	016505 	000014 			MOV	Z.DAT(R5),R5	; THE DATA BASE ADDRESS.
    569	001530					RETURN
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 16
RDLCOU	- DISPLAY LINE COUNTS

    571						.SBTTL	RDLCOU	- DISPLAY LINE COUNTS
    572					;+
    573					; **-RDLCOU-DISPLAY THE LINE COUNTS
    574					;
    575					; MUMBLE, MUMBLE, MUMBLE....
    576					;
    577					; INPUTS:
    578					;	R3 = I/O PACKET ADDRESS
    579					;
    580					; OUTPUTS:
    581					;
    582					; REGISTERS MODIFIED: R5,R4,R2,R1,R0
    583					;-
    584
    585	001532				RDLCOU:	CALL	FNDLIN		; FIND LINE ID IN SYSTEM TABLES
    586	001536	103431 				BCS	99$		; IF CS, RETURN
    587	001540	116501 	000010 			MOVB	TSLN(R5),R1	; GET LINE NUMBER
    588	001544	070127 	000014 			MUL	#L.LEN,R1	; AS INDEX INTO $SLTTA
    589	001550	066701 	000000G			ADD	$SLTTA,R1	; POINT TO ENTRY FOR LINE
    590	001554	032711 	040000 			BIT	#LF.RDY,(R1)	; IF NOT READY
    591	001560	001416 				BEQ	98$		; THEN QUIT.
    592	001562	016104 	000010 			MOV	L.DLS(R1),R4	; GET LINE TABLE VIRTURAL ADDRESS
    593	001566					MAP	L.DLM(R1)	; AND MAP TO IT.
    594	001574	116501 	000015 			MOVB	TDLC(R5),R1	; GET THE DLC PROCESS INDEX
    595	001600					CALL	DVTBL		; THE SERVICE DISPATCH TABLE
    596	001604					CALL	@S.RCN(R1)	; AND EXECUTE THE REQUEST
    597	001610	103404 			80$:	BCS	99$
    598	001612					CALLR	BFSUC		; SUCCESS
    599	001616	012700 	000000C		98$:	MOV	#IE.MOD&377,R0	; LINE NOT LOADED.
    600	001622				99$:	CALLR	RQALT		; OR FAILURE.
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 17
RDLNAM	- GET KNOWN LINE IDENTIFIERS

    602						.SBTTL	RDLNAM	- GET KNOWN LINE IDENTIFIERS
    603					;+
    604					; **-RDLNAM-GET THE NAMES OF THE LINES ON THIS NODE
    605					;
    606					; INPUTS:
    607					;	R3 = I/O PACKET ADDRESS
    608					;
    609					; OUTPUTS:
    610					;
    611					; REGISTERS MODIFIED: R5,R4,R2,R1,R0
    612					;-
    613
    614	001626	016705 	000000G		RDLNAM:	MOV	$SLTTA,R5	; GET SYSTEM LINE TABLE
    615	001632	016704 	000000G			MOV	$LLCTA,R4	; AND REVERSE MAPPING TABLE.
    616	001636	016746 	000000G			MOV	$SLTNM,-(SP)	; AND NUMBER OF LINES.
    617	001642	032715 	020000 		10$:	BIT	#LF.UNL,(R5)	; IF LINE
    618	001646	001017 				BNE	40$		; UNLOADED
    619	001650	032715 	040000 			BIT	#LF.RDY,(R5)	; OR NOT READY
    620	001654	001414 				BEQ	40$		; THEN BYPASS IT.
    621	001656	011402 				MOV	(R4),R2		; IF IT IS
    622	001660	100404 				BMI	20$		; POINT-TO-POINT
    623	001662	010402 				MOV	R4,R2		; THEN JUST USE LLCTB ADDRESS
    624	001664					CALL	60$		; AND CHECK THE ENTRY OUT
    625	001670	000406 				BR	40$		; OTHERWISE LINE IS MULTIPOINT.
    626	001672	006302 			20$:	ASL	R2		; TURN INTO MAPPING TABLE ADDRESS.
    627	001674				30$:	CALL	60$		; PROCESS THE STATION
    628	001700	005722 				TST	(R2)+		; ADVANCE THE POINTER
    629	001702	005712 				TST	(R2)		; AND IF THERE ARE MORE
    630	001704	100373 				BPL	30$		; THEN DO THEM ALSO.
    631	001706	062705 	000014 		40$:	ADD	#L.LEN,R5	; GO TO THE NEXT LINE
    632	001712	005724 				TST	(R4)+		; AND
    633	001714	005316 				DEC	(SP)		; IF MORE TO GO
    634	001716	001351 				BNE	10$		; THEN GO DO THEM.
    635	001720	005726 				TST	(SP)+		; TOSS OUR COUNT
    636	001722					CALLR	BFSUC		; EXIT WITH GRACE
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 18
RDLNAM	- GET KNOWN LINE IDENTIFIERS

    638	001726	010500 			60$:	MOV	R5,R0		; COPY LINE TABLE ADDRESS
    639	001730					CALL	CVLTST		; AND OBTAIN DEVICE TYPE.
    640	001734	103436 				BCS	90$		; IGNORE IF WE DON'T RECOGNIZE IT.
    641	001736					CALL	PUT1		; STORE IT FOR HIS EDIFICATION.
    642	001742	116500 	000012 			MOVB	L.CTL(R5),R0	; THE CONTROLLER NUMBER
    643	001746					CALL	PUT1
    644	001752	116500 	000013 			MOVB	L.UNT(R5),R0	; THE UNIT NUMBER ALSO
    645	001756					CALL	PUT1
    646	001762	005000 				CLR	R0		; ASSUME NOT MULTIPOINT
    647	001764	032715 	000020 			BIT	#LF.MTP,(R5)	; AND IF A CHECK
    648	001770	001405 				BEQ	80$		; PROVES THIS INCORRECT
    649	001772	011400 				MOV	(R4),R0		; COMPUTE THE
    650	001774	006300 				ASL	R0		; LOGICAL STATION NUMBER
    651	001776	005400 				NEG	R0		; BY THE
    652	002000	060200 				ADD	R2,R0		; DISPLACEMENT INTO
    653	002002	006200 				ASR	R0		; THE STATION MAPPING TABLE.
    654	002004				80$:	CALL	PUT1		; INSERT THE STATION NUMBER
    655	002010	116200 	000001 			MOVB	1(R2),R0	; GET OWNER'S PDV INDEX
    656	002014	066700 	000000G			ADD	$PDVTA,R0	; TO GET INTO PDV TABLES
    657	002020	011000 				MOV	(R0),R0		; THIS IS THE TABLE
    658	002022	016000 	000006 			MOV	Z.NAM(R0),R0	; AND THIS IS THE NAME.
    659	002026					CALLR	PUT2		; RETURN IT WITH THE REST.
    660	002032				90$:	RETURN
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 19
RDLSTA	- DISPLAY LINE STATE

    662						.SBTTL	RDLSTA	- DISPLAY LINE STATE
    663					;+
    664					; **-RDLSTA-DISPLAY STATE OF LINE
    665					;
    666					; LINE STATE IS DECLARED ON, OFF OR MAINT.
    667					;
    668					; INPUTS:
    669					;	R3 = I/O PACKET ADDRESS
    670					;
    671					; OUTPUTS:
    672					;	NICE MESSAGE BUILT FOR SHOW STATE LINE
    673					;
    674					; REGISTERS MODIFIED: R5,R4,R2,R1,R0
    675					;-
    676
    677	002034				RDLSTA:	CALL	FNDLIN		; FIND LINE IN SYSTEM DATA BASES
    678	002040	103507 				BCS	99$		; IF CS, COULDN'T - ERROR
    679	002042	012700 	000004 			MOV	#ST$MAI,R0	; ASSUME STATE = MAINTENANCE
    680	002046					CALL	RDLPLD		; IF NSP OWNS IT
    681	002052	103410 				BCS	10$		; GET ITS LINE DATA BASE ADDRESS.
    682	002054	012700 	000000 			MOV	#ST$ON,R0	; ASSUME "ON"
    683	002060	132761 	000001 	000001 		BITB	#PF$UP,P$LST+1(R1) ; IS LINE UP ?
    684	002066	001002 				BNE	10$		; IF NE, YES
    685	002070	012700 	000001 			MOV	#ST$OFF,R0	; ELSE STATE = "OFF"
    686	002074				10$:	CALL	PUT1		; INSERT LINE STATE
    687
    688	002100	012700 	000001 			MOV	#ST$OFF,R0	; THE NEXT ITEM IS OFF.
    689	002104					CALL	PUT1		; OPERATOR LOGGING STATE
    690	002110	116501 	000010 			MOVB	TSLN(R5),R1	; GET SYSTEM LINE NUMBER
    691	002114	070127 	000014 			MUL	#L.LEN,R1	; AS INDEX INTO
    692	002120	066701 	000000G			ADD	$SLTTA,R1	; THE SYSTEM LINE TABLE
    693	002124	032711 	040000 			BIT	#LF.RDY,(R1)	; IF LINE IS READY
    694	002130	001416 				BEQ	20$		; THEN
    695	002132	016104 	000004 			MOV	L.DDS(R1),R4	; PICK UP THE DEVICE LINE TABLE.
    696	002136	116501 	000014 			MOVB	TDDM(R5),R1	; GET THE DDM PROCESS INDEX
    697	002142					CALL	DVTBL		; THE SERVICE DISPATCH TABLE
    698	002146					CALL	@S.RLG(R1)	; TO GET THE LOGGING STATES.
    699	002152	103405 				BCS	20$		; IF EXISTANT,
    700	002154	005700 				TST	R0		; CHECK STATE.
    701	002156	001403 				BEQ	20$
    702	002160	012700 	000000 			MOV	#ST$ON,R0	; ON
    703	002164	000402 				BR	30$		;  OR
    704	002166	012700 	000001 		20$:	MOV	#ST$OFF,R0	; OFF.
    705	002172				30$:	CALL	PUT1		; MAINTENANCE LOGGING STATE
    706
    707	002176					CALL	RDLPLD		; GET THE LINK DATA BASE AGAIN
    708	002202	103420 				BCS	40$		; IF IT BELONGS TO NSP
    709	002204	132761 	000001 	000001 		BITB	#PF$UP,P$LST+1(R1) ; STATE = UP ?
    710	002212	001414 				BEQ	40$		; IF EQ, NO - NO REMOTE NAME
    711	002214	122761 	000005 	000000 		CMPB	#PS$UP,P$LST(R1) ; HAVE WE NODE-INIT ?
    712	002222	001010 				BNE	40$		; IF NE, NO - "REMOTE=NONE"
    713	002224	016101 	000010 			MOV	P$NOD(R1),R1	; POINT TO NODE DESCRIPTOR
    714	002230	001405 				BEQ	40$		; IF EQ, NONE
    715	002232	062701 	000005 			ADD	#D$LNG,R1	; POINT TO NODE NAME
    716	002236					CALL	PUTI		; MOVE IT IN.
    717	002242	000403 				BR	50$		; OTHERWISE
    718	002244	005000 			40$:	CLR	R0		; NO REMOTE NODE NAME
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 19-1
RDLSTA	- DISPLAY LINE STATE

    719	002246					CALL	PUT1
    720	002252	103402 			50$:	BCS	99$
    721	002254					CALLR	BFSUC		; SUCCESS
    722	002260				99$:	CALLR	RQALT		; OR FAILURE.
    723					;
    724					; GET NSP PHYSICAL LINE DATA BASE IF APPLICABLE
    725					;
    726	002264	122765 	000000G	000017 	RDLPLD:	CMPB	#PD$NSP,TASN+1(R5) ; OWNED BY NSP ?
    727	002272	001015 				BNE	90$		; IF NOT, RETURN ERROR.
    728	002274	116501 	000016 			MOVB	TASN(R5),R1	; GET ASSIGNMENT
    729	002300	070127 	000014 			MUL	#P$LEN,R1	; AND INDEX TO PLD
    730	002304	016700 	000000G			MOV	$PDVTA,R0	; GET THE PDV VECTOR
    731	002310	016000 	000000G			MOV	PD$NSP(R0),R0	; THE NSP PDV
    732	002314	016000 	000014 			MOV	Z.DAT(R0),R0	; THE DATA BASE ADDRESS
    733	002320	066001 	000030 			ADD	N$PLD+2(R0),R1	; POINT TO LINK DESCRIPTOR
    734	002324	005727 				TST	(PC)+		; CLEAR THE CARRY
    735	002326	000261 			90$:	SEC			; OR SET IT.
    736	002330					RETURN
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 20
RDMEM	- EXAMINE MEMORY

    738						.SBTTL	RDMEM	- EXAMINE MEMORY
    739					;+
    740					; **-RDMEM-READ A CONTIGUOUS BLOCK OF MEMORY
    741					;
    742					; INPUTS:
    743					;	R3 = ADDRESS OF I/O PACKET
    744					;
    745					; NO OUTPUTS
    746					;
    747					; REGISTERS MODIFIED: R5,R4,R2,R0
    748					;-
    749
    750	002332				RDMEM:	CALL	COMEM		;CALL THE ADDRESS-CHECKER
    751									;AND IF ALL SET,
    752	002336				10$:	.IF DF	M$$MGE
    753	002336					MAP	R2		;IF IN PAGE 0
    754	002342	001015 				BNE	50$		;AND
    755	002344	022705 	140004 			CMP	#140004+0,R5	;REFERS TO THE NXM VECTOR
    756						.IFF
    757						CMP	#4+0,R5
    758						.IFTF
    759	002350	001002 				BNE	20$		;THEN
    760	002352	110100 				MOVB	R1,R0		;GET THE LOW BYTE
    761	002354	000406 				BR	40$
    762	002356				20$:	.IFT
    763	002356	022705 	140005 			CMP	#140004+1,R5	;OR
    764						.IFF
    765						CMP	#4+1,R5
    766						.ENDC
    767	002362	001005 				BNE	50$
    768	002364	000301 				SWAB	R1
    769	002366	110100 				MOVB	R1,R0		;THE HIGH BYTE.
    770	002370	000301 				SWAB	R1
    771	002372	005205 			40$:	INC	R5
    772	002374	000401 				BR	60$
    773	002376	112500 			50$:	MOVB	(R5)+,R0	;MOVE BYTES FROM CORE
    774	002400				60$:	CALL	PUT1		;STUFF IT INTO THE BUFFER
    775	002404	103403 				BCS	80$
    776	002406					SOB	R4,10$		;UNTIL ALL DONE.
    777	002412	005000 				CLR	R0		;INDICATE SUCCESS
    778	002414				80$:	RETURN			;LET THE CO-ROUTINE HANDLE STATUS.
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 21
RDMEM	- EXAMINE MEMORY

    780	002416	012601 			COMEM:	MOV	(SP)+,R1	;RETRIEVE RETURN ADDRESS
    781	002420					CALL	GET2		;GET LOW MEMORY ADDRESS
    782	002424	010005 				MOV	R0,R5
    783	002426					CALL	GET2		;AND HIGH PART.
    784	002432	103457 				BCS	90$		;IF SUCCESSFUL
    785	002434	010004 				MOV	R0,R4		;THEN
    786	002436	012700 	000000C			MOV	#IE.BLK&377,R0	;MAKE THE BOUNDS CHECK
    787						.IF DF	M$$MGE
    788	002442	022704 	000003 			CMP	#3,R4		;CHECK AGAINST UPPER ADDRESS BOUND
    789	002446	103451 				BLO	90$		;  ADDRESS TOO HIGH - IGNORE REQUEST
    790						.IFF
    791						BNE	90$		;
    792						.IFT
    793	002450	010546 				MOV	R5,-(SP)	;SAVE BIAS INTO PAGE
    794		000002 				.REPT	2		;TURN INTO BIAS
    795						ASR	R4		;
    796						ROR	R5		;
    797						.ENDR			;BY
    798		000004 				.REPT	4		;SHIFTING RIGHT
    799						ROR	R5		;
    800						.ENDR			;SIX PLACES.
    801	002472	042705 	170000 			BIC	#^C7777,R5	;CLEAR OUT THE JUNK
    802	002476	010502 				MOV	R5,R2		;AND SAVE FOR MAPPING.
    803	002500	012605 				MOV	(SP)+,R5	;PICK UP OFFSET
    804	002502	042705 	177700 			BIC	#^C77,R5	; IN PAGE
    805	002506	062705 	140000 			ADD	#140000,R5	;SET UP VIRTUAL ADDRESS
    806						.ENDC
    807	002512					CALL	GET1		;NOW PICK UP THE LENGTH
    808	002516	103425 				BCS	90$		;IF THERE...
    809	002520	010004 				MOV	R0,R4		;
    810	002522					MFPS	-(SP)		;SAVE CURRENT PRIORITY
    811	002526					MTPS	#340		;GRAB THE SYSTEM
    812	002534	010146 				MOV	R1,-(SP)	;SAVE CO-ROUTINE ADDRESS
    813	002536	013701 	000004 			MOV	@#4,R1		;GET THE NXM ADDRESS
    814	002542	012737 	002576'	000004 		MOV	#100$,@#4	;AND SET UP OUR OWN.
    815	002550					CALL	@(SP)+
    816	002552	010137 	000004 			MOV	R1,@#4		;NXM TRAP ADDRESS
    817	002556					MTPS	(SP)+		;AND PRIORITY.
    818	002562	105700 				TSTB	R0		;IF THERE IS A STATUS
    819	002564	001002 				BNE	90$		;THEN POSSIBLE ERROR
    820	002566					CALLR	BFSUC		;OTHERWISE SUCCESS
    821	002572				90$:	CALLR	RQALT		;ERROR...
    822
    823	002576	012700 	000000C		100$:	MOV	#IE.BLK&377,R0	;SET INVALID FUNCTION
    824	002602	012716 	002610'			MOV	#110$,(SP)	;SET TO QUIT
    825	002606	000002 				RTI			;AND RETURN.
    826	002610				110$:	RETURN
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 22
RDNCOU	- SHOW NODE COUNTERS

    828						.SBTTL	RDNCOU	- SHOW NODE COUNTERS
    829					;+
    830					; **-RDNCOU-SHOW NODE COUNTERS
    831					;
    832					; MOVES THE NSP STATISTICS COUNTERS INTO A DATA MESSAGE TO BE SENT TO THE
    833					; REQUESTING TASK.
    834					;
    835					; INPUTS:
    836					;	R3 = ADDRESS OF I/O PACKET
    837					;
    838					; OUTPUTS:
    839					;
    840					; REGISTERS MODIFIED: R5,R4,R1,R0
    841					;-
    842
    843	000007					.PSECT	BYTE,D
    844	000007	   000 	   000 		RDTNOD:	.BYTE	NN$ZRO,S$SEC	; TIME LAST ZEROED
    845	000011	   001 	   002 			.BYTE	NN$UMS,S$UMS	; USER MESSAGES SENT
    846	000013	   002 	   004 			.BYTE	NN$UMR,S$UMR	; USER MESSAGES RECEIVED
    847	000015	   003 	   006 			.BYTE	NN$EXT,S$EMR	; EXTRANEOUS MESSAGES RECEIVED
    848	000017	   004 	   010 			.BYTE	NN$NKS,S$NKS	; NEGATIVE ACKNOWLEGEMENTS SENT
    849	000021	   005 	   012 			.BYTE	NN$FMT,S$FMT	; FORMAT ERRORS OTHER THAN ROUTING
    850	000023	   006 	   014 			.BYTE	NN$RES,S$RES	; RESOURCE ERRORS
    851	000025	   007 	   016 			.BYTE	NN$IZS,S$SNI	; SUCCESSFUL NEIGHBOR INITIALIZATIONS
    852	000027	   010 	   020 			.BYTE	NN$IZU,S$UNI	; UNSUCCESSFUL NEIGHBOR INITIALIZATIONS
    853	000031	   011 	   022 			.BYTE	NN$CAC,S$LNK	; CURRENTLY ACTIVE LOGICAL LINKS
    854	000033	   012 	   024 			.BYTE	NN$MAC,S$MLK	; MAXIMUM LINKS ACTIVE
    855	000035	   200 				.BYTE	200
    856
    857	002612					.PSECT
    858	002612				RDNCOU:	CALL	FNDNOD		; EXTRACT THE NODE
    859	002616	103414 				BCS	99$
    860	002620	016504 	000006 			MOV	NSTA(R5),R4	; GET THE STATISTICS BLOCK ADDRESS
    861	002624	001407 				BEQ	98$		; IF THERE ARE ANY
    862	002626	012701 	000007'			MOV	#RDTNOD,R1	; SET UP DISPLACEMENT TABLE
    863	002632					CALL	$PUTCT		; AND MOVE COUNTERS INTO OUTPUT BUFFER.
    864	002636	103404 				BCS	99$
    865	002640					CALLR	BFSUC		; RETURN SUCCESS WITH BUFFER LENGTH
    866	002644	012700 	000000C		98$:	MOV	#IE.NBK&377,R0	; NO STATISTICS BLOCK
    867	002650				99$:	CALLR	RQALT		; RETURN ERROR
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 23
RDNNAM	- GET KNOWN NODE NAMES

    869						.SBTTL	RDNNAM	- GET KNOWN NODE NAMES
    870					;+
    871					; **-RDNNAM-RETURN THE NAMES OF ALL NODES KNOWN BY THIS NODE
    872					;
    873					; INPUTS:
    874					;	R3 = I/O PACKET ADDRESS
    875					;
    876					; OUTPUTS:
    877					;
    878					; REGISTERS MODIFIED: R5,R4,R2,R1,R0
    879					;-
    880
    881	002654				RDNNAM:	CALL	NSPDAT		; GET NSP DATA BASE ADDRESS
    882	002660	016504 	000034 			MOV	N$NOD+2(R5),R4	; GET NODE DATA BASE
    883	002664	016502 	000032 			MOV	N$NOD(R5),R2	; AND NUMBER OF NODES (MUST BE AT LEAST ONE).
    884	002670	032714 	070000 		10$:	BIT	#DF$FRE,(R4)	; IS THIS ENTRY IN USE ?
    885	002674	001433 				BEQ	70$		; IF SO,
    886	002676	112700 	000002 			MOVB	#N$XADJ,R0	; ASSUME ADJACENT
    887	002702	032714 	020000 			BIT	#DF$ADJ,(R4)	; GOOD GUESS ?
    888	002706	001407 				BEQ	20$		; IF SO,
    889	002710	026465 	000002 	000006 		CMP	D$CHN(R4),N$ICF(R5) ; IT MIGHT BE THE INTERCEPT NODE.		;AP0001
    890	002716	001012 				BNE	40$		; LEAVE AS ADJACENT
    891	002720	012700 	000003 			MOV	#N$XINT,R0	; OR INDICATE AS INTERCEPT.
    892	002724	000407 				BR	40$
    893	002726	112700 	000004 		20$:	MOVB	#N$XRMT,R0	; TRY FOR REMOTE
    894	002732	032714 	010000 			BIT	#DF$REM,(R4)	; HOW ABOUT THIS ?
    895	002736	001002 				BNE	40$		; UMMM...
    896	002740	112700 	000001 			MOVB	#N$XLCL,R0	; MUST BE LOCAL.
    897	002744				40$:	CALL	PUT1		; STORE THE NODE TYPE.
    898	002750	010401 				MOV	R4,R1		; COPY NODE ENTRY ADDRESS
    899	002752	062701 	000005 			ADD	#D$LNG,R1	; TO GET TO NODE NAME
    900	002756					CALL	PUTI		; AND STORE IN OUTPUT BUFFER
    901	002762	103406 				BCS	90$
    902	002764	062704 	000014 		70$:	ADD	#D$LEN,R4	; GO ON TO NEXT
    903	002770					SOB	R2,10$		; IF THERE IS ONE.
    904	002774					CALLR	BFSUC		; AND DECLARE THE OPERATION A SUCCESS.
    905	003000				90$:	CALLR	RQALT		; RETURN ERROR CODE
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 24
RDNSTA	- DISPLAY NODE STATE

    907						.SBTTL	RDNSTA	- DISPLAY NODE STATE
    908					;+
    909					; **-RDNSTA-DISPLAY NODE STATE
    910					;
    911					; FORMATS THE NICE MESSAGE FOR THE SHOW STATE COMMAND.
    912					;
    913					; INPUTS:
    914					;	R3 = I/O PACKET ADDRESS
    915					;
    916					; OUTPUTS:
    917					;	MESSAGE FORMATED
    918					;
    919					; REGISTERS MODIFIED: R5,R4,R1,R0
    920					;-
    921					;
    922					; COMM AND ROUTING VERSIONS
    923					;
    924	000036					.PSECT	BYTE,D
    925	000036	   003 			VERMSG:	.BYTE	RT$VER		; ROUTING VERSION NUMBER
    926	000037	   001 				.BYTE	RT$ECO		; ROUTING ECO
    927	000040	   000 				.BYTE	RT$REV		; REVISION NUMBER
    928	000041	   003 				.BYTE	CM$VER		; COMM VERSION
    929	000042	   001 				.BYTE	CM$ECO		; COMM ECO
    930	000043	   000 				.BYTE	CM$REV		; REVISION NUMBER
    931	000044	   000 	   000 	   000 	PWDMSG:	.BYTE	0,0,0,0		; WHAT CAN WE SAY
	000047	   000
    932	000050	   000 	   000 	   000 		.BYTE	0,0,0,0		; WHEN THERE'S NO PASSWORD ?
	000053	   000
    933
    934	003004					.PSECT
    935	003004				RDNSTA:	CALL	FNDNOD		; FIND NODE DATA BASE
    936	003010	103525 				BCS	99$		; IF CS, ERROR
    937	003012	016504 	000000 			MOV	NNOD(R5),R4	; GET NODE NAME DESCRIPTOR
    938	003016	032714 	040000 			BIT	#DF$LCL,(R4)	; IF NODE IS NOT LOCAL
    939	003022	001062 				BNE	60$		; THEN
    940					;
    941					; REMOTE NODE
    942					;
    943	003024	016500 	000002 			MOV	NNUM(R5),R0	; GET NODE NUMBER
    944	003030					CALL	PUTEX2		; AND INSERT
    945	003034	012700 	000001 			MOV	#ST$OFF,R0	; ASSUME NODE IS OFF.
    946	003040	016401 	000002 			MOV	D$CHN(R4),R1	; IF THERE IS A CHANNEL
    947	003044	001412 				BEQ	10$		; AND
    948	003046	122761 	000005 	000000 		CMPB	#PS$UP,P$LST(R1) ; IT IS UP
    949	003054	001006 				BNE	10$
    950	003056	132761 	000001 	000001 		BITB	#PF$UP,P$LST+1(R1) ; THEN
    951	003064	001402 				BEQ	10$
    952	003066	012700 	000000 			MOV	#ST$ON,R0	; THE NODE IS UP.
    953	003072				10$:	CALL	PUT1		; MOVE IN THE STATE BYTE.
    954	003076	016501 	000004 			MOV	NPWD(R5),R1	; IF NO PASSWORD BLOCK
    955	003102	001403 				BEQ	20$		; THEN SUBSTITUTE NULLS
    956	003104	132711 	100000 			BITB	#VF$RCV,(R1)	; OTHERWISE CHECK IF VALID
    957	003110	001002 				BNE	30$		; IF NOT,
    958	003112	012701 	000042'		20$:	MOV	#PWDMSG-V$RCV,R1 ; USE NULLS ALSO.
    959	003116	062701 	000002 		30$:	ADD	#V$RCV,R1	; UP TO THE RECEIVE PASSWORD
    960	003122	012700 	000010 			MOV	#8.,R0		; OF 8 CHARACTERS IN LENGTH
    961	003126					CALL	PUTN		; STUFF THEM IN.
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 24-1
RDNSTA	- DISPLAY NODE STATE

    962	003132	016501 	000004 			MOV	NPWD(R5),R1	; IF NO PASSWORD BLOCK
    963	003136	001403 				BEQ	40$		; THEN SUBSTITUTE NULLS
    964	003140	132711 	040000 			BITB	#VF$XMT,(R1)	; OTHERWISE CHECK IF VALID
    965	003144	001002 				BNE	50$		; IF NOT,
    966	003146	012701 	000032'		40$:	MOV	#PWDMSG-V$XMT,R1 ; USE NULLS ALSO.
    967	003152	062701 	000012 		50$:	ADD	#V$XMT,R1	; UP TO THE TRANSMIT PASSWORD
    968	003156	012700 	000010 			MOV	#8.,R0		; OF 8 CHARACTERS IN LENGTH
    969	003162					CALL	PUTN		; STUFF THEM IN.
    970	003166	000433 				BR	80$		; THAT IS IT.
    971					;
    972					; LOCAL NODE
    973					;
    974	003170	012700 	000000 		60$:	MOV	#ST$ON,R0	; NODE IS ALWAYS ON
    975	003174					CALL	PUT1		; NODE STATE
    976	003200	012700 	000001 			MOV	#ST$OFF,R0	; LOGGING STATES ARE OFF
    977	003204					CALL	PUT1		; OPERATOR LOGGING STATE
    978	003210					CALL	PUT1		; MAINTENANCE LOGGING STATE
    979	003214	012701 	000000G			MOV	#$HOST,R1	; GET HOST NAME ADDRESS
    980	003220					CALL	PUTNOD		; AND STORE IT.
    981	003224	012701 	000036'			MOV	#VERMSG,R1	; POINT TO CANNED PART OF MESSAGE
    982	003230	012700 	000006 			MOV	#6,R0		; GET LENGTH OF MESSAGE
    983	003234					CALL	PUTN		; MOVE MESSAGE INTO BUFFER
    984	003240	012701 	000000G			MOV	#$NODID,R1	; POINT TO NODE ID DESCRIPTOR
    985	003244	012100 				MOV	(R1)+,R0	; GET STRING LENGTH AND POINT TO STRING
    986	003246					CALL	PUT1		; SET STRING LENGTH IN MESSAGE
    987	003252					CALL	PUTN		; MOVE NODE ID INTO BUFFER
    988	003256	103402 			80$:	BCS	99$
    989	003260					CALLR	BFSUC		; FINISH WITH GRACE
    990	003264				99$:	CALLR	RQALT		; OR WITH SHAME.
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 25
STMEM	- DEPOSIT MEMORY

    992						.SBTTL	STMEM	- DEPOSIT MEMORY
    993					;+
    994					; **-STMEM-STORE A CONTIGUOUS BLOCK OF MEMORY
    995					;
    996					; INPUTS:
    997					;	R3 = I/O PACKET ADDRESS
    998					;
    999					; OUTPUTS:
   1000					;
   1001					; REGISTERS MODIFIED:
   1002					;-
   1003
   1004	003270				STMEM:	CALL	COMEM		;CALL THE ADDRESS-CHECKER
   1005									;AND IF ALL SET,
   1006	003274				10$:	CALL	GET1		;MOVE BYTES
   1007	003300	103430 				BCS	80$
   1008						.IF DF	M$$MGE
   1009	003302					MAP	R2		;IF IN PAGE 0
   1010	003306	001020 				BNE	40$		;AND
   1011	003310	022705 	140005 			CMP	#140004+1,R5	;REFERS TO THE NXM VECTOR
   1012						.IFF
   1013						CMP	#4+1,R5
   1014						.IFTF
   1015	003314	103415 				BLO	40$		;THEN
   1016	003316	001005 				BNE	20$
   1017	003320	000301 				SWAB	R1
   1018	003322	105001 				CLRB	R1
   1019	003324	150001 				BISB	R0,R1		;STORE LOW BYTE
   1020	003326	000301 				SWAB	R1
   1021	003330	000405 				BR	30$
   1022	003332				20$:	.IFT
   1023	003332	022705 	140004 			CMP	#140004+0,R5	;OR
   1024						.IFF
   1025						CMP	#4+0,R5
   1026						.ENDC
   1027	003336	001004 				BNE	40$
   1028	003340	105001 				CLRB	R1
   1029	003342	150001 				BISB	R0,R1		;HIGH BYTE
   1030	003344	005205 			30$:	INC	R5		;UPDATE CORE POINTER.
   1031	003346	000401 				BR	60$
   1032	003350	110025 			40$:	MOVB	R0,(R5)+	;  FROM BUFFER TO CORE
   1033	003352				60$:	SOB	R4,10$		;UNTIL ALL DONE.
   1034	003356	012700 	000000C			MOV	#IS.SUC&377,R0	;GET A POSITIVE NUMBER
   1035	003362				80$:	RETURN
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 26
STNHOS	- SET HOST FOR LOCAL NODE

   1037						.SBTTL	STNHOS	- SET HOST FOR LOCAL NODE
   1038					;+
   1039					; **-STNHOS-SET DEFAULT HOST NODE FOR THIS NODE
   1040					;
   1041					; INPUTS:
   1042					;	R3 = I/O PACKET ADDRESS
   1043					;
   1044					; OUTPUTS:
   1045					;
   1046					; REGISTERS MODIFIED: R1,R0
   1047					;-
   1048
   1049	003364				STNHOS:	CALL	GET1		; GET NODE NAME LENGTH
   1050						.IF DF	D$$BUG
   1051	003370	022700 	000006 			CMP	#6,R0		; RANGE-CHECK THE LENGTH
   1052	003374	103415 				BLO	98$		; IF OVER SIZE
   1053						.IFTF
   1054	003376	012701 	000004G		10$:	MOV	#$HOST+4,R1	; GET DEFAULT HOST NODE NAME
   1055	003402	012711 	020040 			MOV	#"  ,(R1)	; AND CLEAR IT OUT.
   1056	003406	011141 				MOV	(R1),-(R1)
   1057	003410	011141 				MOV	(R1),-(R1)
   1058	003412	005700 				TST	R0		; IF NAME NOT NULL
   1059	003414	001403 				BEQ	20$		; THEN
   1060	003416					CALL	GETN		; COPY THE NEW NODE NAME
   1061	003422	103404 				BCS	99$
   1062	003424				20$:	CALLR	ISSUC		; SUCCESSFUL COMPLETION.
   1063						.IFT
   1064	003430	012700 	000000C		98$:	MOV	#IE.BAD&377,R0	; BAD PARAMETERS
   1065						.ENDC
   1066	003434				99$:	CALLR	RQALT		; OR ERROR.
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 27
STNPWD	- SET PASSWORD

   1068						.SBTTL	STNPWD	- SET PASSWORD
   1069					;+
   1070					; **-STNPWD-SET PASSWORD FOR THIS NODE
   1071					;
   1072					; INPUTS:
   1073					;	R3 = I/O PACKET ADDRESS
   1074					;
   1075					; OUTPUTS:
   1076					;
   1077					; REGISTERS MODIFIED: R5,R4,R2,R1,R0
   1078					;-
   1079
   1080	003440	000002 	100000 		RCVPWD:	.WORD	V$RCV,VF$RCV
   1081	003444	000012 	040000 		XMTPWD:	.WORD	V$XMT,VF$XMT
   1082
   1083	003450	012704 	003440'		STRPWD:	MOV	#RCVPWD,R4	; SET FOR RECEIVE PASSWORD
   1084	003454	000402 				BR	STNPWD
   1085
   1086	003456	012704 	003444'		STXPWD:	MOV	#XMTPWD,R4	; SET FOR TRANSMIT PASSWORD
   1087
   1088	003462				STNPWD:	CALL	FNDNOD		; FIND OUT ABOUT THE NODE
   1089	003466	103426 				BCS	99$		; (IF WE KNOW IT)
   1090	003470	016505 	000004 			MOV	NPWD(R5),R5	; AND CHECK FOR VERIFICATION BLOCK
   1091	003474	001421 				BEQ	98$		; (IF THERE IS ONE)
   1092	003476	012402 				MOV	(R4)+,R2	; GET OFFSET TO PASSWORD
   1093	003500	060502 				ADD	R5,R2		;
   1094	003502	041465 	000000 			BIC	(R4),V$FLG(R5)	; ASSUME PASSWORD IS BEING CLEARED
   1095	003506	012701 	000010 			MOV	#8.,R1		; TRANSFER 8 BYTES
   1096	003512				10$:	CALL	GET1		; GET THE NEXT BYTE
   1097	003516	110022 				MOVB	R0,(R2)+	; AND STUFF INTO BLOCK.
   1098	003520	001402 				BEQ	20$		; IF NON-ZERO
   1099	003522	051465 	000000 			BIS	(R4),V$FLG(R5)	; INDICATE THERE IS DATA THERE.
   1100	003526				20$:	SOB	R1,10$		;
   1101	003532	103404 				BCS	99$		; CRY IF NOT ENOUGH DATA...
   1102	003534					CALLR	ISSUC		; SUCCESSFUL COMPLETION.
   1103	003540	012700 	000000C		98$:	MOV	#IE.NBK&377,R0	; NO PASSWORD BLOCK
   1104	003544				99$:	CALLR	RQALT		; OR ERROR.
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 28
ZRLCOU	- ZERO LINE COUNTERS

   1106						.SBTTL	ZRLCOU	- ZERO LINE COUNTERS
   1107					;+
   1108					; **-ZRLCOU-ZERO LINE COUNTERS
   1109					;
   1110					; ZEROES THE LINE COUNTERS FOR HE SPECIFIED LINE.
   1111					;
   1112					; INPUTS:
   1113					;	R3 = I/O PACKET ADDRESS
   1114					;
   1115					; OUTPUTS:
   1116					;
   1117					; REGISTERS MODIFIED: R5,R4,R2,R1,R0
   1118					;-
   1119
   1120	003550				ZRLCOU:	CALL	FNDLIN		; FIND LINE ID IN SYSTEM TABLES
   1121	003554	103430 				BCS	40$		; IF CS, RETURN
   1122	003556	116501 	000010 			MOVB	TSLN(R5),R1	; GET LINE NUMBER
   1123	003562	070127 	000014 			MUL	#L.LEN,R1	; AND INDEX TO
   1124	003566	066701 	000000G			ADD	$SLTTA,R1	; ENTRY FOR LINE
   1125	003572	032711 	040000 			BIT	#LF.RDY,(R1)	; IF LINE READY
   1126	003576	001415 				BEQ	38$		; THEN
   1127	003600	016104 	000010 			MOV	L.DLS(R1),R4	; GET LINE TABLE VIRTURAL ADDRESS
   1128	003604					MAP	L.DLM(R1)	; AND MAP TO IT.
   1129	003612	116501 	000015 			MOVB	TDLC(R5),R1	; GET THE DLC PROCESS INDEX
   1130	003616					CALL	DVTBL		; THE SERVICE DISPATCH TABLE
   1131	003622					CALL	@S.ZCN(R1)	; MAKE THE REQUEST
   1132	003626				30$:	CALLR	ISSUC		; SUCCESSFUL COMPLETION
   1133	003632	012700 	000000C		38$:	MOV	#IE.MOD&377,R0	; LINE NOT LOADED
   1134	003636				40$:	CALLR	RQALT		; ERROR CONDITION
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 29
STLMNT						;BH05

   1136						.SBTTL	STLMNT						;BH05
   1137					;+
   1138					; **-STLMNT - SET/CLEAR LINE MAINTENANCE (EVENT) LOGGING
   1139					;
   1140					; THIS ROUTINE ENABLES/DISABLES EVENT LOGGING FOR THE
   1141					; SPECIFIED LINE.
   1142					;
   1143					; INPUTS:
   1144					;	R3 = I/O PACKET ADDRESS
   1145					;
   1146					; OUTPUTS (ON CALL TO DEVICE-DEPENDENT MODULES):
   1147					;	R0 = EVENT LOGGING DESTINATION
   1148					;		* ZERO FOR DISABLING LOGGING
   1149					;		* PDV INDEX OF DESTINATION IN HIGH
   1150					;		    BYTE, WITH LOW BYTE EQUAL ZERO.
   1151					;	R1 = ZERO. THIS IS THE EVENT LOGGING
   1152					;		ENABLE/DISABLE SUBFUNCTION.
   1153					;	R2 = THE DEVICE TYPE CODE.
   1154					;	R4 = THE DEVICE LINE TABLE ADDRESS.
   1155					;
   1156					; REGISTERS MODIFIED: R5,R4,R2,R1,R0
   1157					;-
   1158
   1159	003642				STLMNT:	CALL	FNDLIN		; FIND THE LINE ID IN SYS TABLES
   1160	003646	103461 				BCS	80$		; OOPS !
   1161	003650	116501 	000010 			MOVB	TSLN(R5),R1	; GET THE SYS LINE #
   1162	003654	070127 	000014 			MUL	#L.LEN,R1	; AND INDEX TO
   1163	003660	066701 	000000G			ADD	$SLTTA,R1	; SYSTEM LINE ENTRY.
   1164	003664	032711 	040000 			BIT	#LF.RDY,(R1)	; IF LINE READY
   1165	003670	001446 				BEQ	78$		; THEN
   1166	003672	016104 	000004 			MOV	L.DDS(R1),R4	; SET DEVICE LINE TABLE ADDR
   1167	003676					CALL	GET1		; GET THE ON/OFF FLAG
   1168	003702	103443 				BCS	80$		; ?
   1169	003704	005700 				TST	R0		; CHECK THE NEW STATE
   1170	003706	001003 				BNE	5$		; IT IS ENABLE
   1171	003710	012700 	000000C			MOV	#<PD$NSP*400>,R0 ;SET DESTINATION TO NSP
   1172	003714	000401 				BR	10$		; OR
   1173	003716	005000 			5$:	CLR	R0		; NO DESTINATION.
   1174	003720	010146 			10$:	MOV	R1,-(SP)	; SAVE SLT ADDRESS
   1175	003722	010046 				MOV	R0,-(SP)	; AND STATE.
   1176	003724	116501 	000014 			MOVB	TDDM(R5),R1	; GET THE DDM PROCESS INDEX
   1177	003730					CALL	DVTBL		; THE SERVICE DISPATCH TABLE
   1178	003734					CALL	@S.SLG(R1)	; ATTEMPT THE OPERATION
   1179	003740	012600 				MOV	(SP)+,R0	; RESTORE STATE
   1180	003742	012601 				MOV	(SP)+,R1	; AND SLT ADDRESS.
   1181	003744	103422 				BCS	80$		; WE LOSE
   1182	003746	016104 	000010 			MOV	L.DLS(R1),R4	; GET DLC TABLE ADDRESS
   1183	003752					MAP	L.DLM(R1)	; AND MAP TO IT.
   1184	003760	116501 	000015 			MOVB	TDLC(R5),R1	; GET DLC INDEX
   1185	003764	126501 	000014 			CMPB	TDDM(R5),R1	; AND IF NOT THE SAME AS DDM
   1186	003770	001404 				BEQ	70$		; THEN
   1187	003772					CALL	DVTBL		; GET THE SERVICE DISPATCH TABLE
   1188	003776					CALL	@S.SLG(R1)	; AND SERVICE THIS ALSO.
   1189	004002				70$:	CALLR	ISSUC		; AWRIGHT
   1190	004006	012700 	000000C		78$:	MOV	#IE.MOD&377,R0	; LINE NOT LOADED
   1191	004012				80$:	CALLR	RQALT		; GIVE BUMMER RETURN
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 30
ZRNCOU	- ZERO NODE COUNTERS

   1193						.SBTTL	ZRNCOU	- ZERO NODE COUNTERS
   1194					;+
   1195					; **-ZRNCOU-ZERO NODE COUNTERS
   1196					;
   1197					; ZEROES THE NSP STATISTICS DESCRIPTORS, SETS S$SEC TO CURRENT TIME,
   1198					; AND RESETS THE HIGH WATER MARK IN S$MLK TO CURRENT VALUE OF S$LNK.
   1199					;
   1200					; INPUTS:
   1201					;	R3 = I/O PACKET ADDRESS
   1202					;	.CURTM = CURRENT TIME IN SECONDS/2 SINCE MIDNIGHT
   1203					;
   1204					; OUTPUTS:
   1205					;	BLOCK ZEROED / RESET
   1206					;
   1207					; REGISTERS MODIFIED: R5,R4
   1208					;-
   1209
   1210	004016				ZRNCOU:	CALL	FNDNOD		; FIND NODE REFERRED TO.
   1211	004022	103417 				BCS	99$
   1212	004024	016504 	000006 			MOV	NSTA(R5),R4	; GET STATISTICS BLOCK
   1213	004030	001412 				BEQ	98$		; IF THERE IS ONE
   1214	004032	016724 	175366 			MOV	.CURTM,(R4)+	; SET LAST ZEROED TIME TO NOW
   1215	004036	012701 	000010 			MOV	#8.,R1		; 8. COUNTERS TO CLEAR
   1216	004042	005024 			10$:	CLR	(R4)+		; CLEAR COUNTER
   1217	004044					SOB	R1,10$		; DEC LOOP COUNT
   1218	004050	012414 				MOV	(R4)+,(R4)	; SET LUT HIGH WATER MARK
   1219	004052					CALLR	ISSUC		; SUCCESSFUL COMPLETION
   1220	004056	012700 	000000C		98$:	MOV	#IE.NBK&377,R0	; (NO STATISTICS FOR THIS NODE)
   1221	004062				99$:	CALLR	RQALT		; OR ERROR.
   1222
   1223		000001 				.END
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 30-1
SYMBOL TABLE

A$$CHK= 000000   	C.FNC   000010   	FC.RCP= 000014   	H.CUIC  000010   	K$$TPS= 000074
A$$CPS= 000000   	C.LIN   000006   	FC.TIM= 000010   	H.DSW   000046   	LD$LP = 000000
A$$PRI= 000000   	C.LNK   000000   	FC.XCP= 000012   	H.DUIC  000012   	LF.ACT= 100000
A$$TRP= 000000   	C.MOD   000011   	FC.XME= 000000   	H.EFLM  000004   	LF.BWT= 000007
BFSUC   001464R  	C.NSP   000004   	FE.CAL= 000040   	H.EFSV  000040   	LF.DLO= 000040
CB.CCB= 000002   	C.RSV   000002   	FE.DRV= 000010   	H.FCS   000050   	LF.ENA= 002000
CB.RDB= 000004   	C.STA   000007   	FE.EXP= 000200   	H.FORT  000052   	LF.MDC= 000100
CE.ABO= 100362   	C.STS   000012   	FE.EXT= 000001   	H.FPSA  000042   	LF.MFL= 004000
CE.DIS= 100366   	DF$ADJ= 020000   	FE.EXV= 000004   	H.FPVA  000034   	LF.MTP= 000020
CE.ERR= 100370   	DF$DWN= 001000   	FE.LSI= 000400   	H.GARD  000072   	LF.RDY= 040000
CE.MOP= 100372   	DF$FRE= 070000   	FE.MUP= 000002   	H.HDLN  000002   	LF.REA= 010000
CE.NTE= 100361   	DF$LCL= 040000   	FE.MXT= 040000   	H.IPC   000016   	LF.TIM= 000010
CE.RTE= 100376   	DF$LNK= 004000   	FE.NLG= 100000   	H.IPS   000014   	LF.UNL= 020000
CE.SRC= 100364   	DF$REM= 010000   	FE.PKT= 000100   	H.ISP   000020   	LINBLK  000000R
CE.TMO= 100374   	DF$RES= 002000   	FE.PLA= 000020   	H.LUN   000076   	LI$KNO= 000000
CF.EOM= 000004   	DF$TMP= 100000   	FNDLA = ****** GX	H.NLUN  000074   	LI$STA= 000001
CF.HDR= 000020   	DM$END= 000000   	FNDLIN  000324R  	H.NML   000061   	LI$STR= 000002
CF.LB = 100000   	DM$MIM= 000002   	FNDNOD  000372R  	H.ODVA  000022   	LS$DUM= 000002
CF.SOM= 000010   	DM$PXA= 000003   	FS.AST= 000000   	H.ODVL  000024   	LS$LOA= 000000
CF.SYN= 000040   	DM$SAD= 000001   	FS.CIB= 002000   	H.OVLY  000054   	LS$LOO= 000001
CF.TRN= 000100   	DVDSP   000000R     005	FS.CRA= 001000   	H.PFVA  000032   	LS$TRI= 000004
CMODE = 140000   	DVNAM   000000R     003	FS.DIS= 013000   	H.RCVA  000036   	LS$TRQ= 000003
CM$ECO= 000001   	DVTBL   000244R  	FS.DVC= 001000   	H.RRVA  000062   	L$$ASG= 000000
CM$REV= 000000   	DV.CCL= 000002   	FS.ENB= 012000   	H.SPRI  000060   	L$$DRV= 000000
CM$VER= 000003   	DV.COM= 020000   	FS.GET= 006000   	H.TKVA  000026   	L$$P11= 000001
COMEM   002416R  	DV.DIR= 000010   	FS.INI= 000000   	H.TKVL  000030   	L$$11R= 000000
CONTAB  000000R     002	DV.F11= 040000   	FS.KIL= 000000   	H.VEXT  000056   	L.CTL   000012
CS.ABO= 000100   	DV.ISP= 002000   	FS.LTM= 001000   	H.WND   000044   	L.DDM   000002
CS.BUF= 000200   	DV.MNT= 100000   	FS.MNT= 004000   	IEONP = ****** GX	L.DDS   000004
CS.DCR= 000400   	DV.MXD= 000100   	FS.MSN= 014000   	IE.BAD= ****** GX	L.DLC   000003
CS.DEV= 000002   	DV.OSP= 004000   	FS.RNG= 011000   	IE.BDV= ****** GX	L.DLM   000006
CS.DIS= 000040   	DV.PSE= 010000   	FS.RTN= 001000   	IE.BLK= ****** GX	L.DLS   000010
CS.ENB= 000020   	DV.REC= 000001   	FS.SET= 005000   	IE.DAO= ****** GX	L.FLG   000000
CS.EOF= 000001   	DV.SDI= 000020   	FS.STM= 000000   	IE.MOD= ****** GX	L.LEN = 000014
CS.ERR= 100000   	DV.SQD= 000040   	FS.STP= 002000   	IE.NBK= ****** GX	L.UNT   000013
CS.HFE= 002000   	DV.SWL= 001000   	FS.STR= 001000   	IE.NSF= ****** GX	MPAR  = 172100
CS.LST= 040000   	DV.TTY= 000004   	FS.TRM= 003000   	IE.ONP= ****** GX	MPCSR = 177746
CS.MTL= 004000   	DV.UMD= 000200   	FS.XKL= 002000   	IE.PRI= ****** GX	M$$CRB= 000124
CS.RNG= 000010   	D$CHN   000002   	FS.XOF= 010000   	IE.SPC= ****** GX	M$$CRX= 000000
CS.ROV= 000004   	D$FLG   000000   	FS.XON= 007000   	ISSUC   001504R  	M$$FCS= 000000
CS.RSN= 010000   	D$LEN   000014   	F$$LVL= 000001   	IS.SUC= ****** GX	M$$MGE= 000000
CS.SUC= 000001   	D$LNG   000005   	GETADR  000572R  	I$$RAR= 000000   	M$$OVR= 000000
CS.TMO= 020000   	D$NAM   000006   	GETCNT  000574R  	I$$RDN= 000000   	ND$BAD= 177777
CVLTST  000154R  	D$USE   000004   	GETEOF  000772R  	I.PRM = ****** GX	ND$LCC= 000000
C$$CKP= 000000   	D$$BUG= 177514   	GETI    000654R  	I.TCB = ****** GX	ND$LCS= 000001
C$$ORE= 000400   	D$$ISK= 000000   	GETINI  000736R  	KDSAR0= 172360   	ND$LNC= 000004
C$$RSH= 177564   	D$$L11= 000001   	GETLMT  000576R  	KDSDR0= 172320   	ND$LNS= 000005
C.BID   000003   	D$$YNC= 000000   	GETN    000700R  	KISAR0= 172340   	ND$RMC= 000002
C.BUF   000014   	D$$YNM= 000000   	GETRTN  000624R  	KISAR5= 172352   	ND$RMS= 000003
C.BUF1  000014   	ENDIX = 000120   	GETSET  000754R  	KISAR6= 172354   	ND$ZLC= 000000
C.BUF2  000024   	E$$XPR= 000000   	GET1    000600R  	KISAR7= 172356   	ND$ZLN= 000002
C.CNT   000020   	FCMAX = 000056   	GET2    000626R  	KISDR0= 172300   	ND$ZRM= 000001
C.CNT1  000020   	FC.CCP= 000020   	G$$TPP= 000000   	KISDR6= 172314   	NE$CON= 177762
C.CNT2  000030   	FC.CTL= 000006   	G$$TSS= 000000   	KISDR7= 172316   	NE$FIL= 177763
C.FLG   000022   	FC.KCP= 000016   	G$$TTK= 000000   	K$$CNT= 177546   	NE$FIO= 177756
C.FLG1  000022   	FC.KIL= 000004   	G$$WRD= 000000   	K$$CSR= 177546   	NE$FOR= 177776
C.FLG2  000032   	FC.RCE= 000002   	H.CSP   000000   	K$$LDC= 000000   	NE$FUN= 177777
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 30-2
SYMBOL TABLE

NE$LCO= 177766   	NX$SNS= 000010   	PR7   = 000340   	RF.WTS= 000010   	TSTA    000004
NE$LID= 177770   	NX$XMT= 000030   	PS    = 177776   	RQALT = ****** GX	T$$KMG= 000000
NE$LPR= 177757   	NX$ZLC= 000020   	PS$NTI= 000003   	RQDON = ****** GX	T$$MIN= 000000
NE$LST= 177767   	NX$ZNC= 000006   	PS$OFF= 000000   	RT$ECO= 000001   	T.ST3 = ****** GX
NE$NCO= 177755   	NX.NIC= 017050   	PS$STR= 000001   	RT$REV= 000000   	T3.PRV= ****** GX
NE$NIC= 177753   	N$ACQ   000000   	PS$UP = 000005   	RT$VER= 000003   	UBMPR = 170200
NE$NOD= 177765   	N$DPOS= 000014   	PS$VER= 000004   	R$$DER= 000000   	UC.ALG= 000200
NE$NOR= 177754   	N$DUMP= 000003   	PS$WT = 000002   	R$$K11= 000001   	UC.ATT= 000010
NE$ORD= 177774   	N$EXAM= 000015   	PT$END= 000000   	R$$SND= 000000   	UC.KIL= 000004
NE$PAR= 177760   	N$ICF   000006   	PT$HOS= 000003   	R$$11M= 000000   	UC.LGH= 000003
NE$RES= 177761   	N$LNI   000010   	PT$NAM= 000001   	SISDR0= 172200   	UC.NPR= 000100
NE$SER= 177764   	N$LNSR= 000016   	PT$NUM= 000002   	SR0   = 177572   	UC.PWF= 000020
NE$STA= 177775   	N$LOAD= 000002   	PUTACK  001256R  	SR3   = 172516   	UC.QUE= 000040
NL$BRC= 000001   	N$LOGD= 000001   	PUTADR  001010R  	STLMNT  003642R  	UDSAR0= 177660
NL$BTR= 000002   	N$LOOP= 000005   	PUTAPR  001006R  	STMEM   003270R  	UDSDR0= 177620
NL$RES= 000005   	N$LVC   000022   	PUTBEG  001014R  	STNHOS  003364R  	UISAR0= 177640
NL$RLE= 000004   	N$NOD   000032   	PUTCNT  001012R  	STNPWD  003462R  	UISAR4= 177650
NL$RTR= 000003   	N$PLD   000026   	PUTEOF  001242R  	STRPWD  003450R  	UISAR5= 177652
NL$TMO= 000006   	N$RDIN= 000010   	PUTEX2  001052R  	STXPWD  003456R  	UISAR6= 177654
NL$ZRO= 000000   	N$STPR= 000007   	PUTI    001104R  	ST$DIS= 000006   	UISAR7= 177656
NNOD    000000   	N$STS   000042   	PUTINI  001152R  	ST$ENA= 000005   	UISDR0= 177600
NNUM    000002   	N$TCB   000004   	PUTN    001114R  	ST$LOO= 000003   	UISDR4= 177610
NN$CAC= 000011   	N$TEST= 000006   	PUTNOD  001270R  	ST$MAI= 000004   	UISDR5= 177612
NN$CNI= 000013   	N$TMP   000012   	PUTRTN  001050R  	ST$OFF= 000001   	UISDR6= 177614
NN$CNR= 000014   	N$TRIG= 000004   	PUTSET  001224R  	ST$ON = 000000   	UISDR7= 177616
NN$EXT= 000003   	N$VER   000036   	PUT1    001026R  	ST$SHU= 000002   	US.ABO= 000001
NN$FMT= 000005   	N$XADJ= 000002   	PUT2    001016R  	SWR   = 177570   	US.BSY= 000200
NN$IZS= 000007   	N$XINT= 000003   	PWDMSG  000044R     007	S$EMR   000006   	US.CRW= 000004
NN$IZU= 000010   	N$XLCL= 000001   	P$CHN   000004   	S$FMT   000012   	US.DSB= 000010
NN$MAC= 000012   	N$XRMT= 000004   	P$CNT   000005   	S$LEN   000040   	US.ECH= 000002
NN$NKS= 000004   	N$ZERO= 000011   	P$FRQ   000012   	S$LNK   000022   	US.FOR= 000040
NN$RES= 000006   	N$$LDV= 000001   	P$FSP   000013   	S$MLK   000024   	US.FRK= 000002
NN$UMR= 000002   	N$$MOV= 000010   	P$LCD   000002   	S$NKS   000010   	US.LAB= 000004
NN$UMS= 000001   	N$$SYS= 000001   	P$LEN   000014   	S$RES   000014   	US.MDE= 000002
NN$ZRO= 000000   	N$$USR= 000001   	P$LST   000000   	S$SEC   000000   	US.MDM= 000020
NODNAM  000000R     007	N.MLEN= 000454   	P$NOD   000010   	S$SNI   000016   	US.MNT= 000100
NPWD    000004   	PD$NSP= ****** GX	P$PFQ   000006   	S$UMR   000004   	US.OFL= 000001
NSPDAT  001514R  	PF$EIP= 000100   	P$TIM   000003   	S$UMS   000002   	US.OUT= 000001
NSTA    000006   	PF$ENB= 000200   	P$$P45= 000000   	S$UNI   000020   	US.PUB= 000004
NS$SUC= 000001   	PF$OFF= 000000   	P$$WRD= 000000   	S$$WRG= 000000   	US.RED= 000002
NXNIC   000020RG 	PF$RLI= 000002   	Q$$OPT= 000010   	S$$YSZ= 007600   	US.SHR= 000001
NX$DEP= 000046   	PF$RRI= 000004   	RCVPWD  003440R  	S.RCN   000004   	US.UMD= 000010
NX$EXM= 000050   	PF$RVE= 000001   	RDLCOU  001532R  	S.RLG   000002   	US.WCK= 000010
NX$RCV= 000032   	PF$RVR= 000040   	RDLNAM  001626R  	S.SLG   000000   	U.ACP = 000032
NX$RLC= 000016   	PF$SLI= 000002   	RDLPLD  002264R  	S.ZCN   000006   	U.ATT   000022
NX$RLN= 000012   	PF$SRI= 000004   	RDLSTA  002034R  	TASN    000016   	U.BUF   000024
NX$RLS= 000014   	PF$SRT= 000001   	RDMEM   002332R  	TCTL    000002   	U.CBF = 000032
NX$RNC= 000004   	PF$STA= 000003   	RDNCOU  002612R  	TDDM    000014   	U.CLI   177772
NX$RNN= 000000   	PF$SUB= 000010   	RDNNAM  002654R  	TDLC    000015   	U.CNT   000030
NX$RNS= 000002   	PF$UP = 000001   	RDNSTA  003004R  	TFLG    000006   	U.CTL   000004
NX$SLH= 000026   	PIRQ  = 177772   	RDTNOD  000007R     007	TIME    001426R  	U.CW1   000010
NX$SLM= 000042   	PMODE = 030000   	RF.CLN= 000000   	TLIN    000003   	U.CW2   000012
NX$SLO= 000040   	PR0   = 000000   	RF.CTL= 000003   	TNAM    000000   	U.CW3   000014
NX$SLS= 000022   	PR1   = 000040   	RF.TIM= 177400   	TPDV    000007   	U.CW4   000016
NX$SNH= 000024   	PR4   = 000200   	RF.TM0= 000400   	TPS   = 177564   	U.DCB   000000
NX$SNM= 000036   	PR5   = 000240   	RF.WTD= 000020   	TSLF    000012   	U.LUIC  177774
NX$SNO= 000034   	PR6   = 000300   	RF.WTM= 000030   	TSLN    000010   	U.OWN   177776
NXNIC - NICE PRIVLEGED SERVICES	MACRO M1110  13-OCT-79 10:33  PAGE 30-3
SYMBOL TABLE

U.RED   000002   	U2.PRV= 000010   	W.BLVR  000002   	Z.FLG   000011   	$TTNS = ****** GX
U.SCB   000020   	U2.RMT= 020000   	W.BNPD  000015   	Z.LEN = 000014   	$$$   = 000234R
U.STS   000005   	U2.R04= 100000   	W.BOFF  000012   	Z.LLN   000010   	$$$PAS= 000001
U.ST2   000007   	U2.SLV= 000200   	W.BPCB  000000   	Z.MAP   000016   	$$$0  = 000001
U.UIC = 000052   	U2.VT5= 000002   	W.BSIZ  000010   	Z.NAM   000006   	$$$10 = 000001
U.UNIT  000006   	U2.7CH= 010000   	XMTPWD  003444R  	Z.PCB   000012   	$$$12 = 000001
U.VCB = 000034   	VERMSG  000036R     007	X$$DBT= 000000   	Z.SCH   000004   	$$$14 = 000001
U2.AT.= 000020   	VF$RCV= 100000   	ZF.DDM= 000001   	$ACHKB= ****** GX	$$$2  = 000001
U2.CRT= 002000   	VF$XMT= 040000   	ZF.DLC= 000002   	$HOST = ****** GX	$$$20 = 000001
U2.DH1= 100000   	V$FLG   000000   	ZF.KMX= 000020   	$LLCTA= ****** GX	$$$24 = 000001
U2.DJ1= 040000   	V$LEN   000022   	ZF.LLC= 000004   	$NODID= ****** GX	$$$26 = 000001
U2.DZ1= 000100   	V$RCV   000002   	ZF.LMC= 000100   	$NSPNM= ****** GX	$$$30 = 000001
U2.ESC= 001000   	V$XMT   000012   	ZF.MFL= 000010   	$NXNOP  000314RG 	$$$34 = 000001
U2.HLD= 000040   	V$$CTR= 001000   	ZF.MUX= 000040   	$PDVTA= ****** GX	$$$36 = 000001
U2.LOG= 000400   	W.BATT  000006   	ZF.TIM= 000200   	$PUTCT  001332RG 	$$$4  = 000001
U2.LWC= 000001   	W.BFPD  000014   	ZRLCOU  003550R  	$RELOC= ****** GX	$$$40 = 000001
U2.L3S= 000004   	W.BHVR  000004   	ZRNCOU  004016R  	$SLTNM= ****** GX	$$$6  = 000001
U2.L8S= 010000   	W.BLGH  000020   	Z.DAT   000014   	$SLTTA= ****** GX	.CURTM  001424RG
U2.NEC= 004000   	W.BLPD  000016   	Z.DSP   000000

. ABS.	177776	   000
      	004066	   001
CVLDAT	000120	   002
$$NAM0	000000	   003
$$NAM2	000002	   004
$$DSP0	000000	   005
$$DSP2	000002	   006
BYTE  	000054	   007
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  15289 WORDS  ( 60 PAGES)
DYNAMIC MEMORY:  16396 WORDS  ( 63 PAGES)
ELAPSED TIME:  00:01:23
NXNIC,[131,34]NXNIC/CR/-SP=[130,10]NETLIB/ML,RSXMC4/PA:1,[131,10]NXNIC
NXNIC      CREATED BY  MACRO  ON 13-OCT-79 AT 10:33	PAGE 1

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

BFSUC 	  001464 R	#15-558     16-598     17-636     19-721     21-820     22-865     23-904     24-989    
CM$ECO	= 000001	#4-63       24-929    
CM$REV	= 000000	#4-63       24-930    
CM$VER	= 000003	#4-63       24-928    
COMEM 	  002416 R	 20-750    #21-780     25-1004   
CONTAB	  000000 R	#7-155      7-155      7-155      7-155      7-155      7-155      7-155      7-155      7-155     
                         7-155      7-155      7-155      7-155      7-155      7-155      7-155      7-162      7-163     
                         7-167      9-238     
CVLTST	  000154 R	#7-157      18-639    
DF$ADJ	= 020000	#4-62       4-62       23-887    
DF$DWN	= 001000	#4-62      
DF$FRE	= 070000	#4-62       10-275     23-884    
DF$LCL	= 040000	#4-62       4-62       10-290     24-938    
DF$LNK	= 004000	#4-62      
DF$REM	= 010000	#4-62       4-62       23-894    
DF$RES	= 002000	#4-62      
DF$TMP	= 100000	#4-62      
DVDSP 	  000000 R	#8-192      8-209      8-212     
DVNAM 	  000000 R	#8-188      8-204      8-209      8-212     
DVTBL 	  000244 R	#8-200      16-595     19-697     28-1130    29-1177    29-1187   
D$CHN 	  000002	#4-62       23-889     24-946    
D$FLG 	  000000	#4-62      
D$LEN 	  000014	#4-62       10-298     23-902    
D$LNG 	  000005	#4-62       10-279     19-715     23-899    
D$NAM 	  000006	#4-62      
D$USE 	  000004	#4-62      
D$$BUG	= 177514	 26-1050   
ENDIX 	= 000120	#7-155      7-163     
FCMAX 	= 000056	 5-105     #6-139     
FNDLA 	= ******  GX	 9-242     
FNDLIN	  000324 R	#9-234      16-585     19-677     28-1120    29-1159   
FNDNOD	  000372 R	#10-266     22-858     24-935     27-1088    30-1210   
GETADR	  000572 R	#11-323     11-331    *11-332     11-355    *11-356    *11-360    
GETCNT	  000574 R	#11-324    *11-329     11-352    *11-354    *11-361     11-364    *11-369    
GETEOF	  000772 R	 11-347     11-353     11-365    #11-369    
GETI  	  000654 R	 10-268    #11-343    
GETINI	  000736 R	 5-102     #11-360    
GETLMT	  000576 R	#11-325    *11-336     11-340    *11-343     11-346    
GETN  	  000700 R	 9-240     #11-350     26-1060   
GETRTN	  000624 R	 11-328    #11-333     11-338     11-345     11-349     11-351    
GETSET	  000754 R	 11-327     11-350    #11-364    
GET1  	  000600 R	 9-236     #11-327     11-335     11-337     11-344     21-807     25-1006    26-1049    27-1096   
                         29-1167   
GET2  	  000626 R	#11-335     21-781     21-783    
IEONP 	= ******  GX	 5-111      6-121      6-126      6-128      6-131      6-132      6-133      6-135     
IE.BAD	= ******  GX	 11-370     26-1064   
IE.BDV	= ******  GX	 7-171     
IE.BLK	= ******  GX	 21-786     21-823    
IE.DAO	= ******  GX	 12-452    
IE.MOD	= ******  GX	 9-244      16-599     28-1133    29-1190   
IE.NBK	= ******  GX	 22-866     27-1103    30-1220   
IE.NSF	= ******  GX	 10-300    
NXNIC      CREATED BY  MACRO  ON 13-OCT-79 AT 10:33	PAGE 2

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

IE.ONP	= ******  GX	 8-215     
IE.PRI	= ******  GX	 5-109     
IE.SPC	= ******  GX	 12-457    
ISSUC 	  001504 R	#15-563     26-1062    27-1102    28-1132    29-1189    30-1219   
IS.SUC	= ******  GX	 15-560     15-563     25-1034   
I$$AS 	= ******	 4-60      
I.PRM 	= ******  GX	 5-104      11-360     11-361     11-366     12-432     12-437    
I.TCB 	= ******  GX	 5-98      
KISAR6	= 172354	*11-366    *12-448    *16-593    *20-753    *25-1009   *28-1128   *29-1183   
LF.ACT	= 100000	#4-61      
LF.BWT	= 000007	#4-61      
LF.DLO	= 000040	#4-61      
LF.ENA	= 002000	#4-61      
LF.MDC	= 000100	#4-61      
LF.MFL	= 004000	#4-61      
LF.MTP	= 000020	#4-61       18-647    
LF.RDY	= 040000	#4-61       16-590     17-619     19-693     28-1125    29-1164   
LF.REA	= 010000	#4-61      
LF.TIM	= 000010	#4-61      
LF.UNL	= 020000	#4-61       17-617    
LINBLK	  000000 R	#4-73       9-234     *10-286    *10-287    *10-288    *10-289    *10-292    *10-293    *10-294    
                         10-295    
L.CTL 	  000012	#4-61       18-642    
L.DDM 	  000002	#4-61       7-158     
L.DDS 	  000004	#4-61       19-695     29-1166   
L.DLC 	  000003	#4-61      
L.DLM 	  000006	#4-61       16-593     28-1128    29-1183   
L.DLS 	  000010	#4-61       16-592     28-1127    29-1182   
L.FLG 	  000000	#4-61      
L.LEN 	= 000014	#4-61       16-588     17-631     19-691     28-1123    29-1162   
L.UNT 	  000013	#4-61       18-644    
M$$MGE	= 000000	 11-366     12-448     16-593     20-752     20-753     21-787     25-1008    25-1009    28-1128   
                         29-1183   
NNOD  	  000000	#4-67      *10-286     24-937    
NNUM  	  000002	#4-67      *10-287    *10-292     24-943    
NN$CAC	= 000011	 22-853    
NN$EXT	= 000003	 22-847    
NN$FMT	= 000005	 22-849    
NN$IZS	= 000007	 22-851    
NN$IZU	= 000010	 22-852    
NN$MAC	= 000012	 22-854    
NN$NKS	= 000004	 22-848    
NN$RES	= 000006	 22-850    
NN$UMR	= 000002	 22-846    
NN$UMS	= 000001	 22-845    
NN$ZRO	= 000000	 22-844    
NODNAM	  000000 R	#10-263     10-266     10-277    
NPWD  	  000004	#4-67      *10-288    *10-293     24-954     24-962     27-1090   
NSPDAT	  001514 R	 10-272    #15-566     23-881    
NSTA  	  000006	#4-67      *10-289    *10-294     22-860     30-1212   
NXNIC 	  000020 RG	#5-98      
N$ACQ 	  000000	#4-62      
NXNIC      CREATED BY  MACRO  ON 13-OCT-79 AT 10:33	PAGE 3

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

N$ICF 	  000006	#4-62       23-889    
N$LNI 	  000010	#4-62      
N$LVC 	  000022	#4-62      
N$NOD 	  000032	#4-62       10-273     10-274     23-882     23-883    
N$PLD 	  000026	#4-62       19-733    
N$STS 	  000042	#4-62       10-294    
N$TCB 	  000004	#4-62      
N$TMP 	  000012	#4-62      
N$VER 	  000036	#4-62       10-293    
N$XADJ	= 000002	 23-886    
N$XINT	= 000003	 23-891    
N$XLCL	= 000001	 23-896    
N$XRMT	= 000004	 23-893    
PD$NSP	= ******  GX	 15-567     19-726     19-731     29-1171   
PF$EIP	= 000100	#4-62      
PF$ENB	= 000200	#4-62      
PF$OFF	= 000000	#4-62      
PF$RLI	= 000002	#4-62      
PF$RRI	= 000004	#4-62      
PF$RVE	= 000001	#4-62      
PF$RVR	= 000040	#4-62      
PF$SLI	= 000002	#4-62      
PF$SRI	= 000004	#4-62      
PF$SRT	= 000001	#4-62      
PF$STA	= 000003	#4-62      
PF$SUB	= 000010	#4-62      
PF$UP 	= 000001	#4-62       19-683     19-709     24-950    
PS    	= 177776	 21-810     21-811     21-817    
PS$NTI	= 000003	#4-62      
PS$OFF	= 000000	#4-62      
PS$STR	= 000001	#4-62      
PS$UP 	= 000005	#4-62       19-711     24-948    
PS$VER	= 000004	#4-62      
PS$WT 	= 000002	#4-62      
PUTACK	  001256 R	 12-439    #12-456    
PUTADR	  001010 R	#12-393     12-404    *12-405     12-427    *12-428    *12-442     15-558    
PUTAPR	  001006 R	#12-392    *12-441     12-448    
PUTBEG	  001014 R	#12-395    *12-443     15-559    
PUTCNT	  001012 R	#12-394    *12-403     12-424    *12-426    *12-435     12-446    *12-451    *12-456    
PUTEOF	  001242 R	 12-425     12-447    #12-451    
PUTEX2	  001052 R	#12-408     24-944    
PUTI  	  001104 R	#12-419     19-716     23-900    
PUTINI	  001152 R	 5-103     #12-432    
PUTN  	  001114 R	#12-422     13-486     24-961     24-969     24-983     24-987    
PUTNOD	  001270 R	#13-475     24-980    
PUTRTN	  001050 R	 12-398     12-402    #12-406     12-413     12-421     12-423    
PUTSET	  001224 R	 12-401     12-412     12-422    #12-446    
PUT1  	  001026 R	 12-397    #12-401     12-414     12-416     12-420     13-482     13-485     14-509     18-641    
                         18-643     18-645     18-654     19-686     19-689     19-705     19-719     20-774     23-897    
                         24-953     24-975     24-977     24-978     24-986    
PUT2  	  001016 R	#12-397     14-527     18-659    
PWDMSG	  000044 R	#24-931     24-958     24-966    
NXNIC      CREATED BY  MACRO  ON 13-OCT-79 AT 10:33	PAGE 4

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

P$CHN 	  000004	#4-62      
P$CNT 	  000005	#4-62      
P$FRQ 	  000012	#4-62      
P$FSP 	  000013	#4-62      
P$LCD 	  000002	#4-62      
P$LEN 	  000014	#4-62       19-729    
P$LST 	  000000	#4-62       19-683     19-709     19-711     24-948     24-950    
P$NOD 	  000010	#4-62       19-713    
P$PFQ 	  000006	#4-62      
P$TIM 	  000003	#4-62      
RCVPWD	  003440 R	#27-1080    27-1083   
RDLCOU	  001532 R	 6-124     #16-585    
RDLNAM	  001626 R	 6-122     #17-614    
RDLPLD	  002264 R	 19-680     19-707    #19-726    
RDLSTA	  002034 R	 6-123     #19-677    
RDMEM 	  002332 R	 6-137     #20-750    
RDNCOU	  002612 R	 6-119     #22-858    
RDNNAM	  002654 R	 6-117     #23-881    
RDNSTA	  003004 R	 6-118     #24-935    
RDTNOD	  000007 R	#22-844     22-862    
RF.CLN	= 000000	#4-62      
RF.CTL	= 000003	#4-62      
RF.TIM	= 177400	#4-62      
RF.TM0	= 000400	#4-62      
RF.WTD	= 000020	#4-62      
RF.WTM	= 000030	#4-62      
RF.WTS	= 000010	#4-62      
RQALT 	= ******  GX	 5-110      15-564     16-600     19-722     21-821     22-867     23-905     24-990     26-1066   
                         27-1104    28-1134    29-1191    30-1221   
RQDON 	= ******  GX	 15-561    
RT$ECO	= 000001	#4-63       24-926    
RT$REV	= 000000	#4-63       24-927    
RT$VER	= 000003	#4-63       24-925    
R$$11D	= ******	 4-60      
R$$11M	= 000000	 4-60      
R$$11S	= ******	 4-60      
STLMNT	  003642 R	 6-134     #29-1159   
STMEM 	  003270 R	 6-136     #25-1004   
STNHOS	  003364 R	 6-127     #26-1049   
STNPWD	  003462 R	 27-1084   #27-1088   
STRPWD	  003450 R	 6-130     #27-1083   
STXPWD	  003456 R	 6-129     #27-1086   
ST$MAI	= 000004	 19-679    
ST$OFF	= 000001	 19-685     19-688     19-704     24-945     24-976    
ST$ON 	= 000000	 19-682     19-702     24-952     24-974    
S$EMR 	  000006	#4-62       22-847    
S$FMT 	  000012	#4-62       22-849    
S$LEN 	  000040	#4-62      
S$LNK 	  000022	#4-62       22-853    
S$MLK 	  000024	#4-62       22-854    
S$NKS 	  000010	#4-62       22-848    
S$RES 	  000014	#4-62       22-850    
NXNIC      CREATED BY  MACRO  ON 13-OCT-79 AT 10:33	PAGE 5

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

S$SEC 	  000000	#4-62       22-844    
S$SNI 	  000016	#4-62       22-851    
S$UMR 	  000004	#4-62       22-846    
S$UMS 	  000002	#4-62       22-845    
S$UNI 	  000020	#4-62       22-852    
S.RCN 	  000004	#4-67       16-596    
S.RLG 	  000002	#4-67       19-698    
S.SLG 	  000000	#4-67       29-1178    29-1188   
S.ZCN 	  000006	#4-67       28-1131   
TASN  	  000016	#4-67       19-726     19-728    
TCTL  	  000002	#4-67      
TDDM  	  000014	#4-67       19-696     29-1176    29-1185   
TDLC  	  000015	#4-67       16-594     28-1129    29-1184   
TFLG  	  000006	#4-67      
TIME  	  001426 R	 5-101     #15-548    
TLIN  	  000003	#4-67      
TNAM  	  000000	#4-67      
TPDV  	  000007	#4-67      
TSLF  	  000012	#4-67      
TSLN  	  000010	#4-67       16-587     19-690     28-1122    29-1161   
TSTA  	  000004	#4-67      
T.ST3 	= ******  GX	 5-99      
T3.PRV	= ******  GX	 5-99      
VERMSG	  000036 R	#24-925     24-981    
VF$RCV	= 100000	#4-62       24-956     27-1080   
VF$XMT	= 040000	#4-62       24-964     27-1081   
V$FLG 	  000000	#4-62      *27-1094   *27-1099   
V$LEN 	  000022	#4-62      
V$RCV 	  000002	#4-62       24-958     24-959     27-1080   
V$XMT 	  000012	#4-62       24-966     24-967     27-1081   
XMTPWD	  003444 R	#27-1081    27-1086   
X$$MCB	= ******	 4-60       4-60      
ZF.DDM	= 000001	#4-60      
ZF.DLC	= 000002	#4-60      
ZF.KMX	= 000020	#4-60      
ZF.LLC	= 000004	#4-60      
ZF.LMC	= 000100	#4-60      
ZF.MFL	= 000010	#4-60      
ZF.MUX	= 000040	#4-60      
ZF.TIM	= 000200	#4-60      
ZRLCOU	  003550 R	 6-125     #28-1120   
ZRNCOU	  004016 R	 6-120     #30-1210   
Z.DAT 	  000014	#4-60       15-568     19-732    
Z.DSP 	  000000	#4-60       4-60      
Z.FLG 	  000011	#4-60      
Z.LEN 	= 000014	#4-60      
Z.LLN 	  000010	#4-60      
Z.MAP 	  000016	#4-60      
Z.NAM 	  000006	#4-60       7-161      8-203      18-658    
Z.PCB 	  000012	#4-60      
Z.SCH 	  000004	#4-60      
$ACHKB	= ******  GX	 12-438    
NXNIC      CREATED BY  MACRO  ON 13-OCT-79 AT 10:33	PAGE 6

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

$HOST 	= ******  GX	 24-979     26-1054   
$LLCTA	= ******  GX	 17-615    
$NODID	= ******  GX	 24-984    
$NSPNM	= ******  GX	 10-292    
$NXNOP	  000314 RG	 8-195      8-195      8-195      8-195     #8-215     
$PDVTA	= ******  GX	 7-159      8-201      15-566     18-656     19-730    
$PUTCT	  001332 RG	#14-508     22-863    
$RELOC	= ******  GX	 12-440    
$SLTNM	= ******  GX	 17-616    
$SLTTA	= ******  GX	 16-589     17-614     19-692     28-1124    29-1163   
$TTNS 	= ******  GX	 15-548     15-550     15-552    
$$$   	= 000234 R	#8-194      8-197     
$$$PAS	= 000001	 7-155     #7-155      7-155      7-155      7-155      7-155      7-155      7-155      7-155     
                         7-155      7-155      7-155      7-155      7-155      7-155      7-155      7-155      7-155     
$$$0  	= 000001	 7-155     #7-155     
$$$10 	= 000001	 7-155     #7-155     
$$$12 	= 000001	 7-155     #7-155     
$$$14 	= 000001	 7-155     #7-155     
$$$2  	= 000001	 7-155     #7-155      7-155     
$$$20 	= 000001	 7-155     #7-155     
$$$24 	= 000001	 7-155     #7-155     
$$$26 	= 000001	 7-155     #7-155     
$$$30 	= 000001	 7-155     #7-155     
$$$34 	= 000001	 7-155     #7-155     
$$$36 	= 000001	 7-155     #7-155     
$$$4  	= 000001	 7-155     #7-155      7-155     
$$$40 	= 000001	 7-155     #7-155     
$$$6  	= 000001	 7-155     #7-155     
.CURTM	  001424 RG	 14-521    #15-546    *15-555     30-1214   
NXNIC      CREATED BY  MACRO  ON 13-OCT-79 AT 10:33	PAGE 7

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

CALL  		 5-101      5-102      5-103      9-236      9-240      9-242      10-268     10-272     11-327     11-335    
                 11-337     11-344     11-350     12-397     12-401     12-412     12-414     12-420     12-422     12-438    
                 12-440     13-485     14-509     14-527     16-585     16-595     16-596     17-624     17-627     18-639    
                 18-641     18-643     18-645     18-654     19-677     19-680     19-686     19-689     19-697     19-698    
                 19-705     19-707     19-716     19-719     20-750     20-774     21-781     21-783     21-807     21-815    
                 22-858     22-863     23-881     23-897     23-900     24-935     24-944     24-953     24-961     24-969    
                 24-975     24-977     24-978     24-980     24-983     24-986     24-987     25-1004    25-1006    26-1049   
                 26-1060    27-1088    27-1096    28-1120    28-1130    28-1131    29-1159    29-1167    29-1177    29-1178   
                 29-1187    29-1188    30-1210   
CALLR 		#4-58      #5-107     #5-110     #5-111     #13-482    #13-486    #15-561    #15-564    #16-598    #16-600    
                #17-636    #18-659    #19-721    #19-722    #21-820    #21-821    #22-865    #22-867    #23-904    #23-905    
                #24-989    #24-990    #26-1062   #26-1066   #27-1102   #27-1104   #28-1132   #28-1134   #29-1189   #29-1191   
                #30-1219   #30-1221   
CCBDF$		#4-57       4-59      
CVLMDF		#7-154      7-155     
DLXDF 		#4-58       4-70      
DLXDF$		#4-57      #4-67      
DVTMDF		#4-58      #7-155     #7-155     
HDRDF$		#4-58       4-66      
HWDDF$		#4-57      #4-64      #11-366    #11-366    #12-448    #12-448    #16-593    #16-593    #20-753    #20-753    
                #25-1009   #25-1009   #28-1128   #28-1128   #29-1183   #29-1183   
MAP   		#4-58      #11-366    #12-448    #16-593    #20-753    #25-1009   #28-1128   #29-1183   
MFPS  		 21-810    
MTPS  		 21-811     21-817    
NICDF 		#4-58      #4-69      
NSDDB$		#4-57      #4-62      
NSPVR$		#4-58      #4-63      
PDVDF$		#4-57      #4-60      
PROCES		#4-67      
RETURN		 7-170      8-210      8-213      8-217      9-245      10-304     11-333     11-341     11-358     11-362    
                 11-367     11-372     12-406     12-417     12-430     12-444     12-449     12-454     12-458     14-531    
                 15-556     15-569     18-660     19-736     20-778     21-826     25-1035   
SLTDF$		#4-57      #4-61      
SOB   		#10-285    #10-299    #11-357    #12-429    #20-776    #23-903    #25-1033   #27-1100   #30-1217   
UCBDF$		#4-58       4-65      
XXX   		#7-155      7-155      7-155      7-155      7-155      7-155      7-155      7-155      7-155      7-155     
                 7-155      7-155      7-155      7-155      7-155      7-155      7-155