Google
 

Trailing-Edge - PDP-10 Archives - BB-H348C-RM_1982 - swskit-v21/listings/mcb/nsnet.list
There are no other files named nsnet.list in the archive.
NSNET	MACRO M1110  06-NOV-79 10:12
TABLE OF CONTENTS

     4-  122	$NETQIO - NETWORK CONTROL QIO (FUNCTION=35) PROCESSOR
     5-  149	OPN - NETWORK ACCESS (SUBFUNCTION=000)
     6-  196	GET TASK'S MAIL FROM GENERAL DELIVERY
     7-  251	CLS - DEACCESS NETWORK (SUBFUNCTION=010)
     8-  380	SPA - SPECIFY NETWORK DATA AST SERVICE (SUBFUNCTION=020)
     9-  405	GND - GET NETWORK DATA (SUBFUNCTIONS=230,040,250)
     9-  485	LTON - GET NETWORK DATA LENGTH AND TYPE ONLY (SUBFUNCTION=040)
    10-  504	CONNECT PENDING NETWORK DATA PROCESSING
    11-  534	INTERRUPT MESSAGE NETWORK DATA PROCESSING
    12-  561	USER DISCONNECT AND USER/NETWORK ABORT NETWORK DATA PROCESSING
    13-  598	MOP EVENT REPORT PROCESSING
    13-  614	CCB & DATA BUFFER CLEANUP                                               ;BH0003
    13-  628	LOCAL DATA MOVE SUBROUTINE
    14-  641	GLN - GET LOCAL NODE PARAMETERS
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 3


      1						.TITLE	NSNET
      2						.IDENT	/V01.07/
      3
      4					;
      5					; COPYRIGHT (C) 1978 BY
      6					; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
      7					;
      8					;
      9					; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
     10					; ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
     11					; INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER
     12					; COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
     13					; OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
     14					; TRANSFERRED.
     15					;
     16					; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE
     17					; AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT
     18					; CORPORATION.
     19					;
     20					; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS
     21					; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
     22					;
     23					;
     24					; MODULE DESCRIPTION
     25					;
     26					;	ACP NETWORK ACCESS QIO PROCESSOR
     27					;
     28					;
     29					;
     30					; DISTRIBUTED SYSTEMS SOFTWARE ENGINEERING
     31					;
     32					; IDENT HISTORY:
     33					;
     34					; 1.00	10-FEB-78
     35					;	VERSION 2.0 RELEASE
     36					; 1.01	14-JUL-78	L. WEBBER	;LW0001
     37					;	MOVE DISPATCH TABLES INTO BLANK PSECT
     38					;
     39					; 1.02	18-AUG-78	ALAN D. PECKHAM		;AP0002
     40					;	CHANGE MOP REPORTING TO COME IN BUFFER INSTEAD OF CCB
     41					;
     42					; 1.03	1-NOV-78	BUREN W. HOFFMAN	;BH0003
     43					;	MODIFIED AP0002 SO THAT THE CCB & BUFFER CLEANUP CODE IS
     44					;	A CALLABLE ROUTINE "$CCBCL".
     45					; 1.04	21-DEC-78 ALAN D. PECKHAM
     46					;	ADD TDISP TABLE ENTRY FOR NT.LOG NETWORK DATA AND
     47					;	FIX $CCBCL TO RETURN CCB/SDBS PROPERLY
     48					; 1.05	9-AUG-79  ALAN D. PECKHAM
     49					;	CHANGE INPUT CONVENTION FOR $CCBCL.
     50					; 1.06	27-AUG-79 ALAN D. PECKHAM
     51					;	$CCBCL SHOULD NOT MODIFY APR6.
     52					; 1.07	6-NOV-79  ALAN D. PECKHAM
     53					;	FIX BUG IN CLS (FOUND BY BUREN HOFFMAN)
     54					;
     55					;
     56
     57					; MACRO LIBRARY CALLS
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 3-1


     58					;
     59
     60						.MCALL	MBXDF$,DVBDF$,LLWDF$
     61	000000					MBXDF$			;DEFINE TASK MAILBOX BLOCK OFFSETS
     62	000000					DVBDF$			;   "   VOLUME CONTROL BLOCK OFFSETS
     63	000000					LLWDF$			;   "   LOGICAL LINK WINDOW BLOCK OFFSETS
     64						.MCALL	NSPSY$,CCBDF$
     65	000000					NSPSY$			;DEFINE NSP SYSTEM INTERFACE SYMBOLS
     66	000000					CCBDF$			;   "   COMMUNICATION CONTROL BLOCK OFFSETS
     67						.MCALL	CNBDF$,NSSYM$
     68	000000					CNBDF$			;DEFINE CONNECT PENDING BLOCK OFFSETS
     69	000000					NSSYM$			;   "   DRIVER RETURN SYMBOLS
     70						.MCALL	SAVRG,RESRG,CALLC,CALLX,RECMAP
     71						.MCALL	SAVMAP,MAP,RESMAP,$MVFBF                                        ;AP0006
     72
     73					;
     74					; LOCAL MACRO DEFINITIONS
     75					;
     76					;
     77					; PUSH AND POP STACK INSTRUCTIONS
     78					;
     79
     80						.MACRO	PUSH	S
     81						.IRP	SS,<S>
     82						MOV	SS,-(SP)
     83						.ENDR
     84						.ENDM	PUSH
     85
     86						.MACRO	POP	D
     87						.IRP	DD,<D>
     88						MOV	(SP)+,DD
     89						.ENDR
     90						.ENDM	POP
     91
     92					;
     93					; LOCAL DATA
     94					;
     95					;
     96					; SUBFUNCTION CODE DISPATCH TABLE
     97					;
     98
     99					                                                                                ;**-1
    100	000000	000024'			SDISP:	.WORD	OPN		; 000 - NETWORK ACCESS
    101	000002	000320'				.WORD	CLS		; 010 -    "    DEACESS
    102	000004	000726'				.WORD	SPA		; 020 - SPECIFY NETWORK DATA AST SERVICE
    103	000006	000042'				.WORD	GND		; 230 - GET NETWORK DATA
    104	000010	000042'				.WORD	GND		; 040 -  "     "      "  LENGTH AND TYPE
    105	000012	000042'				.WORD	GND		; 250 -  "     "      "  SPECIFIC TYPE
    106	000014	000000G				.WORD	$IFCER		; 060 - ILLEGAL FUNCTION
    107	000016	001022'				.WORD	GLN		; 270 - GET LOCAL NODE INFORMATION
    108
    109					;
    110					; TYPE CODE DISPATCH TABLE
    111					;
    112
    113	000020	000314'			TDISP:	.WORD	CON		; 1 - CONNECT PENDING
    114	000022	000426'				.WORD	INT		; 2 - INTERRUPT MESSAGE
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 3-2


    115	000024	000524'				.WORD	DSC		; 3 - USER DISCONNECT
    116	000026	000524'				.WORD	ABT		; 4 - USER ABORT
    117	000030	000516'				.WORD	ABO		; 5 - NETWORK DISCONNECT
    118	000032	000000 	000000 			.WORD	0,0		; 6 AND 7 ARE RESERVED
    119	000036	000650'				.WORD	MOP		; 10 - MOP EVENT
    120	000040	000650'				.WORD	MOP		; 11 - EVENT LOG DATA                           ;AP0004
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 4
$NETQIO - NETWORK CONTROL QIO (FUNCTION=35) PROCESSOR

    122					.SBTTL $NETQIO - NETWORK CONTROL QIO (FUNCTION=35) PROCESSOR
    123
    124					;+
    125					; ** - $NETQIO - NETWORK CONTROL QIO PROCESSOR
    126					;
    127					; THIS ROUTINE PROCESSES QIO REQUESTS WITH FUNCTION
    128					; CODES OF 35.
    129					;
    130					; INPUTS:
    131					;
    132					;	R1 = SUBFUNCTION CODE
    133					;	R3 = I/O PACKET
    134					;
    135					; OUTPUTS:
    136					;
    137					;	R3->	I/O PACKET
    138					;	R4->	MAILBOX
    139					;-
    140
    141	000000					.PSECT	$NSACP                                                          ;LW0001
    142	000000	017304 	000000G		$NETQIO::MOV	@I.LN2(R3),R4	;GET ADDRESS OF MAILBOX
    143	000004	042704 	000001 			BIC	#1,R4		;CLEAR ACCESS BIT IN ADDRESS
    144	000010	042701 	177700 			BIC	#177700,R1	;CONVERT SUBFUNCTION CODE TO
    145	000014	006201 				ASR	R1		; WORD INDEX
    146	000016	006201 				ASR	R1
    147	000020	000171 	000000'			JMP	@SDISP(R1)	;DISPATCH FOR PROCESSING
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 5
OPN - NETWORK ACCESS (SUBFUNCTION=000)

    149					.SBTTL OPN - NETWORK ACCESS (SUBFUNCTION=000)
    150
    151					;+
    152					; OPN - NETWORK ACCESS QIO PROCESSOR
    153					;
    154					; THIS ESTABLISHES AN ACCESS LINK TO NSP. IT'S MAJOR
    155					; FUNCTION IS TO CREATE THE NETWORK DATA QUEUE MAILBOX).
    156					;
    157					; INPUTS:
    158					;
    159					;	R3 = I/O PACKET
    160					;	R4 = MAILBOX
    161					;
    162					; OUTPUTS:
    163					;
    164					;	MAILBOX IS INITIALIZED AND ANY PENDING CONNECTS WHICH
    165					;	WERE ON THE GENERAL DELIVERY QUEUE ARE PLACED IN
    166					;	THE MAILBOX.
    167					;-
    168
    169	000024	016305 	000000G		OPN:	MOV	I.UCB(R3),R5	;GET VOLUME CONTROL BLOCK ADDRESS
    170	000030	016505 	000000G			MOV	U.VCB(R5),R5	; THRU UNIT CONTROL BLOCK
    171	000034	010475 	000014 			MOV	R4,@V.MBXQ+2(R5) ;LINK MAILBOX TO QUEUE OF MAILBOXES
    172	000040	010465 	000014 			MOV	R4,V.MBXQ+2(R5)	;IN VCB
    173									;CHECK IF THIS IS THE NCU EXECUTOR TASK
    174	000044	016301 	000000G			MOV	I.TCB(R3),R1	;GET TCB ADDRESS FOR THIS TASK
    175	000050	026167 	000000G	000000G		CMP	T.NAM(R1),$NCUNM ;FIRST PART OF THE NAME ?
    176	000056	001006 				BNE	5$		;IF NE, NO - CONTTINUE
    177	000060	026167 	000002G	000002G		CMP	T.NAM+2(R1),$NCUNM+2 ;SECOND PART OF THE NAME ?
    178	000066	001002 				BNE	5$		;IF NE, NO
    179	000070	010467 	000000G			MOV	R4,$NSNCU	;OTHERWISE SAVE NCU'S MAILBOX ADDRESS
    180
    181	000074	010400 			5$:	MOV	R4,R0		;COPY MAILBOX ADDRESS
    182	000076	005020 				CLR	(R0)+		;CLEAR LINK POINTER IN MAILBOX
    183	000100	010120 				MOV	R1,(R0)+	;STORE TCB ADDRESS IN MAILBOX
    184	000102	005020 				CLR	(R0)+		;CLEAR STATUS AND # OF ENTRIES IN NETWORK DATA QUEUE
    185	000104	105020 				CLRB	(R0)+		;CLEAR COUNTER OF LOGICAL LINKS IN USE
    186	000106	116320 	000000G			MOVB	I.PRM(R3),(R0)+	;STORE MAX # OF LOGICAL LINKS ALLOWED
    187	000112	005020 				CLR	(R0)+		;CLEAR NETWORK DATA AST ADDRESS
    188	000114	010046 				MOV	R0,-(SP)	;SAVE CURRENT POSITION IN MAILBOX
    189	000116	005020 				CLR	(R0)+		;INITIALIZE NETWORK DATA (MAIL) LISTHEAD
    190	000120	012620 				MOV	(SP)+,(R0)+	;...
    191	000122					SWSTK$	10$		;SWITCH TO SYSTEM STATE
    192	000126					CALL	GTMAIL		;;MOVE ANY "MAIL" FROM GENERAL DELIVERY
    193	000132					CALLR	IOSUC		;;POST SUCCESSFUL COMPLETION TO USER
    194	000136				10$:	RETURN			;;RETURN TO USER STATE AND CALLER
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 6
GET TASK'S MAIL FROM GENERAL DELIVERY

    196					.SBTTL GET TASK'S MAIL FROM GENERAL DELIVERY
    197
    198					;+
    199					; THIS ROUTINE REMOVES ANY CONNECTS FOR A PARTICULAR TASK OR MOP
    200					; EVENTS FOR NCU FROM THE GENERAL DELIVERY QUEUE AND PLACES THEM
    201					; IN THETASK'S MAILBOX QUEUE. IF THE TOTAL # OF ALLOWABLE LOGICAL
    202					; LINKS IS EXCEEDED ALL REMAINING CONNECTS WILL BE REJECTED.
    203					;
    204					; INPUTS:
    205					;
    206					;	R3 -> I/O PACKET
    207					;	R4 -> MAILBOX
    208					;	R5 -> VCB
    209					;
    210					; OUTPUTS:
    211					;
    212					;	R0 & R1 ARE DESTROYED
    213					;-
    214
    215	000140				GTMAIL:	SAVRG	<R5,R2>		;;SAVE REGISTERS NEEDED
    216	000144	062705 	000016 			ADD	#V.GENQ,R5	;;ADD OFFSET TO GENERAL DELIVERY QUEUE
    217	000150	010502 				MOV	R5,R2		;;SAVE THE ADDRESS OF THE LISTHEAD
    218	000152	010500 			10$:	MOV	R5,R0		;;COPY THE POINTER TO THE CURRENT ELEMENT
    219	000154	011005 			20$:	MOV	(R0),R5		;;GET (NEXT) ELEMENT FROM QUEUE
    220	000156	001450 				BEQ	60$		;;IF EQ, QUEUE IS EMPTY
    221	000160	026564 	000004 	000002 		CMP	C.NSP(R5),M.TASK(R4) ;;IS THIS CONNECT FOR THIS TASK?
    222	000166	001371 				BNE	10$		;;IF NE, NO - KEEP LOOKING
    223
    224	000170	011510 				MOV	(R5),(R0)	;;REMOVE ELEMENT FROM GENERAL DELIVERY QUEUE
    225	000172	001002 				BNE	30$		;;IF NE, WE'RE NOT AT END OF QUEUE
    226	000174	010062 	000002 			MOV	R0,2(R2)	;;SET ADDRESS OF NEW LAST ELEMENT
    227	000200	122765 	000001 	000010 	30$:	CMPB	#NT.CON,C.FNC(R5) ;;IS THIS A CONNECT CCB ?
    228	000206	001026 				BNE	50$		;;IF NE, NO - MUST BE MOP EVENT CCB
    229	000210	105764 	000007 			TSTB	M.MAX(R4)	;;HAS USER RESTRICTED # OF LOGICAL LINKS?
    230	000214	001421 				BEQ	40$		;;NO
    231	000216	126464 	000006 	000007 		CMPB	M.USE(R4),M.MAX(R4) ;;CAN WE PUT THIS CONNECT ON THE MAILBOX?
    232	000224	103415 				BLO	40$		;;YES
    233	000226					SAVRG	<R0,R2,R3,R4>	;;SAVE REGISTERS
    234	000236	012703 	000041 			MOV	#ER$TCO,R3	;;SET TOO MANY CONNECTS REASON CODE
    235	000242					CALL	CCBREJ		;;REJECT THIS CONNECTION
    236	000246					RESRG	<R4,R3,R2,R0>	;;RESTORE REGISTERS
    237	000256	000736 				BR	20$		;;LOOP TILL DONE
    238
    239	000260	105264 	000006 		40$:	INCB	M.USE(R4)	;;INCREMENT NUMBER OF ACTIVE LOGICAL LINKS
    240	000264	005015 			50$:	CLR	(R5)		;;CLEAR LINK POINTER
    241	000266	010574 	000014 			MOV	R5,@M.MAIL+2(R4) ;;LINK CONNECT TO TASK'S MAILBOX QUEUE
    242	000272	010564 	000014 			MOV	R5,M.MAIL+2(R4)	;;...
    243	000276	000726 				BR	20$		;;LOOP TILL DONE
    244
    245	000300				60$:	RESRG	<R2,R5>		;;RESTORE REGISTERS
    246	000304	005765 	000016 			TST	V.GENQ(R5)	;;GENERAL DELIVERY QUEUE EMPTY ?
    247	000310	001002 				BNE	70$		;;IF NE, NO
    248	000312	105065 	000002 			CLRB	V.TIMR(R5)	;;ELSE, MAKE SURE TIMER IS OFF
    249	000316				70$:	RETURN			;;RETURN TO CALLER
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 7
CLS - DEACCESS NETWORK (SUBFUNCTION=010)

    251					.SBTTL CLS - DEACCESS NETWORK (SUBFUNCTION=010)
    252
    253					;+
    254					; CLS - DEACCESS NETWORK QIO PROCESSOR
    255					;
    256					; THIS DESTROYS THE ACCESS LINK TO THE NETWORK.
    257					;
    258					; INPUTS:
    259					;
    260					;	R3 -> I/O PACKET
    261					;	R4 -> MAILBOX BLOCK
    262					;
    263					; OUTPUTS:
    264					;
    265					;	NETWORK DATA ON THE MAILBOX QUEUE IS FLUSHED AND ACTIVE LOGICAL
    266					;	LINKS ARE ABORTED.
    267					;-
    268
    269						.ENABL	LSB
    270	000320				CLS:	SWSTK$	110$		;SWITCH TO SYSTEM STATE
    271	000324					CALL	MAPHDR		;;GET POINTER TO TASK HEADER
    272
    273	000330	005000 			CLS1::	CLR	R0		;;SET FLAG TO FLUSH ALL DATA
    274	000332					CALL	FLSHMB		;;FLUSH MAILBOX NETWORK DATA QUEUE
    275	000336	010400 				MOV	R4,R0		;;CHANGE REGISTER CONVENTIONS
    276	000340	152760 	000200 	000004 		BISB	#MS.CIP,M.STAT(R0) ;;SET CLOSE IN PROGRESS MAILBOX STATUS
    277	000346	010360 	000010 			MOV	R3,M.SPA(R0)	;;SAVE I/O PACKET ADDRESS IN MAILBOX
    278
    279					;
    280					; ALSO ENTERED HERE FROM $QDIC WHEN DISCONNECT COMPLETE RECEIVED FOR
    281					; LINK WINDOW WITH CLOSE IN PROGRESS STATUS (WS.KIP).
    282					;
    283					; INPUT:
    284					;
    285					;	R0 ->	MAILBOX BLOCK ADDRESS
    286					;	R2 ->	USER TASK HEADER ADDRESS
    287					;	R3 ->	I/O PACKET
    288					;
    289
    290	000352	105760 	000006 		CLS2::	TSTB	M.USE(R0)	;;ANY ACTIVE LINKS LEFT ?
    291	000356	001516 				BEQ	60$		;;IF EQ, NO - JUST ELIMINATE MAILBOX
    292	000360	012746 	000001 			MOV	#1,-(SP)	;;SET # OF LINKS TO SIMULTANEOUSLY ABORT
    293	000364	010204 				MOV	R2,R4		;;COPY ADDRESS OF TASK HEADER
    294	000366	016005 	000002 			MOV	M.TASK(R0),R5	;;GET TCB ADDRESS
    295	000372	012746 	000000G			MOV	#SCNLUN,-(SP)	;;SET ADDRESS OF LUT SCANNING COROUTINE
    296
    297	000376				10$:	CALL	@(SP)+		;;GET THE NEXT ACTIVE LUN
    298	000400	103550 				BCS	100$		;;IF CS, NONE LEFT
    299
    300	000402	042700 	000001 			BIC	#1,R0		;;REMOVE INTERLOCK BIT FROM WINDOW BLOCK ADDRESS
    301	000406	132760 	000100 	000004 		BITB	#WS.DIP,W.STAT(R0) ;;IS THE LINK IN THE PROCESS OF DISCONNECTING?
    302	000414	001403 				BEQ	15$		;;IF EQ, NO - GO SET UP LINK FOR CLOSE
    303	000416	005760 	000014 			TST	W.PIO(R0)	;;IS THERE A PENDING ABT$ OR DIS$ REQUEST?
    304	000422	001365 				BNE	10$		;;IF NE, YES - JUST LET IT FINISH BY ITSELF
    305	000424	052711 	000001 		15$:	BIS	#1,(R1)		;;INTERLOCK LUN
    306	000430	112760 	000200 	000004 		MOVB	#WS.KIP,W.STAT(R0) ;;SET CLOSE IN PROGRESS IN WINDOW BLOCK
    307	000436	016003 	000014 			MOV	W.PIO(R0),R3	;;GET I/O PACKET
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 7-1
CLS - DEACCESS NETWORK (SUBFUNCTION=010)

    308	000442	001406 				BEQ	20$		;;IF EQ, NO I/O PACKET TO FLUSH
    309	000444	005060 	000014 			CLR	W.PIO(R0)	;;INDICATE NO I/O PACKET
    310	000450	010046 				MOV	R0,-(SP)	;;SAVE ADDRESS OF THE WINDOW BLOCK
    311	000452					CALL	IOFLS		;;FINISH I/O REQUEST
    312	000456	012600 				MOV	(SP)+,R0	;;RECOVER WINDOW BLOCK ADDRESS
    313
    314	000460	005366 	000004 		20$:	DEC	4(SP)		;;DECREMENT COUNT OF # OF LINKS TO ABORT SIMULTANEOUSLY
    315	000464	002744 				BLT	10$		;;IF LE, DON'T ABORT ANY MORE TILL PREVIOUS ONES COMPLET
    316	000466					SAVRG	<R4,R5>		;;SAVE REGISTERS                                ;AP0007
    317	000472					CALL	CCBGT		;;ALLOCATE CCB FOR ABORT                        ;**-1
    318	000476	103430 				BCS	30$		;IF CS, ALLOCATION FAILURE - TRY AGAIN
    319									;;FORM USER ABORT CCB
    320	000500	010005 				MOV	R0,R5		;;COPY POINTER TO WINDOW BLOCK
    321	000502					CALL	FLSHIO		;;FLUSH ALL SND$, XMI$, REC$ QIO REQUESTS
    322	000506	152760 	000100 	000004 		BISB	#WS.DIP,W.STAT(R0) ;;SET DISCONNECT IN PROGRESS
    323	000514	005064 	000004 			CLR	C.NSP(R4)	;;SET PDV FOR TASK INTERFACE
    324	000520	116064 	000011 	000004 		MOVB	W.ULA(R0),C.NSP(R4) ;; LOGICAL LINKS ULA
    325	000526	005064 	000016 			CLR	C.BUF+2(R4)	;; CLEAR DATA BUFFER ADDRESS
    326	000532	005064 	000020 			CLR	C.CNT(R4)	;;   "     "     "   COUNT
    327	000536	010405 				MOV	R4,R5		;;CHANGE REGISTER CONVENTIONS
    328	000540					SAVRG	R0		;;SAVE WINDOW ADDDRESS FROM USRABO              ;AP0007
    329	000542					CALL	USRABO		;;ABORT LOGICAL LINK
    330	000546					RESRG	R0		;;GET WINDOW ADDRESS BACK                       ;AP0007
    331	000550	103016 				BCC	40$		;;IF FAILURE,                                   ;AP0007
    332	000552	010504 				MOV	R5,R4		;;RECOVER AND                                   ;AP0007
    333	000554					CALL	$CCBRT		;;RELEASE THE CCB                               ;**-2
    334	000560				30$:                                                                            ;AP0007
    335	000560	142760 	000100 	000004 		BICB	#WS.DIP,W.STAT(R0) ;;SINCE ABORT FAILED CLEAR DISCONNECT IN PROGRESS
    336	000566	016000 	000016 			MOV	W.MBOX(R0),R0	;;GET ADDRESS OF MAILBOX
    337	000572	016003 	000010 			MOV	M.SPA(R0),R3	;;RECOVER CLOSE I/O PACKET ADDRESS
    338	000576					CALL	IOREDO		;;RE-QUEUE IT TO ACP TO BE PROCESSED LATER
    339	000602	005066 	000010 			CLR	10(SP)		;;CLEAR LINK ABORT COUNTER                      ;AP0007
    340	000606				40$:	RESRG	<R5,R4>		;;RESTORE REGISTERS                             ;AP0007
    341	000612	000671 				BR	10$		;;CONTINUE TO INTERLOCK THE USER'S LUNS         ;**-1
    342
    343					;
    344					; WHEN ALL LOGICAL LINKS HAVE GONE AWAY, COMPLETE THE I/O RUNDOWN
    345					; BY REMOVING THE MAILBOX.
    346					;
    347
    348	000614	016704 	000000G		60$:	MOV	$NSVCB,R4	;;GET VOLUME CONTROL BLOCK ADDRESS
    349	000620	062704 	000012 			ADD	#V.MBXQ,R4	;;POINT TO VCB MAILBOX QUEUE
    350	000624					PUSH	#SCNQUE		;;SETUP QUEUE SCANNING CO-ROUTINE
    351	000630				70$:	CALL	@(SP)+		;;SCAN NEXT QUEUE ITEM (CO-ROUTINE)
    352	000632	103404 				BCS	80$		;;IF CS, NOT ON QUEUE (HOPE FOR SALVATION)
    353	000634	020005 				CMP	R0,R5		;;IS THIS THE MAILBOX ?
    354	000636	001374 				BNE	70$		;;IF NE, NO - GO SCAN NEXT ONE
    355	000640					CALL	REMQUE		;;ELSE, REMOVE FROM QUEUE
    356
    357	000644				80$:	SAVRG	<R0>		;;SAVE ADDRESS OF MAILBOX
    358	000646	116200 	000000G			MOVB	H.NML(R2),R0	;;GET MAILBOX LUN
    359	000652					CALL	MAPLUN		;;GET POINTER TO 2ND LUN WORD FOR MAILBOX
    360	000656	005010 				CLR	(R0)		;;UNLOCK USER'S LUN
    361	000660	105062 	000000G			CLRB	H.NML(R2)	;;CLEAR TASK MAILBOX LUN CELL
    362	000664					RESRG	<R0>		;;RESTORE MAILBOX ADDRESS
    363
    364	000666	026700 	000000G			CMP	$NSNCU,R0	;;IS THIS MAILBOX THE SPECIAL NCU MAILBOX ?
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 7-2
CLS - DEACCESS NETWORK (SUBFUNCTION=010)

    365	000672	001002 				BNE	90$		;;IF NE, NO - DON'T TOUCH A THING
    366	000674	005067 	000000G			CLR	$NSNCU		;;ELSE, CLEAR NCU MAILBOX ADDRESS
    367
    368	000700	016046 	000010 		90$:	MOV	M.SPA(R0),-(SP)	;;SAVE I/O PACKET ADDRESS
    369	000704	012701 	000016 			MOV	#M.MBL,R1	;;SET MAILBOX BLOCK LENGTH
    370	000710					CALL	$DEACB		;;DEALLOCATE MAILBOX BLOCK
    371	000714					POP	R3		;;RECOVER I/O PACKET ADDRESS
    372	000716					CALLR	IOSUC		;;FINISH I/O REQUEST
    373
    374	000722	005726 			100$:	TST	(SP)+		;;REMOVE LINK ABORT COUNTER FROM STACK
    375	000724				110$:	RETURN			;;RETURN TO TASK STATE AND CALLER
    376
    377						.DSABL	LSB
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 8
CLS - DEACCESS NETWORK (SUBFUNCTION=010)

    379
    380					.SBTTL SPA - SPECIFY NETWORK DATA AST SERVICE (SUBFUNCTION=020)
    381
    382	000726				SPA:	SWSTK$	40$		;SWITCH TO SYSTEM STATE
    383
    384	000732	016364 	000000G	000010 		MOV	I.PRM(R3),M.SPA(R4) ;;SET NEW AST SERVICE ADDRESS
    385	000740	005001 				CLR	R1		;;CLEAR NETWORK DATA COUNT
    386
    387	000742	062704 	000012 			ADD	#M.MAIL,R4	;;POINT TO NETWORK DATA LISTHEAD
    388	000746					PUSH	#SCNQUE		;;SETUP QUEUE SCAN CO-ROUTINE
    389
    390	000752				10$:	CALL	@(SP)+		;;SCAN NEXT QUEUE ITEM
    391	000754	103412 				BCS	30$		;;IF CS, END OF QUEUE
    392
    393	000756	126527 	000010 	000001 		CMPB	C.FNC(R5),#NT.CON ;;IS THIS ITEM A CONNECT ?
    394	000764	001004 				BNE	20$		;;IF NE, NO - GO COUNT IT
    395	000766	132765 	000004 	000011 		BITB	#CX.UNL,C.MOD(R5) ;;IS THIS CONNECT PENDING ?
    396	000774	001366 				BNE	10$		;;IF NE, YES - IGNORE IT
    397	000776	005201 			20$:	INC	R1		;;COUNT THIS ITEM
    398	001000	000764 				BR	10$		;;GO SCAN NEXT ITEM
    399
    400	001002	012700 	000000C		30$:	MOV	#IS.SUC&377,R0	;;SUCCESS STATUS
    401	001006					CALLR	IODUN		;;FINISH I/O REQUEST SUCCESSFULLY
    402
    403	001012				40$:	RETURN			;;RETURN TO TASK STATE
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 9
GND - GET NETWORK DATA (SUBFUNCTIONS=230,040,250)

    405					.SBTTL GND - GET NETWORK DATA (SUBFUNCTIONS=230,040,250)
    406
    407					;+
    408					; GND - GET NETWORK DATA QIO PROCESSOR
    409					;
    410					; THE NETWORK DATA QUEUE IS SCANNED FOR A DATA ITEM WHICH
    411					; SATISFIES THE REQUIREMENTS, IF ANY, OF THIS REQUEST.
    412					;
    413					; INPUT:
    414					;
    415					;	R1 = SUBFUNCTION INDEX
    416					;	R3 = I/O PACKET
    417					;
    418					; OUTPUT:
    419					;
    420					;	IF THE ITEM IS A CONNECT, IT IS NOT REMOVED
    421					;	FROM THE QUEUE BUT A FLAG BIT IS SET SO THAT IT WILL
    422					;	NOT BE DEQUEUED AGAIN.  ALL OTHER ITEMS ARE DEQUEUED.
    423					;	THE NETWORK DATA IS COPIED TO THE USER BUFFER, IF
    424					;	NECESSARY, AND RESOURCES RELEASED.
    425					;-
    426
    427	000042					.PSECT
    428
    429						.ENABL	LSB
    430	000042				GND:	SWSTK$	85$		;SWITCH TO SYSTEM STATE
    431
    432	000046	062704 	000012 			ADD	#M.MAIL,R4	;;POINT TO NETWORK DATA LISTHEAD
    433	000052	010602 				MOV	SP,R2		;;COPY STACK POINTER
    434	000054					PUSH	#SCNQUE		;;SETUP QUEUE SCAN CO-ROUTINE
    435
    436	000060				10$:	CALL	@(SP)+		;;SCAN NEXT QUEUE ITEM
    437	000062	103507 				BCS	70$		;;IF CS, END OF QUEUE
    438	000064	005000 				CLR	R0
    439	000066	156500 	000010 			BISB	C.FNC(R5),R0	;;GET DATA TYPE CODE
    440	000072	120027 	000001 			CMPB	R0,#NT.CON	;;IS THIS ITEM A CONNECT ?
    441	000076	001004 				BNE	20$		;;IF NE, CONTINUE
    442	000100	132765 	000004 	000011 		BITB	#CX.UNL,C.MOD(R5) ;;IS THIS CONNECT PENDING ?
    443	000106	001364 				BNE	10$		;;IF NE, YES - CHECK NEXT ITEM
    444
    445	000110	120127 	000006 		20$:	CMPB	R1,#6		;;NORMAL GND ?
    446	000114	001420 				BEQ	32$		;;IF EQ, YES - REMOVE ITEM
    447									;;ELSE, MUST BE SELECTIVE GND OR A LENGTH ONLY
    448	000116	105763 	000006G			TSTB	I.PRM+6(R3)	;;TYPE MASK SPECIFIED ?
    449	000122	001403 				BEQ	25$		;;IF EQ, NO - TEST LUN MASK
    450	000124	126300 	000006G			CMPB	I.PRM+6(R3),R0	;;TYPE CODE MATCH ?
    451	000130	001353 				BNE	10$		;;IF NE, NO - CHECK NEXT ITEM
    452	000132	105763 	000007G		25$:	TSTB	I.PRM+7(R3)	;;LUN MASK SPECIFIED ?
    453	000136	001404 				BEQ	30$		;;IF EQ, NO - MATCHES ANY
    454	000140	126365 	000007G	000011 		CMPB	I.PRM+7(R3),C.MOD(R5) ;;LUN MATCH ?
    455	000146	001344 				BNE	10$		;;IF NE, NO - CHECK NEXT ITEM
    456									;;FOUND AN ITEM WHICH FITS THE MASKS
    457	000150	120127 	000010 		30$:	CMPB	R1,#10		;;LENGTH AND TYPE ONLY ?
    458	000154	001432 				BEQ	LTON		;;IF EQ, YES - DON'T REMOVE ITEM
    459	000156	120027 	000001 		32$:	CMPB	R0,#NT.CON	;;IS THIS A CONNECT ?
    460	000162	001005 				BNE	40$		;;IF NE, NO - CONTINUE
    461	000164	152765 	000004 	000011 	35$:	BISB	#CX.UNL,C.MOD(R5) ;;SET CONNECT DEQUEUED STATUS
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 9-1
GND - GET NETWORK DATA (SUBFUNCTIONS=230,040,250)

    462	000172	010206 				MOV	R2,SP		;;RECOVER STACK
    463	000174	000402 				BR	50$
    464	000176				40$:	CALL	REMQUE		;;REMOVE ITEM FROM THE MAILBOX
    465	000202				50$:	PUSH	R3		;;SAVE I/O PACKET ADDRESS
    466	000204	010046 				MOV	R0,-(SP)	;;SAVE TYPE CODE IN THE HIGH BYTE AND ASSUME
    467	000206	000316 				SWAB	(SP)		;;...A SUCCESSFUL COMPLETION STATUS
    468	000210	005216 				INC	(SP)		;;...
    469	000212	006300 				ASL	R0		;;MAKE TYPE CODE INTO WORD OFFSET
    470	000214	062703 	000004G			ADD	#I.PRM+4,R3	;;POINT TO USER BUFFER LENGTH PARAMETER
    471	000220	011301 				MOV	(R3),R1		;;GET LENGTH OF THE USER BUFFER
    472	000222	014304 				MOV	-(R3),R4	;;GET VIRTUAL ADDRESS OF THE USER BUFFER
    473
    474						.IF DF	M$$MGE
    475
    476	000224	014303 				MOV	-(R3),R3	;;GET RELOCATION BIAS OF THE USER BUFFER
    477	000226	010367 	172354 			MOV	R3,KISAR6	;;...AND MAP TO IT
    478
    479						.ENDC
    480
    481	000232	016502 	000016 			MOV	C.BUF+2(R5),R2	;;ASSUME VIRTUAL ADDRESS OF INPUT BUFFER
    482	000236					CALLR	@TDISP-2(R0)	;;DISPATCH TO TYPE PROCESSOR
    483
    484
    485					.SBTTL LTON - GET NETWORK DATA LENGTH AND TYPE ONLY (SUBFUNCTION=040)
    486
    487	000242	010206 			LTON:	MOV	R2,SP		;;RECOVER STACK
    488	000244	016501 	000020 			MOV	C.CNT(R5),R1	;;ASSUME LENGTH OF OPTIONAL DATA
    489	000250	120027 	000001 			CMPB	R0,#NT.CON	;;IS THIS A CONNECT ?
    490	000254	001006 				BNE	60$		;;IF NE, NO - ASSUMPTION IS CORRECT
    491	000256	016502 	000016 			MOV	C.BUF+2(R5),R2	;;GET CONBLOK ADDRESS
    492	000262	016201 	000136 			MOV	N.OPDL(R2),R1	;;GET LENGTH OF THE OPTIONAL DATA
    493	000266	062701 	000142 			ADD	#N.CBL,R1	;;ADD IN THE CONSTANT LENGTH OF THE CONBLK
    494	000272	000300 			60$:	SWAB	R0		;;MOVE TYPE CODE TO THE HIGH BYTE
    495	000274	005200 				INC	R0		;;SET SUCCESS STATUS IN THE LOW BYTE
    496	000276					CALLR	IODUN		;;FINISH I/O REQUEST
    497
    498	000302	012700 	000262 		70$:	MOV	#IE.NDA&377,R0	;;NO DATA STATUS
    499	000306					CALLR	IODUN1
    500
    501	000312				85$:	RETURN			;;RETURN TO CALLER
    502						.DSABL	LSB
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 10
CONNECT PENDING NETWORK DATA PROCESSING

    504					.SBTTL CONNECT PENDING NETWORK DATA PROCESSING
    505
    506	000314	010524 			CON:	MOV	R5,(R4)+	;;COPY CCB ADDRESS TO USER BUFFER
    507	000316	162701 	000002 			SUB	#2,R1		;;ADJUST REMAINING COUNT IN USER BUFFER
    508	000322	003433 				BLE	10$		;;IF LE, USER BUFFER FULL
    509									;;SETUP TO MOVE DESTINATION DESCRIPTOR
    510	000324	012700 	000026 			MOV	#N.SND-N.SEGZ,R0 ;; DESCRIPTOR SIZE
    511	000330	012702 	000006 			MOV	#N.SEG,R2	;; DESCRIPTOR OFFSET
    512	000334					CALL	BLXIT		;;MOVE DESCRIPTOR
    513	000340	003424 				BLE	10$		;;IF LE, USER BUFFER FULL
    514									;;SETUP TO MOVE SOURCE NODE NAME
    515	000342	012700 	000006 			MOV	#N.SFM-N.SND,R0 ;; NODE NAME SIZE
    516	000346	012702 	000000 			MOV	#N.NODE,R2	;; NODE NAME OFFSET
    517	000352					CALL	BLXIT		;;MOVE NODE NAME
    518	000356	003415 				BLE	10$		;;IF LE, USER BUFFER FULL
    519									;;SETUP TO MOVE SOURCE DESCRIPTOR THROUGH USER DATA
    520	000360	012700 	000104 			MOV	#N.CDA-N.SFM,R0 ;; SIZE OF SOURCE DESCRIPTOR, ACCESS, AND DATA LENGTH
    521	000364	016502 	000016 			MOV	C.BUF+2(R5),R2	;;GET CONBLK ADDRESS
    522	000370	066200 	000136 			ADD	N.OPDL(R2),R0	;;ADD IN THE LENGTH OF THE OPTIONAL DATA
    523	000374	012702 	000034 			MOV	#N.SFMT,R2	;; DESCRIPTOR OFFSET
    524	000400					CALL	BLXIT		;;MOVE DESCRIPTOR
    525	000404	002002 				BGE	10$		;;IG GE, NO BUFFER OVERFLOW
    526	000406	012716 	000402 			MOV	#<NT.CON*400+IS.DAO>,(SP) ;;SET SUCCESS WITH OVERFLOW STATUS
    527	000412				10$:				;;REFERENCE LABEL
    528
    529	000412	016603 	000002 		FINIO:	MOV	2(SP),R3	;;GET ADDRESS OF I/O PACKET
    530	000416	166304 	000002G			SUB	I.PRM+2(R3),R4	;;COMPUTE NUMBER OF BYTES TRANSFERRED
    531	000422	010401 				MOV	R4,R1		;;COPY BYTE COUNT
    532	000424	000425 				BR	FINI1		;;CLEAN STACK AND COMPLETE I/O
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 11
INTERRUPT MESSAGE NETWORK DATA PROCESSING

    534					.SBTTL INTERRUPT MESSAGE NETWORK DATA PROCESSING
    535
    536	000426	016546 	000010 		INT:	MOV	C.FNC(R5),-(SP)	;;MOVE LUN TO HIGH BYTE OF STACK
    537	000432	016500 	000020 			MOV	C.CNT(R5),R0	;;GET INTERRUPT MESSAGE COUNT
    538	000436	020100 				CMP	R1,R0		;;COMPARE USER BUFFER SIZE WITH COUNT
    539	000440	103004 				BHIS	10$		;;IF HIS, BUFFER LARGE ENOUGH
    540	000442	112766 	000000C	000002 		MOVB	#IE.DAO&377,2(SP) ;;ELSE INDICATE DATA OVERRUN
    541	000450	010100 				MOV	R1,R0		;; AND USE DESTINATION BUFFER SIZE
    542	000452	110016 			10$:	MOVB	R0,(SP)		;;SAVE NUMBER OF BYTES TRANSFERRED
    543	000454	001404 				BEQ	20$		;;IF EQ, NO DATA TO TRANSFER
    544
    545						.IF DF	M$$MGE
    546
    547	000456	016501 	000014 			MOV	C.BUF(R5),R1	;;GET SOURCE APR6 BIAS
    548
    549						.ENDC
    550
    551	000462					CALL	BLXIO		;;MOVE DATA FROM CCB TO USER BUFFER
    552
    553	000466				20$:	CALLC	USRRCI		;;RETURN INTERRUPT RESOURCES TO NSP
    554	000476					POP	R1		;;GET NUMBER OF BYTES TRANSFERRED
    555
    556	000500				FINI1:	POP	R0		;;GET TYPE CODE AND COMPLETION STATUS
    557	000502					POP	R3		;;RECOVER ADDRESS OF I/O PACKET
    558	000504					RECMAP			;;RECOVER ACP APR6 MAPPING
    559	000512					CALLR	IODUN		;;COMPLETE I/O REQUEST
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 12
USER DISCONNECT AND USER/NETWORK ABORT NETWORK DATA PROCESSING

    561					.SBTTL	USER DISCONNECT AND USER/NETWORK ABORT NETWORK DATA PROCESSING
    562
    563						.ENABL	LSB
    564
    565	000516	016501 	000004 		ABO:	MOV	C.NSP(R5),R1	;;COPY NSP ERROR CODE
    566	000522	000402 				BR	10$		;;JOIN COMMON CODE
    567
    568	000524				ABT:				;;REFERENCE LABEL
    569	000524				DSC:	CALL	MVDAT		;;MOVE OPTIONAL DATA INTO THE USER BUFFER
    570
    571									;;STORE DISCONNECT CONTEXT IN I/O PACKET
    572	000530				10$:	RECMAP			;;RESTORE ACP APR6 MAPPING
    573	000536					POP	<R0,R3>		;;GET TYPE CODE AND I/O PACKET ADDRESS
    574	000542	010063 	000014G			MOV	R0,I.PRM+14(R3)	;; AND STORE TYPE CODE IN THE I/O PACKET
    575	000546	110163 	000016G			MOVB	R1,I.PRM+16(R3)	;; OPTIONAL DATA COUNT/REASON CODE
    576	000552	005000 				CLR	R0		;;GET LUN FOR THIS
    577	000554	156500 	000011 			BISB	C.MOD(R5),R0	;; LINK
    578	000560	110063 	000017G			MOVB	R0,I.PRM+17(R3) ;; AND STORE IT IN THE I/O PACKET
    579	000564					CALL	MAPHDR		;;GET POINTER TO USER TASK HEADER
    580	000570					CALL	MAPLUN		;; "     "     " 2ND LUN WORD
    581	000574	052710 	000001 			BIS	#1,(R0)		;;INTERLOCK USER'S LUN TO PREVENT FURTHER I/O REQUESTS
    582	000600	011004 				MOV	(R0),R4		;;GET WINDOW BLOCK ADDRESS
    583	000602	005304 				DEC	R4		;;CLEAR INTERLOCK BIT IN ADDRESS
    584	000604	010364 	000014 			MOV	R3,W.PIO(R4)	;;STORE I/O PACKET IN WINDOW BLOCK
    585									;;SET UP CCB FOR DISCONNECT COMPLETION
    586	000610	005065 	000004 			CLR	C.NSP(R5)	;;CLEAR PDV  (USER INTERFACE)
    587	000614	116465 	000011 	000004 		MOVB	W.ULA(R4),C.NSP(R5) ;; USER LINK ADDRESS
    588									;;I/O PACKET WILL COMPLETE WHEN DISCONNECT IS COMPLETE
    589	000622	016504 	000016 			MOV	C.BUF+2(R5),R4	;;GET ADDRESS OF OPTIONAL DATA
    590	000626	001404 				BEQ	20$		;;IF EQ, NO OPTIONAL DATA
    591	000630					CALL	$CCBRT		;;OTHERWISE RETURN CCB USED AS THE OPTIONAL DATA BUFFER
    592	000634	005065 	000016 			CLR	C.BUF+2(R5)	;;CLEAR 1ST BUFFER DESCRIPTOR ADDRESS
    593	000640	005065 	000020 		20$:	CLR	C.CNT(R5)	;;CLEAR 1ST BUFFER DESCRIPTOR BYTE COUNT
    594	000644					CALLR	USRABO		;;CALL NSP TO FINISH THE DISCONNECT SEQUENCE
    595									;;NEVER AN ERROR SINCE RESPONSE TO A DISCONNECT NOTIFICA
    596						.DSABL	LSB
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 13
MOP EVENT REPORT PROCESSING

    598					.SBTTL	MOP EVENT REPORT PROCESSING
    599
    600	000650	016503 	000020 		MOP:	MOV	C.CNT(R5),R3	;;GET EVENT DATA COUNT                          ;AP0002
    601	000654	020103 				CMP	R1,R3		;;COMPARE WITH USER BUFFER SIZE                 ;AP0002
    602	000656	103003 				BHIS	10$		;;IF NOT LARGE ENOUGH                           ;AP0002
    603	000660	012716 	000000C			MOV	#IE.DAO&377,(SP) ;;SIGNAL DATA OVERRUN                          ;AP0002
    604	000664	010103 				MOV	R1,R3		;;AND USE DESTINATION BUFFER SIZE               ;AP0002
    605	000666	010301 			10$:	MOV	R3,R1		;;IF HE WANTS SOMETHING                         ;AP0002
    606	000670	001407 				BEQ	70$		;;THEN                                          ;AP0002
    607	000672	010402 				MOV	R4,R2		;;GET DESTINATION ADDRESS                       ;AP0002
    608	000674					$MVFBF	R5,C.BUF	;;AND COPY DATA OVER.                           ;AP0002
    609	000710	010504 			70$:	MOV	R5,R4		;;COPY CCB ADDR                                 ;AP0005
    610	000712					CALL	$CCBCL		;;GET RID OF THE CCB AND BUFFER                 ;AP0005
    611	000716	000670 				BR	FINI1		;;CLEAN STACK AND COMPLETE I/O REQUEST          ;**-5
    612
    613					                                                                                ;BH0003
    614					.SBTTL	CCB & DATA BUFFER CLEANUP                                               ;BH0003
    615	000720	026427 	000016 	140000 	$CCBCL::CMP	C.BUF+2(R4),#140000 ;;IF BUFFER IS MAPPED                       ;AP0005
    616	000726	103415 				BLO	20$		;;THEN                                          ;BH0003
    617	000730	132764 	000004 	000003 		BITB	#CB.RDB,C.BID(R4) ;;CHECK IF RDB                                ;BH0003
    618	000736	001402 				BEQ	10$		;;IF SO,                                        ;BH0003
    619	000740					CALLR	$LDBRT		;;RETURN CCB/RDB                                ;BH0003
    620					                                                                                ;BH0003
    621	000744				10$:	SAVMAP			;;($CSBRT DESTROYS APR6)                        ;AP0006
    622	000750					CALL	$CSBRT		;;OR CCB/SDB                                    ;AP0006
    623	000754					RESMAP                                                                  ;AP0006
    624	000760					RETURN                                                                  ;AP0006
    625					                                                                                ;BH0003
    626	000762				20$:	CALLR	$CCBRT		;;OTHERWISE RETURN CCB ONLY.                    ;BH0003
    627
    628					.SBTTL	LOCAL DATA MOVE SUBROUTINE
    629
    630	000766	016500 	000020 		MVDAT:	MOV	C.CNT(R5),R0	;;GET EVENT DATA COUNT
    631	000772	020100 				CMP	R1,R0		;;COMPARE USER BUFFER SIZE WITH COUNT
    632	000774	103004 				BHIS	10$		;;IF HIS, BUFFER LARGE ENOUGH
    633	000776	112766 	000000C	000002 		MOVB	#IE.DAO&377,2(SP) ;;ELSE INDICATE DATA OVERRUN
    634	001004	010100 				MOV	R1,R0		;;  AND USE DESTINATION BUFFER SIZE
    635	001006	010001 			10$:	MOV	R0,R1		;;SAVE NUMBER OF BYTES TRANSFERRED
    636	001010	001403 				BEQ	30$		;;IF EQ, NO ROOM FOR ANY DATA
    637	001012	112224 			20$:	MOVB	(R2)+,(R4)+	;;MOVE THE DATA
    638	001014					SOB	R0,20$		;;...
    639	001020				30$:	RETURN			;;RETURN TO CALLER
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 14
GLN - GET LOCAL NODE PARAMETERS

    641					.SBTTL	GLN - GET LOCAL NODE PARAMETERS
    642
    643	001022				GLN:	SWSTK$	20$		;SWITCH TO SYSTEM STATE
    644	001026					PUSH	R3		;;SAVE ADDRESS OF I/O PACKET
    645	001030	012746 	000002 			MOV	#IS.DAO,-(SP)	;;ASSUME BUFFER OVERRUN ERROR
    646	001034	062703 	000004G			ADD	#I.PRM+4,R3	;;POINT TO USER BUFFER SIZE
    647	001040	011301 				MOV	(R3),R1		;;GET LENGTH OF USER BUFFER
    648	001042	014304 				MOV	-(R3),R4	;;GET VIRTUAL ADDRESS OF USER BUFFER
    649
    650						.IF DF	M$$MGE
    651
    652	001044	014303 				MOV	-(R3),R3	;;GET RELOCATION BIAS OF THE USER BUFFER
    653	001046	010367 	172354 			MOV	R3,KISAR6	;;MAP KERNEL APR6 TO USER BUFFER
    654
    655						.ENDC
    656
    657	001052	012700 	000006 			MOV	#6,R0		;;SET NODE NAME LENGTH
    658	001056	012702 	000000G			MOV	#$NTNAM,R2	;;GET NODE NAME ADDRESS (FROM NSPTB)
    659	001062					CALL	BLXI2		;;MOVE THE NODE NAME INTO THE USER BUFFER
    660
    661	001066	020127 	000002 			CMP	R1,#2		;;ENOUGH ROOM FOR SEGMENT SIZE ?
    662	001072	002406 				BLT	10$		;;IF LT, NO - NEED FULL WORD
    663	001074	016714 	000000G			MOV	$RDBSZ,(R4)	;;COMPUTE DEFAULT SEGMENT SIZE
    664	001100	162724 	000042 			SUB	#N$$OVR,(R4)+	;;...
    665	001104	012716 	000000G			MOV	#IS.SUC,(SP)	;;SET SUCCESS STATUS
    666	001110				10$:	CALLR	FINIO		;;CLEAN STACK, COMPLETE I/O, AND RETURN TO USER STATE
    667
    668	001114				20$:	RETURN			;RETURN TO CALLER
    669
    670		000001 				.END
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 14-1
SYMBOL TABLE

ABO     000516R  	CS.ROV= 000004   	ER$IFC= 000030   	FS.TRM= 003000   	LF.HSF= 010000
ABT     000524R  	CS.RSN= 010000   	ER$ILS= 000043   	FS.XKL= 002000   	LF.INR= 000100
ACKMAS= 170000   	CS.SUC= 000001   	ER$IMG= 000053   	FS.XOF= 010000   	LF.INT= 000400
ACKPRE= 100000   	CS.TMO= 020000   	ER$MLB= 000006   	FS.XON= 007000   	LF.LCL= 040000
ACKRES= 060000   	CX.GDQ= 000001   	ER$NOD= 000002   	F$$LVL= 000001   	LF.MMF= 100000
ACKWRA= 010000   	CX.REQ= 000002   	ER$NSD= 000003   	GLN     001022R  	LF.MSF= 040000
A$$CHK= 000000   	CX.UNL= 000004   	ER$RES= 000001   	GND     000042R  	LF.NKR= 000200
A$$CPS= 000000   	C$$CKP= 000000   	ER$SSR= 000000   	GTMAIL  000140R     002	LF.NKS= 000400
A$$PRI= 000000   	C$$ORE= 000400   	ER$SSS= 000045   	G$$TPP= 000000   	LF.NPN= 000001
A$$TRP= 000000   	C$$RSH= 177564   	ER$STA= 000051   	G$$TSS= 000000   	LF.NTS= 002000
A.NAK = 010000   	C.BID   000003   	ER$TCN= 000040   	G$$TTK= 000000   	LF.RSU= 100000
BLXIO = ****** GX	C.BUF   000014   	ER$TCO= 000041   	G$$WRD= 000000   	LS.DLS= 000200
BLXIT = ****** GX	C.BUF1  000014   	ER$TPA= 000010   	H.NML = ****** GX	LS.FCC= 000004
BLXI2 = ****** GX	C.BUF2  000024   	ER$UOB= 000004   	IE.DAO= ****** GX	LS.FC0= 000001
CB.CCB= 000002   	C.CNT   000020   	E$$XPR= 000000   	IE.NDA= 177662   	LS.FC1= 000002
CB.RDB= 000004   	C.CNT1  000020   	FC.CCP= 000020   	IE.NNT= 177660   	LS.ILS= 000200
CCBGT = ****** GX	C.CNT2  000030   	FC.CTL= 000006   	IE.NRJ= 177666   	LS.MAK= 000020
CCBREJ= ****** GX	C.FLG   000022   	FC.KCP= 000016   	IE.URJ= 177667   	LS.MNK= 000040
CE.ABO= 100362   	C.FLG1  000022   	FC.KIL= 000004   	INT     000426R  	LS.RES= 000360
CE.DIS= 100366   	C.FLG2  000032   	FC.RCE= 000002   	IODUN = ****** GX	LS.RSV= 000300
CE.ERR= 100370   	C.FNC   000010   	FC.RCP= 000014   	IODUN1= ****** GX	LTON    000242R
CE.MOP= 100372   	C.LIN   000006   	FC.TIM= 000010   	IOFLS = ****** GX	L$$ASG= 000000
CE.NTE= 100361   	C.LNK   000000   	FC.XCP= 000012   	IOREDO= ****** GX	L$$DRV= 000000
CE.RTE= 100376   	C.MOD   000011   	FC.XME= 000000   	IOSUC = ****** GX	L$$P11= 000001
CE.SRC= 100364   	C.NSP   000004   	FE.CAL= 000040   	IS.DAO= 000002   	L$$11R= 000000
CE.TMO= 100374   	C.RSV   000002   	FE.DRV= 000010   	IS.SUC= ****** GX	L.CIQ   000026
CF.EOM= 000004   	C.STA   000007   	FE.EXP= 000200   	I$$RAR= 000000   	L.DCR   000036
CF.HDR= 000020   	C.STS   000012   	FE.EXT= 000001   	I$$RDN= 000000   	L.FLG   000012
CF.LB = 100000   	DF$ADJ= 020000   	FE.EXV= 000004   	I.LN2 = ****** GX	L.LDA   000024
CF.SOM= 000010   	DF$DWN= 001000   	FE.LSI= 000400   	I.PRM = ****** GX	L.LIA   000026
CF.SYN= 000040   	DF$FRE= 070000   	FE.MUP= 000002   	I.TCB = ****** GX	L.LLA   000002
CF.TRN= 000100   	DF$LCL= 040000   	FE.MXT= 040000   	I.UCB = ****** GX	L.LNG1  000054
CLS     000320R     002	DF$LNK= 004000   	FE.NLG= 100000   	KDSAR0= 172360   	L.LNO   000022
CLS1    000330RG    002	DF$REM= 010000   	FE.PKT= 000100   	KDSDR0= 172320   	L.LSA   000032
CLS2    000352RG    002	DF$RES= 002000   	FE.PLA= 000020   	KISAR0= 172340   	L.LSF   000044
CL$ACK= 000040   	DF$TMP= 100000   	FINIO   000412R  	KISAR5= 172352   	L.LVL   000001
CL$MFL= 000010   	DSC     000524R  	FINI1   000500R  	KISAR6= 172354   	L.NDA   000034
CL$NRM= 000020   	D$CHN   000002   	FLSHIO= ****** GX	KISAR7= 172356   	L.NIN   000016
CL$SFL= 000004   	D$FLG   000000   	FLSHMB= ****** GX	KISDR0= 172300   	L.NLA   000036
CL$TYP= 000001   	D$LEN   000014   	FS.AST= 000000   	KISDR6= 172314   	L.NSTA  000025
CL.MU1= 000001   	D$LNG   000005   	FS.CIB= 002000   	KISDR7= 172316   	L.NXN   000014
CL.MU2= 000002   	D$NAM   000006   	FS.CRA= 001000   	K$$CNT= 177546   	L.PDV   000041
CL.RES= 177774   	D$USE   000004   	FS.DIS= 013000   	K$$CSR= 177546   	L.REM   000006
CMODE = 140000   	D$$BUG= 177514   	FS.DVC= 001000   	K$$LDC= 000000   	L.RLA   000010
CON     000314R  	D$$ISK= 000000   	FS.ENB= 012000   	K$$TPS= 000074   	L.RNO   000020
CS.ABO= 000100   	D$$L11= 000001   	FS.GET= 006000   	LA.ACK= 100000   	L.STA   000000
CS.BUF= 000200   	D$$YNC= 000000   	FS.INI= 000000   	LA.MSK= 170000   	L.TC    000042
CS.DCR= 000400   	D$$YNM= 000000   	FS.KIL= 000000   	LA.NAK= 110000   	L.TIC   000043
CS.DEV= 000002   	ER$ABO= 000046   	FS.LTM= 001000   	LA.NMS= 010000   	L.TIPD  000005
CS.DIS= 000040   	ER$ABT= 000011   	FS.MNT= 004000   	LA.RES= 060000   	L.TIPI  000004
CS.ENB= 000020   	ER$ACC= 000042   	FS.MSN= 014000   	LD$LP = 000000   	L.UDQ   000034
CS.EOF= 000001   	ER$ACT= 000044   	FS.RNG= 011000   	LF.DFL= 000060   	L.ULA   000040
CS.ERR= 100000   	ER$CDI= 000052   	FS.RTN= 001000   	LF.DSP= 000040   	L.USA   000030
CS.HFE= 002000   	ER$COM= 000047   	FS.SET= 005000   	LF.DST= 000020   	L.USTA  000024
CS.LST= 040000   	ER$FCF= 000050   	FS.STM= 000000   	LF.FPN= 000010   	L.XQ1   000046
CS.MTL= 004000   	ER$FMT= 000005   	FS.STP= 002000   	LF.HF0= 001000   	L.XQ2   000050
CS.RNG= 000010   	ER$GEN= 000007   	FS.STR= 001000   	LF.HMF= 020000   	L.XQ3   000052
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 14-2
SYMBOL TABLE

MAPHDR= ****** GX	NE$SSR= 000000   	NT$ILN= 000032   	N$$USR= 000001   	OPN     000024R     002
MAPLUN= ****** GX	NE$SSS= 000045   	NT$IND= 000024   	N.ACNT  000116   	PD$NSP= ****** GX
MA.DA = 000000   	NE$STA= 000051   	NT$INL= 000026   	N.ACTL  000114   	PF$EIP= 000100
MA.IL = 000020   	NE$TCN= 000040   	NT$INT= 000004   	N.CAC   000120   	PF$ENB= 000200
MC.CC = 000040   	NE$TCO= 000041   	NT$LS = 000014   	N.CACC  000116   	PF$OFF= 000000
MC.CI = 000020   	NE$TPA= 000010   	NT$MOD= 000012   	N.CBL = 000142   	PF$RLI= 000002
MC.DC = 000100   	NE$UOB= 000004   	NT$NAK= 000022   	N.CDA   000142   	PF$RRI= 000004
MC.DI = 000060   	NE.ABO= 177776   	NT$OFF= 000026   	N.CDAC  000140   	PF$RVE= 000001
MC.NO = 000000   	NE.ACT= 177771   	NT$ON = 000002   	N.CID   000064   	PF$RVR= 000040
MC.ST = 000120   	NE.CLS= 177767   	NT$QRY= 000014   	N.CIDC  000062   	PF$SLI= 000002
MD.BM = 000040   	NE.DIS= 177777   	NT$REJ= 000004   	N.CPS   000106   	PF$SRI= 000004
MD.EM = 000100   	NE.FMT= 177770   	NT$ROU= 000022   	N.CPSC  000104   	PF$SRT= 000001
MD.ILS= 000040   	NE.NDT= 177766   	NT$RTI= 000010   	N.CTL   000000   	PF$STA= 000003
MD.IM = 000020   	NE.NOD= 177774   	NT$RTN= 000000   	N.DDE   000010   	PF$SUB= 000010
MF.ACK= 000004   	NE.REJ= 177775   	NT$SNG= 000006   	N.DDEC  000006   	PF$UP = 000001
MF.CTL= 000010   	NE.RES= 177773   	NT$STP= 000004   	N.DDL1  000012   	PIRQ  = 177772
MF.DAT= 000000   	NE.TIM= 177772   	NT$XOF= 000020   	N.DDL2  000016   	PMODE = 030000
MOP     000650R  	NI.FLI= 000002   	NT$XON= 000016   	N.DDS1  000014   	PR0   = 000000
MPAR  = 172100   	NI.FRI= 000004   	NT.ABO= 000005   	N.DDS2  000020   	PR1   = 000040
MPCSR = 177746   	NI.FRT= 000001   	NT.ABT= 000004   	N.DFM   000004   	PR4   = 000200
MSGHDR= 000007   	NI.FUB= 000010   	NT.ACK= 000001   	N.DFMT  000010   	PR5   = 000240
MS.AST= 000010   	NI.INI= 000001   	NT.BOM= 000040   	N.DGP   000006   	PR6   = 000300
MS.CIP= 000200   	NI.RLI= 000002   	NT.CON= 000001   	N.DGRP  000012   	PR7   = 000340
MVDAT   000766R  	NI.RRI= 000004   	NT.DSC= 000003   	N.DNM   000014   	PS    = 177776
M$$CRB= 000124   	NI.RVE= 000001   	NT.EOM= 000100   	N.DNMC  000012   	PS$NTI= 000003
M$$CRX= 000000   	NI.VER= 000002   	NT.FCN= 037400   	N.DOBJ  000011   	PS$OFF= 000000
M$$FCS= 000000   	NO.DTR= 000077   	NT.INT= 000002   	N.DOT   000005   	PS$STR= 000001
M$$MGE= 000000   	NO.FAL= 000021   	NT.LOG= 000011   	N.DUS   000010   	PS$UP = 000005
M$$OVR= 000000   	NO.FA1= 000001   	NT.MD1= 000420   	N.DUSR  000014   	PS$VER= 000004
M.MAIL  000012   	NO.NCU= 000023   	NT.MFL= 000002   	N.LGTH= 000160   	PS$WT = 000002
M.MAX   000007   	NO.RTL= 000022   	NT.MOD= 000020   	N.NODE  000000   	P$CHN   000004
M.MBL = 000016   	NO.TAS= 000000   	NT.MOM= 000000   	N.OPDL  000136   	P$CNT   000005
M.NAST  000005   	NO.TCL= 000017   	NT.MOP= 000010   	N.OPTD  000140   	P$FRQ   000012
M.NEXT  000000   	NO.TC1= 000005   	NT.NAK= 000002   	N.PASL  000102   	P$FSP   000013
M.SPA   000010   	NO.TLK= 000020   	NT.NFL= 000000   	N.PASS  000104   	P$LCD   000002
M.STAT  000004   	NP$RTR= 000003   	NT.SFL= 000001   	N.RQDL  000060   	P$LEN   000014
M.TASK  000002   	NR$IFC= 000030   	NT.SOL= 000140   	N.RQID  000062   	P$LST   000000
M.USE   000006   	NS.BOM= 000040   	NT.XOF= 000004   	N.RSRV= 000030   	P$NOD   000010
NC.FM0= 000000   	NS.EOM= 000100   	NT.XON= 000010   	N.SDE   000042   	P$PFQ   000006
NC.FM1= 000001   	NS.MFL= 000003   	N$ACQ   000000   	N.SDEC  000040   	P$TIM   000003
NC.FM2= 000002   	NS.MOM= 000000   	N$ICF   000006   	N.SDL1  000036   	P$$P45= 000000
NETTIM= 000005   	NS.NFL= 000001   	N$LNI   000010   	N.SDL2  000042   	P$$WRD= 000000
NE$ABO= 000046   	NS.SET= 000002   	N$LVC   000022   	N.SDS1  000040   	Q$$OPT= 000010
NE$ABT= 000011   	NS.SFL= 000002   	N$NOD   000032   	N.SDS2  000056   	REMQUE= ****** GX
NE$ACC= 000042   	NS.SOL= 000140   	N$PLD   000026   	N.SEG   000006   	RF.CLN= 000000
NE$ACT= 000044   	NS.SUC= 000001   	N$STS   000042   	N.SEGZ  000002   	RF.CTL= 000003
NE$CDI= 000052   	NT$ABO= 000022   	N$TCB   000004   	N.SFM   000036   	RF.TIM= 177400
NE$COM= 000047   	NT$ACC= 000002   	N$TMP   000012   	N.SFMT  000034   	RF.TM0= 000400
NE$FCF= 000050   	NT$ADS= 000000   	N$VER   000036   	N.SGP   000040   	RF.WTD= 000020
NE$FMT= 000005   	NT$AKD= 000016   	N$$DAT= 000030   	N.SGRP  000036   	RF.WTM= 000030
NE$GEN= 000007   	NT$AKI= 000020   	N$$DIS= 000020   	N.SND   000030   	RF.WTS= 000010
NE$ILS= 000043   	NT$CC = 000012   	N$$INT= 000020   	N.SNM   000046   	RH.CNT= 000001
NE$IMG= 000053   	NT$CON= 000000   	N$$LDV= 000001   	N.SNMC  000044   	RH.EFM= 000020
NE$MLB= 000006   	NT$DAT= 000002   	N$$MOV= 000010   	N.SOBJ  000035   	RH.HDR= 000002
NE$NOD= 000002   	NT$DIS= 000010   	N$$OPT= 000020   	N.SOT   000037   	RH.PRI= 000014
NE$NSD= 000003   	NT$IDC= 000034   	N$$OVR= 000042   	N.SUS   000042   	RH.PR1= 000004
NE$RES= 000001   	NT$IDN= 000030   	N$$SYS= 000001   	N.SUSR  000040   	RH.RFM= 000100
NSNET	MACRO M1110  06-NOV-79 10:12  PAGE 14-3
SYMBOL TABLE

R$$DER= 000000   	S$FMT   000012   	UISAR5= 177652   	V.TRCT  000000   	W.PIO   000014
R$$K11= 000001   	S$LEN   000040   	UISAR6= 177654   	V.ULT   000006   	W.RCVQ  000026
R$$SND= 000000   	S$LNK   000022   	UISAR7= 177656   	V.ULTE  000010   	W.SEGZ  000012
R$$11M= 000000   	S$MLK   000024   	UISDR0= 177600   	V.VBL = 000026   	W.SNDQ  000022
SCNLUN= ****** GX	S$NKS   000010   	UISDR4= 177610   	V.1CPQ  000022   	W.STAT  000004
SCNQUE= ****** GX	S$RES   000014   	UISDR5= 177612   	WINDOW= 004000   	W.TASK  000002
SDISP   000000R  	S$SEC   000000   	UISDR6= 177614   	WS.DIC= 000004   	W.ULA   000011
SISDR0= 172200   	S$SNI   000016   	UISDR7= 177616   	WS.DIP= 000100   	W.WBL = 000040
SPA     000726R     002	S$UMR   000004   	USRABO= ****** GX	WS.EST= 000002   	X$$DBT= 000000
SR0   = 177572   	S$UMS   000002   	USRRCI= ****** GX	WS.INT= 000040   	$CALLX= ****** GX
SR3   = 172516   	S$UNI   000020   	U.VCB = ****** GX	WS.KIP= 000200   	$CCBCL  000720RG
ST$CC = 000002   	S$$WRG= 000000   	VF$RCV= 100000   	WS.MOD= 000010   	$CCBRT= ****** GX
ST$CIR= 000003   	S$$YSZ= 007600   	VF$XMT= 040000   	WS.STA= 000020   	$CSBRT= ****** GX
ST$CIS= 000001   	TDISP   000020R  	V$FLG   000000   	WS.VE1= 000001   	$DEACB= ****** GX
ST$DAT= 000005   	TPS   = 177564   	V$LEN   000022   	W.CCBU  000006   	$IFCER= ****** GX
ST$DID= 000015   	T$$KMG= 000000   	V$RCV   000002   	W.CINT  000032   	$LDBRT= ****** GX
ST$DIP= 000006   	T$$MIN= 000000   	V$XMT   000012   	W.CSND  000020   	$MVFBF= ****** GX
ST$DIR= 000012   	T.NAM = ****** GX	V$$CTR= 001000   	W.CTL   000000   	$NCUNM= ****** GX
ST$DIS= 000014   	UBMPR = 170200   	V.CULT  000004   	W.INTQ  000034   	$NETQI  000000RG    002
ST$UDI= 000013   	UDSAR0= 177660   	V.GENQ  000016   	W.LLA   000010   	$NSNCU= ****** GX
ST$UNR= 000011   	UDSDR0= 177620   	V.MBXQ  000012   	W.LUN   000007   	$NSVCB= ****** GX
SWR   = 177570   	UISAR0= 177640   	V.TIME  000003   	W.MBOX  000016   	$NTNAM= ****** GX
S$EMR   000006   	UISAR4= 177650   	V.TIMR  000002   	W.MODC  000005   	$RDBSZ= ****** GX

. ABS.	000160	   000
      	001116	   001
$NSACP	001014	   002
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  21699 WORDS  ( 85 PAGES)
DYNAMIC MEMORY:  20620 WORDS  ( 79 PAGES)
ELAPSED TIME:  00:01:01
NSNET,[131,34]NSNET/CR/-SP=[130,10]NETLIB/ML,RSXMC4/PA:1,[131,10]NSNET
NSNET      CREATED BY  MACRO  ON 6-NOV-79 AT 10:13	PAGE 1
SYMBOL CROSS REFERENCE                                  CREF         
SYMBOL	VALUE		REFERENCES
ABO   	  000516 R	 3-117     #12-565    
ABT   	  000524 R	 3-116     #12-568    
BLXIO 	= ******  GX	 11-551    
BLXIT 	= ******  GX	 10-512     10-517     10-524    
BLXI2 	= ******  GX	 14-659    
CB.RDB	= 000004	 13-617    
CCBGT 	= ******  GX	 7-317     
CCBREJ	= ******  GX	 6-235     
CLS   	  000320 R	 3-101     #7-270     
CLS1  	  000330 RG	#7-273     
CLS2  	  000352 RG	#7-290     
CON   	  000314 R	 3-113     #10-506    
CX.UNL	= 000004	 8-395      9-442      9-461     
C.BID 	  000003	 13-617    
C.BUF 	  000014	*7-325      9-481      9-491      10-521     11-547     12-589    *12-592     13-608     13-608    
                         13-615    
C.CNT 	  000020	*7-326      9-488      11-537    *12-593     13-600     13-630    
C.FNC 	  000010	 6-227      8-393      9-439      11-536    
C.MOD 	  000011	 8-395      9-442      9-454     *9-461      12-577    
C.NSP 	  000004	 6-221     *7-323     *7-324      12-565    *12-586    *12-587    
DSC   	  000524 R	 3-115     #12-569    
ER$TCO	= 000041	 6-234     
FINIO 	  000412 R	#10-529     14-666    
FINI1 	  000500 R	 10-532    #11-556     13-611    
FLSHIO	= ******  GX	 7-321     
FLSHMB	= ******  GX	 7-274     
GLN   	  001022 R	 3-107     #14-643    
GND   	  000042 R	 3-103      3-104      3-105     #9-430     
GTMAIL	  000140 R	 5-192     #6-215     
H.NML 	= ******  GX	 7-358     *7-361     
IE.DAO	= ******  GX	 11-540     13-603     13-633    
IE.NDA	= 177662	 9-498     
INT   	  000426 R	 3-114     #11-536    
IODUN 	= ******  GX	 8-401      9-496      11-559    
IODUN1	= ******  GX	 9-499     
IOFLS 	= ******  GX	 7-311     
IOREDO	= ******  GX	 7-338     
IOSUC 	= ******  GX	 5-193      7-372     
IS.DAO	= 000002	 10-526     14-645    
IS.SUC	= ******  GX	 8-400      14-665    
I.LN2 	= ******  GX	 4-142     
I.PRM 	= ******  GX	 5-186      8-384      9-448      9-450      9-452      9-454      9-470      10-530    *12-574    
                        *12-575    *12-578     14-646    
I.TCB 	= ******  GX	 5-174     
I.UCB 	= ******  GX	 5-169     
KISAR6	= 172354	*9-477     *11-558    *12-572     13-621    *13-623    *14-653    
LTON  	  000242 R	 9-458     #9-487     
MAPHDR	= ******  GX	 7-271      12-579    
MAPLUN	= ******  GX	 7-359      12-580    
MOP   	  000650 R	 3-119      3-120     #13-600    
MS.CIP	= 000200	 7-276     
MVDAT 	  000766 R	 12-569    #13-630    
NSNET      CREATED BY  MACRO  ON 6-NOV-79 AT 10:13	PAGE 2
SYMBOL CROSS REFERENCE                                  CREF         
SYMBOL	VALUE		REFERENCES
M$$MGE	= 000000	 9-474      11-545     11-553     11-553     11-558     12-572     13-608     13-621     13-623    
                         14-650    
M.MAIL	  000012	 6-241     *6-242      8-387      9-432     
M.MAX 	  000007	 6-229      6-231     
M.MBL 	= 000016	 7-369     
M.SPA 	  000010	*7-277      7-337      7-368     *8-384     
M.STAT	  000004	*7-276     
M.TASK	  000002	 6-221      7-294     
M.USE 	  000006	 6-231     *6-239      7-290     
NT.CON	= 000001	 6-227      8-393      9-440      9-459      9-489      10-526    
N$$OVR	= 000042	 14-664    
N.CBL 	= 000142	 9-493     
N.CDA 	  000142	 10-520    
N.NODE	  000000	 10-516    
N.OPDL	  000136	 9-492      10-522    
N.SEG 	  000006	 10-511    
N.SEGZ	  000002	 10-510    
N.SFM 	  000036	 10-515     10-520    
N.SFMT	  000034	 10-523    
N.SND 	  000030	 10-510     10-515    
OPN   	  000024 R	 3-100     #5-169     
PD$NSP	= ******  GX	 11-553    
REMQUE	= ******  GX	 7-355      9-464     
RSX11D	= ******	 11-553     11-553    
SCNLUN	= ******  GX	 7-295     
SCNQUE	= ******  GX	 7-350      8-388      9-434     
SDISP 	  000000 R	#3-100      4-147     
SPA   	  000726 R	 3-102     #8-382     
TDISP 	  000020 R	#3-113      9-482     
T.NAM 	= ******  GX	 5-175      5-177     
UISAR6	= 177654	 11-558     12-572    
USRABO	= ******  GX	 7-329      12-594    
USRRCI	= ******  GX	 11-553    
U.VCB 	= ******  GX	 5-170     
V.GENQ	  000016	 6-216      6-246     
V.MBXQ	  000012	 5-171     *5-172      7-349     
V.TIMR	  000002	*6-248     
WS.DIP	= 000100	 7-301      7-322      7-335     
WS.KIP	= 000200	 7-306     
W.MBOX	  000016	 7-336     
W.PIO 	  000014	 7-303      7-307     *7-309     *12-584    
W.STAT	  000004	 7-301     *7-306     *7-322     *7-335     
W.ULA 	  000011	 7-324      12-587    
$CALLX	= ******  GX	 11-553    
$CCBCL	  000720 RG	 13-610    #13-615    
$CCBRT	= ******  GX	 7-333      12-591     13-626    
$CSBRT	= ******  GX	 13-622    
$DEACB	= ******  GX	 7-370     
$IFCER	= ******  GX	 3-106     
$LDBRT	= ******  GX	 13-619    
$MVFBF	= ******  GX	 13-608    
$NCUNM	= ******  GX	 5-175      5-177     
NSNET      CREATED BY  MACRO  ON 6-NOV-79 AT 10:13	PAGE 3
SYMBOL CROSS REFERENCE                                  CREF         
SYMBOL	VALUE		REFERENCES
$NETQI	  000000 RG	#4-142     
$NSNCU	= ******  GX	*5-179      7-364     *7-366     
$NSVCB	= ******  GX	 7-348     
$NTNAM	= ******  GX	 14-658    
$RDBSZ	= ******  GX	 14-663    
NSNET      CREATED BY  MACRO  ON 6-NOV-79 AT 10:13	PAGE 4
MACRO CROSS REFERENCE                                   CREF         
MACRO NAME	REFERENCES
CALL  		 5-191      5-192      6-235      7-270      7-271      7-274      7-297      7-311      7-317      7-321     
                 7-329      7-333      7-338      7-351      7-355      7-359      7-370      8-382      8-390      9-430     
                 9-436      9-464      10-512     10-517     10-524     11-551     12-569     12-579     12-580     12-591    
                 13-610     13-622     14-643     14-659    
CALLC 		#3-70      #11-553    
CALLR 		#5-193     #7-372     #8-401     #9-482     #9-496     #9-499     #11-559    #12-594    #13-619    #13-626    
                #14-666    
CALLX 		#3-70       11-553    
CCBDF$		#3-64      #3-66      
CNBDF$		#3-67      #3-68      
DVBDF$		#3-60      #3-62      
HWDDF$		#11-558    #11-558    #12-572    #12-572    #13-621    #13-621    #13-623    #13-623    
LLWDF$		#3-60      #3-63      
MAP   		#3-71      
MBXDF$		#3-60       3-61      
NSPSY$		#3-64      #3-65      
NSSYM$		#3-67      #3-69      
POP   		#3-86      #7-371     #11-554    #11-556    #11-557    #12-573    
PUSH  		#3-80      #7-350     #8-388     #9-434     #9-465     #14-644    
RECMAP		#3-70      #11-558    #12-572    
RESMAP		#3-71       13-623    
RESRG 		#3-70      #6-236     #6-245     #7-330     #7-340     #7-362     
RETURN		 5-194      6-249      7-375      8-403      9-501      13-624     13-639     14-668    
SAVMAP		#3-71       13-621    
SAVRG 		#3-70       6-215      6-233      7-316      7-328      7-357     
SOB   		#13-638    
SWSTK$		#5-191     #7-270     #8-382     #9-430     #14-643    
$MVFBF		#3-71      #13-608