Google
 

Trailing-Edge - PDP-10 Archives - BB-H348C-RM_1982 - swskit-v21/listings/mcb/nspxm.list
There are no other files named nspxm.list in the archive.
NSPXM	MACRO M1110  13-OCT-79 10:07
TABLE OF CONTENTS

     4-   83	USRINT
     5-  146	BLDINT
     6-  183	USRRCV
     8-  298	SNDCK
     9-  339	USRDAT
    10-  418	USRQRY
    11-  459	USRMOD
    11-  488	SYSMOD                                                          ;AP0004
    12-  516	USRXOF
    12-  517	USRXON
NSPXM	MACRO M1110  13-OCT-79 10:07  PAGE 3


      1						.TITLE	NSPXM
      2						.IDENT	/X01.13/
      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					;	NSP TRANSMIT DATA PROCESSING
     27					;
     28					;
     29					; DISTRIBUTED SYSTEMS SOFTWARE ENGINEERING
     30					;
     31					; IDENT HISTORY:
     32					;
     33					; 1.00	10-FEB-78
     34					;	VERSION 2.0 RELEASE
     35					;
     36					;	AP0001	21-DEC-77 ALAN D. PECKHAM
     37					;		TO ENABLE USE OF THE SYSTEM INTERFACE.
     38					;	AP0002	23-MAR-78 ALAN D. PECKHAM
     39					;		RE-INSERT CODE NECESSARY IN USRMOD FOR
     40					;		SYSTEM INTERFACE FLOW MODIFICATION.
     41					;	AP0003	1-MAY-78  ALAN D. PECKHAM
     42					;		FIX ACK/NAK AND BACKPRESSURE CODE
     43					;	AP0004	7-MAY-78  ALAN D. PECKHAM
     44					;		ADD ERROR CODES FOR SYSTEM INTERFACE,
     45					;		CLEAN CODING.
     46					;	AP0005	14-JUN-78 ALAN D. PECKHAM
     47					;		FIX NEXT-SEG-NUM IN SYSTEM INT NAK CODE
     48					;	LW0006	31-JUL-78 LELAND D. WEBBER
     49					;		HAVE ROUTINE USRDAT QUEUE UP FLOW-BLOCKED
     50					;		SEGMENTS IN THE SYSTEM INTERFACE
     51					;	AP0007	24-OCT-78 ALAN D. PECKHAM
     52					;		CORRECT BUG IN USRQRY FIX.
     53					;	AP0008	23-OCT-78 ALAN D. PECKHAM
     54					;		PUT ORIGINAL BUFFER ADDRESS IN C.BUF2 FOR INT. MESSAGES
     55					;	AP0009	9-NOV-78  ALAN D. PECKHAM
     56					;		MAKE SURE L.USA HOLDS THE HIGHEST SEGMENT ACKED BY USER.
     57					;	AP0010	10-NOV-78 ALAN D. PECKHAM
NSPXM	MACRO M1110  13-OCT-79 10:07  PAGE 3-1


     58					;		CORRECT ERROR IN XON/XOFF CODE FIX
     59					;	AP0011	13-FEB-79 ALAN D. PECKHAM
     60					;		CORRECT THE COUNTER RECORD-KEEPING
     61					;	AP0012	27-MAR-79 ALAN D. PECKHAM
     62					;		ADD CODING TO ALLOW SEPERATE USER ACK OF DATA SEGMENTS
     63					;	AP0013	11-JUL-79 ALAN D. PECKHAM
     64					;		FIX ACK PROCESSING FROM SYSTEM INTERFACE
     65					;
     66
     67					; MACRO LIBRARY CALLS
     68					;
     69						.MCALL	SAVRG,RESRG,MAP
     70						.MCALL	CCBDF$,NSPSY$
     71	000000					CCBDF$			; DEFINE THE CCB OFFSETS
     72	000000					NSPSY$			; DEFINE THE NSP OFFSETS
     73
     74
     75						.IF NDF	N$$SYS&N$$USR
     76						N$$SYS=1		;IF NEITHER INTERFACE IS SPECIFIED
     77									;THEN DEFAULT TO SYSTEM INTERFACE
     78						.ENDC
     79
     80
     81	000000					.PSECT	NSPXM
NSPXM	MACRO M1110  13-OCT-79 10:07  PAGE 4
USRINT

     83						.SBTTL	USRINT
     84					;+
     85					; **-USRINT-TRANSMIT AN INTERRUPT MESSAGE
     86					;
     87					; THIS ROUTINE IS CALLED TO TRANSMIT A USER INTERRUPT MESSAGE.
     88					;
     89					; INPUTS:
     90					;
     91					;	R5 = ADDRESS OF THE INTERRUPT MESSAGE CCB
     92					;		C.LIN	LOGICAL LINK INDEX (LLA)
     93					;		C.MOD	INTERRUPT SUBFUNCTION CODE (NT$INT)
     94					;		C.BUF	BUFFER RELOCATION BIAS
     95					;		C.BUF+2	BUFFER VIRTUAL ADDRESS (VIA APR6)
     96					;		C.CNT	LENGTH OF MESSAGE (0-16.)
     97					;
     98					; OUTPUTS:
     99					;
    100					;	C-BIT CLEAR:
    101					;
    102					;	THE INTERRUPT MESSAGE WAS TRANSMITTED
    103					;
    104					;	C-BIT SET:
    105					;	THE INTERRUPT MESSAGE WAS NOT TRANSMITTED
    106					;-
    107
    108	000000				USRINT::CALL	CHKUSR		; GET THE ADDRESS OF THE LOGICAL LINK TABLE
    109	000004	122710 	000005 			CMPB	#ST$DAT,(R0)	; IS THE LINK IN DATA STATE ?
    110	000010	001030 				BNE	5$		; IF NE, LINK IN WRONG STATE                    ;AP0004
    111	000012	012704 	177772 			MOV	#NE.TIM,R4	; MAYBE TOO MANY INTERRUPTS                     ;AP0004
    112	000016	105760 	000043 			TSTB	L.TIC(R0)	; CAN WE SEND A INTERRUPT MESSAGE?              ;**-1
    113	000022	003432 				BLE	10$		; IF LE, NO - RETURN WITH C-BIT ERROR
    114	000024	105360 	000043 			DECB	L.TIC(R0)	; WE HAVE SENT A INTERRUPT MESSAGE
    115	000030	105065 	000002 			CLRB	C.RSV(R5)	; MARK THIS AS AN INTERRUPT MESSAGE FOR 'ACKNSP'
    116	000034					CALL	BLDINT		; BUILD THE INTERRUPT MESSAGE
    117	000040	016704 	000000G			MOV	$NSDDB,R4	; GET THE                                       ;AP0011
    118	000044	016404 	000044 			MOV	N$STS+2(R4),R4	; STATISTICS BLOCK                              ;AP0011
    119	000050	005264 	000002 			INC	S$UMS(R4)	; TO BUMP THE MESSAGES SENT COUNT.              ;AP0011
    120	000054	001002 				BNE	2$		; IF OVERFLOW                                   ;AP0011
    121	000056	005364 	000002 			DEC	S$UMS(R4)	; THEN BACK IT UP                               ;AP0011
    122	000062				2$:                                                                             ;AP0011
    123	000062	105260 	000004 			INCB	L.TIPI(R0)	; BUMP THE I/LS TRANSMIT IN PROGRESS COUNT
    124	000066					CALLR	SNDALT		; SEND THE MESSAGE AND RETURN (CLEARS C-BIT)
    125
    126	000072				5$:                                                                             ;AP0004
    127						.IF DF	N$$SYS                                                          ;AP0004
    128	000072	012704 	177776 			MOV	#NE.ABO,R4	; ASSUME THE LINK IS CLOSING                    ;AP0004
    129	000076	122710 	000006 			CMPB	#ST$DIP,(R0)	; AND IF NOT,                                   ;AP0004
    130	000102	001402 				BEQ	10$		; THEN                                          ;AP0004
    131	000104	012704 	177766 			MOV	#NE.NDT,R4	; INDICATE WRONG STATE.                         ;AP0004
    132						.ENDC                                                                   ;AP0004
    133	000110				10$:                                                                            ;AP0004
    134						.IF DF	N$$SYS&N$$USR                                                   ;AP0004
    135	000110	105760 	000041 			TSTB	L.PDV(R0)	; SYSTEM OR USER INTERFACE?                     ;AP0004
    136	000114	001002 				BNE	20$		; SYSTEM                                        ;AP0004
    137						.ENDC                                                                   ;AP0004
    138					                                                                                ;AP0004
    139	000116	000261 				SEC			; INDICATE INTERRUPT MESSAGE CANNOT BE SENT     ;AP0004
NSPXM	MACRO M1110  13-OCT-79 10:07  PAGE 4-1
USRINT

    140	000120					RETURN			; RETURN TO CALLER                              ;AP0004
    141					                                                                                ;AP0004
    142						.IF DF	N$$SYS                                                          ;AP0004
    143	000122				20$:	CALLR	RETUSR		; SEND BACK TO SYSTEM USER.                     ;AP0004
    144						.ENDC                                                                   ;AP0004
NSPXM	MACRO M1110  13-OCT-79 10:07  PAGE 5
BLDINT

    146						.SBTTL	BLDINT
    147
    148					;++
    149					;BLDINT
    150
    151					;INPUTS:
    152					;	R5=CCB ADDRESS
    153					;	R0=LLT
    154					;OUTPUTS:
    155					;	R5 IS MODIFIED:
    156					;		C.BUF2=SAVE START OF MESSAGE
    157					;		C.BUF+2=START OF THE MESSAGE JUST BUILD
    158					;		C.CNT=UPDATE COUNT TO REFLECT MSGHDR JUST BUILT
    159
    160					;	THIS ROUTINE WILL BUILD THE INTERRUPT MESSAGE BACKWARDS
    161					;IN THE BUFFER PROVIDED BY THE USER.
    162
    163					;--
    164
    165	000126				BLDINT:
    166	000126					MAP	C.BUF(R5)	;MAP TO THE MESSAGE BUFFER
    167	000134	016504 	000016 			MOV	C.BUF+2(R5),R4	;MESSAGE POINTER
    168	000140	010465 	000024 			MOV	R4,C.BUF2(R5)	; SAVE FOR ADDRESS RESET.                       ;AP0008
    169	000144	016001 	000016 			MOV	L.NIN(R0),R1	;SEGNUM FOR THIS MESSAGE                        ;**-1
    170	000150	005260 	000016 			INC	L.NIN(R0)	;NEXT SEGNUM TO BE SENT
    171	000154	042760 	170000 	000016 		BIC	#ACKMASK,L.NIN(R0) ;FOR WRAPAROUND
    172	000162					CALL	BINPUT		;PUT SEGNUM INTO MESSAGE
    173	000166	016001 	000002 			MOV	L.LLA(R0),R1	;SOURCE ADDRESS
    174	000172					CALL	BINPUT		;PUT INTO MESSAGE BACKWARDS
    175	000176	016001 	000010 			MOV	L.RLA(R0),R1	;REMOTE ADDRESS
    176	000202					CALL	BINPUT		;PUT INTO MESSAGE BACKWARDS
    177	000206	112744 	000060 			MOVB	#MF.DAT!MD.IM!MD.ILS,-(R4) ;MSG FLAGS
    178	000212	010465 	000016 			MOV	R4,C.BUF+2(R5)	;NEW START OF MESSAGE
    179	000216	166504 	000024 			SUB	C.BUF2(R5),R4	; GET HEADER LENGTH (NEGATIVE)                  ;AP0008
    180	000222	160465 	000020 			SUB	R4,C.CNT(R5)	; AND INCLUDE IN COUNT.                         ;AP0008
    181	000226					RETURN                                                                  ;**-3
NSPXM	MACRO M1110  13-OCT-79 10:07  PAGE 6
USRRCV

    183						.SBTTL	USRRCV
    184					;+
    185					; **-USRRCV-USER BUFFER RETURN
    186					;
    187					; THIS ROUTINE IS CALLED TO ACKNOWLEDGE AN NSP SEGEMENT WHICH HAS BEEN
    188					; RECEIVED AND RETURN THE RECEIVE DATA BUFFER TO THE SYSTEM POOL.
    189					;
    190					; INPUTS:
    191					;
    192					;	R5 = ADDRESS OF MESSAGE CCB
    193					;		C.NSP	SEGMENT NUMBER
    194					;		C.LIN	LOGICAL LINK ADDRESS (LLA)
    195					;
    196					; OUTPUTS:
    197					;
    198					;	AS DESCRIBED ABOVE
    199					;
    200					;-
    201						.ENABL	LSB
    202
    203	000230				USRRCV::CALL	CHKUSR		; GET THE LLT ADDRESS
    204	000234	112765 	000002 	000011 		MOVB	#NT$DAT,C.MOD(R5) ; SET SUBFUNCTION CODE  (INTERNAL LOOP)
    205	000242	016501 	000004 			MOV	C.NSP(R5),R1	; GET THE SEGMENT NUMBER TO PROCESS
    206					                                                                                ;AP0003
    207						.IF DF	N$$SYS&N$$USR                                                   ;AP0003
    208	000246	105760 	000041 			TSTB	L.PDV(R0)	; SYSTEM OR USER?                               ;AP0003
    209	000252	001426 				BEQ	10$		; USER                                          ;AP0003
    210						.ENDC                                                                   ;AP0003
    211					                                                                                ;AP0003
    212						.IF DF	N$$SYS                                                          ;AP0003
    213	000254	032765 	000003 	000012 	5$:	BIT	#NT.ACK!NT.NAK,C.STS(R5) ; IF NO ACK/NAK ACTIVITY REQUESTED     ;AP0003
    214	000262	001430 				BEQ	20$		; THEN DON'T DO ANY.                            ;AP0003
    215	000264	016002 	000030 			MOV	L.USA(R0),R2	; GET CURRENT HIGHEST ACK                       ;AP0009
    216	000270					CALL	CHKNMS		; AND CHECK WHICH IS LARGER.                    ;AP0009
    217	000274	103423 				BCS	20$		; IF THIS IS HIGHER THAN LAST                   ;AP0009
    218	000276	016501 	000004 			MOV	C.NSP(R5),R1	; THEN RECOVER SEGMENT NUMBER                   ;AP0013
    219	000302	032765 	000002 	000012 		BIT	#NT.NAK,C.STS(R5) ; IS THIS A NAK ?                             ;AP0003
    220	000310	001407 				BEQ	10$		; IF EQ, NO - SKIP THE ALTERATION OF SEGMENT NUM;**-5
    221	000312	010160 	000020 			MOV	R1,L.RNO(R0)	; SET NEXT SEGMENT NUMBER TO RECEIVE.           ;AP0005
    222	000316	005301 				DEC	R1		; BACK UP SEGMENT NUMBER BY ONE
    223	000320	042701 	170000 			BIC	#LA.MSK,R1	; CLEAR GARBAGE IN CASE OF UNDERFLOW
    224	000324	052701 	110000 			BIS	#LA.NAK,R1	; SET THE NAK FLAGS IN THE SEGMENT NUMBER       ;**-1
    225	000330				10$:				; REFERENCE LABEL
    226						.IFTF
    227
    228	000330	052701 	100000 			BIS	#LA.ACK,R1	; SET ACK REQUIRED FLAGS
    229	000334	010160 	000030 			MOV	R1,L.USA(R0)	; SET THE HIGHEST NUMBER ACKED BY USER
    230	000340					CALL	SNDAKD		; ATTEMPT TO SEND THE ACK MESSAGE
    231
    232						.IFT
    233
    234	000344	105760 	000041 		20$:	TSTB	L.PDV(R0)	; SYSTEM OR USER INTERFACE?                     ;AP0003
    235	000350	001455 				BEQ	50$		; USER                                          ;AP0003
    236	000352	016501 	000012 			MOV	C.STS(R5),R1	; GET STATUS AND CHECK FOR                      ;AP0003
    237	000356	032701 	000034 			BIT	#NT.XON!NT.XOF!NT.MOD,R1 ; FLOW CHANGE                          ;AP0003
    238	000362	001431 				BEQ	40$		; IF EQ, NO - ALL DONE WITH THE RECEIVE         ;AP0012
    239	000364	032701 	000014 			BIT	#NT.XON!NT.XOF,R1 ; IS THERE A BACKPRESSURE CHANGE ?            ;AP0003
NSPXM	MACRO M1110  13-OCT-79 10:07  PAGE 6-1
USRRCV

    240	000370	001415 				BEQ	30$		; NO - INITIATE THE LINK SERVICE.               ;AP0003
    241	000372	042760 	000060 	000012 		BIC	#LF.DFL,L.FLG(R0) ; CLEAR FLOW MODIFIER BITS                    ;AP0003
    242	000400	032701 	000010 			BIT	#NT.XON,R1	; DOES THE USER REQUEST XON ?                   ;AP0003
    243	000404	001004 				BNE	25$		; IF NOT                                        ;AP0003
    244	000406	052760 	000040 	000012 		BIS	#LF.DSP,L.FLG(R0) ; THEN STOP THE FLOW                          ;AP0010
    245	000414	000403 				BR	30$		; OTHERWISE                                     ;AP0003
    246	000416	052760 	000020 	000012 	25$:	BIS	#LF.DST,L.FLG(R0) ; START THE FLOW.                             ;AP0003
    247	000424	032701 	000020 		30$:	BIT	#NT.MOD,R1	; HOW ABOUT A CHANGE OF REQUEST COUNTS ?        ;AP0003
    248	000430	001404 				BEQ	35$		; IF SO,                                        ;AP0003
    249	000432	042701 	140377 			BIC	#^C<NT.FCN>,R1	; THEN                                          ;AP0003
    250	000436	060160 	000044 			ADD	R1,L.LSF(R0)	; ADJUST THE REQUEST COUNT.                     ;AP0003
    251	000442				35$:	CALL	SNDLS		; SEND LS MESSAGE IF NONE OUTSTANDING           ;AP0003
    252					                                                                                ;AP0012
    253	000446	005764 	000016 		40$:	TST	C.BUF+2(R4)	; IF ASSOCIATED BUFFER                          ;AP0012
    254	000452	001014 				BNE	50$		; THEN RETURN IT                                ;AP0012
    255	000454					CALLR	$CCBRT		; OTHERWISE RETURN THE INDEPENDENT ACK          ;AP0012
    256					                                                                                ;AP0012
    257						.IFF                                                                    ;AP0012
    258					                                                                                ;AP0012
    259						BR	50$		; CONTINUE IN COMMON CODE                       ;AP0012
    260						.ENDC                                                                   ;AP0012
NSPXM	MACRO M1110  13-OCT-79 10:07  PAGE 7
USRRCV

    262					;+
    263					; **-USRRCI-RETURN AND INTERRUPT MESSAGE BUFFER
    264					;
    265					; THIS ROUTINE IS CALLED TO SEND A LINK SERVICE REQUEST FOR ANOTHER
    266					; INTERRUPT MESSAGE AND RETURN THE INTERRUPT MESSAGE BUFFER TO THE
    267					; SYSTEM POOL.
    268					;
    269					; INPUTS:
    270					;
    271					;	R5 = ADDRESS OF MESSAGE CCB
    272					;
    273					;		C.LIN	LOGICAL LINK ADDRESS (LLA)
    274					;
    275					; OUTPUTS:
    276					;
    277					;	AS DESCRIBED ABOVE
    278					;
    279					;-
    280
    281	000460	005015 			USRRCI::CLR	(R5)		; CLEAR LINK WORD (CAN ONLY RETURN ONE)
    282	000462					CALL	CHKUSR		; GET THE LLT ADDRESS
    283	000466	112765 	000004 	000011 		MOVB	#NT$INT,C.MOD(R5) ; SET SUBFUNCTION CODE  (INTERNAL LOOP)
    284	000474	105260 	000044 			INCB	L.LSF(R0)	; UP THE INTERRUPT REQUEST COUNT
    285	000500					CALL	SNILS		; SEND A LINK SERVICE FOR INTERRUPT REQUEST COUNT
    286
    287					;
    288					; COMMON BUFFER RETURN PROCESSING
    289					;
    290	000504	016565 	000022 	000004 	50$:	MOV	C.FLG(R5),C.NSP(R5) ; FOR INTERNAL LOOPBACK..RECOVER TRANSMITERS LLT
    291	000512	032710 	040000 			BIT	#LF.LCL,(R0)	; IS THIS AN INTERNAL LOGICAL LINK ?
    292	000516	001402 				BEQ	55$		; IF EQ, NO
    293	000520	105065 	000006 			CLRB	C.LIN(R5)	; MARK SO UNSPWN RECOGNIZES INTERNAL LOOP
    294	000524				55$:	CALLR	UNSPWN		; RELEASE SPAWNED CCB AND RETURN
    295
    296						.DSABL	LSB
NSPXM	MACRO M1110  13-OCT-79 10:07  PAGE 8
SNDCK

    298						.SBTTL	SNDCK
    299
    300					;+
    301					; **-SNDCK-CHECK IF OK TO SEND DATA
    302					;
    303					; THIS ROUTINE IS CALLED TO DETERMINE IF A SEGMENT CAN BE TRANSMITTED.
    304					; IF ONE CAN BE, THER IS NO REQUIREMENT TO ACTUALLY SEND ONE.  IF ONE
    305					; CANNOT BE SENT, THE ROUTINE 'NOTUSR' WILL BE CALLED WHENEVER THE
    306					; CONDITION THAT BLOCKED TRANSMISSION CLEARS.  SINCE SEVERAL CONDITIONS
    307					; MIGHT BLOCK TRANSMISSION, THE CALL TO 'NOTUSR' DOES NOT GUARANTEE THAT
    308					; TRANSMISSION ALL CONDITIONS ARE FAVORABLE.
    309					;
    310					; INPUTS:
    311					;
    312					;	R0 = LLA
    313					;
    314					; OUTPUTS:
    315					;
    316					;	C-BIT CLEAR:
    317					;	A SEGMENT MAY BE TRANSMITTED
    318					;
    319					;	C-BIT SET:
    320					;	A SEGMENT MAY NOT BE TRASNMITTED
    321					;
    322					;-
    323
    324	000530				SNDCK::	CALL	GETLNK		; GET THE LLT ADDRESS
    325	000534	122710 	000005 			CMPB	#ST$DAT,(R0)	; IS THE LINK IN DATA STATE ?
    326	000540	001015 				BNE	20$		; IF NE, NO - EXIT
    327	000542	032760 	001200 	000012 		BIT	#LF.HF0!LF.NKR,L.FLG(R0) ;  IS FLOW CLOSED OR NAK IN PROGRESS ?
    328	000550	001011 				BNE	20$		; IF NE, YES - DON'T TRANSMIT NOW
    329	000552	032760 	030000 	000012 		BIT	#LF.HSF!LF.HMF,L.FLG(R0) ;  IS THE LINK FLOW CONTROLLED ?
    330	000560	001403 				BEQ	10$		;  IF EQ, NO - OK TO SEND NOW
    331	000562	105760 	000042 			TSTB	L.TC(R0)	; WILL THE REQUEST COUNT LET US TRANSMIT ?
    332	000566	003402 				BLE	20$		; IF LE, NO
    333	000570	000241 			10$:	CLC			; INDICATE THAT IT IS OK TO SEND DATA
    334	000572					RETURN			; RETURN TO CALLER
    335
    336	000574	000261 			20$:	SEC			; INDICATE THAT IT IS NOT OK TO SEND DATA
    337	000576					RETURN			; RETURN TO CALLER
NSPXM	MACRO M1110  13-OCT-79 10:07  PAGE 9
USRDAT

    339						.SBTTL	USRDAT
    340
    341					;+
    342					; **-USRDAT-TRANSMIT A USER SEGMENT
    343					;
    344					; THIS ROUTINE IS CALLED TO ASSIGN A SEGMENT A SEQUENCE NUMBER
    345					; AND FORWARD IT IT INTO THE NETWORK.  THIS ROUTINE MUST NOT BE
    346					; CALLED UNTIL A SUCCESSFUL INDICATION IS RETURNED FROM THE
    347					; ROUTINE 'SNDCK'.
    348					;
    349					; INPUTS:
    350					;
    351					;	R5 = ADDRESS OF A CCB WHICH POINTS TO THE SEGMENT
    352					;
    353					;
    354					;-
    355
    356	000600				USRDAT::CALL	CHKUSR		; GET THE LLT ADDRESS
    357	000604					MAP	C.BUF(R5)	; MAP TO THE DATA BUFFER
    358	000612	016504 	000016 			MOV	C.BUF+2(R5),R4	; MESSAGE POINTER
    359	000616	010465 	000024 			MOV	R4,C.BUF2(R5)	; SAVE IT
    360	000622	016702 	000000G			MOV	$NSDDB,R2	; GET THE                                       ;AP0011
    361	000626	016202 	000044 			MOV	N$STS+2(R2),R2	; STATISTICS DATA BLOCK.                        ;AP0011
    362	000632	016001 	000014 			MOV	L.NXN(R0),R1	; SEGNUM FOR THIS MESSAGE
    363	000636	010146 				MOV	R1,-(SP)	; SAVE CURRENT SEGMENT NUMBER
    364	000640	005260 	000014 			INC	L.NXN(R0)	; NEXT SEGNUM TO BE SENT
    365	000644	042760 	170000 	000014 		BIC	#LA.MSK,L.NXN(R0) ; WRAPAROUND
    366	000652					CALL	BINPUT		; PUT SEGNUM INTO MESSAGE
    367	000656	016001 	000030 			MOV	L.USA(R0),R1	; IS THERE ANY ACK/NAK TO PIGGYBACK ?
    368	000662	100015 				BPL	10$		; IF PL, NO - JUST SKIP IT
    369	000664	032701 	010000 			BIT	#LA.NMS,R1	; IF A NAK                                      ;AP0011
    370	000670	001405 				BEQ	5$		; THEN                                          ;AP0011
    371	000672	005262 	000010 			INC	S$NKS(R2)	; BUMP THE NAK SENT COUNTER                     ;AP0011
    372	000676	001002 				BNE	5$		; AND IF OVERFLOW                               ;AP0011
    373	000700	005362 	000010 			DEC	S$NKS(R2)	; THEN BACK IT UP.                              ;AP0011
    374	000704				5$:                                                                             ;AP0011
    375	000704	042760 	170000 	000030 		BIC	#LA.MSK,L.USA(R0) ; REMOVE ACK/NAK REQUIRED FLAGS
    376	000712					CALL	BINPUT		; PUT ACKNUM INTO MESSAGE
    377	000716	016001 	000002 		10$:	MOV	L.LLA(R0),R1	; SOURCE ADDRESS
    378	000722					CALL	BINPUT		; PUT INTO MESSAGE BACKWARDS
    379	000726	016001 	000010 			MOV	L.RLA(R0),R1	; DESTINATION ADDRESS
    380	000732					CALL	BINPUT		; PUT INTO MESSAGE BACKWARDS
    381	000736	116544 	000012 			MOVB	C.STS(R5),-(R4) ; GET START/END MESSAGE FLAGS                   ;AP0004
    382	000742	142714 	177637 			BICB	#^C<MD.BM!MD.EM>,(R4) ; ISOLATE                                 ;AP0004
    383	000746	152714 	000000 			BISB	#MF.DAT,(R4)	; AND SET AS DATA SEGMENT.                      ;AP0004
    384	000752	010465 	000016 			MOV	R4,C.BUF+2(R5)	; STORE POINTER TO START OF MESSAGE             ;LW0006
    385	000756	166504 	000024 			SUB	C.BUF2(R5),R4	; COMPUTE THE NEW MESSAGE LENGTH                ;LW0006
    386	000762	160465 	000020 			SUB	R4,C.CNT(R5)	; ...                                           ;LW0006
    387	000766	005262 	000002 			INC	S$UMS(R2)	; BUMP THE MESSAGES SENT                        ;AP0011
    388	000772	001002 				BNE	40$		; AND IF OVERFLOW                               ;AP0011
    389	000774	005362 	000002 			DEC	S$UMS(R2)	; THEN BACK IT UP.                              ;AP0011
    390	001000				40$:				; REFERENCE LABEL                               ;LW0006
    391						.IF DF N$$SYS                                                           ;LW0006
    392						.IF DF N$$USR                                                           ;LW0006
    393	001000	105760 	000041 			TSTB	L.PDV(R0)	; SYSTEM OR USER INTERFACE?                     ;LW0006
    394	001004	001410 				BEQ	15$		; USER                                          ;LW0006
    395						.IFTF                                                                   ;LW0006
NSPXM	MACRO M1110  13-OCT-79 10:07  PAGE 9-1
USRDAT

    396	001006	010003 				MOV	R0,R3		;ADD SEGMENT                                    ;LW0006
    397	001010	062703 	000046 			ADD	#L.XQ1,R3	;  TO THE TRANSMIT                              ;LW0006
    398	001014					CALL	ADDQUE		;  DATA QUEUE                                   ;LW0006
    399	001020					CALL	PROXMT		;  AND START ACTIVITY ON THE QUEUE              ;LW0006
    400	001024	000422 				BR	90$		;  AND QUIT                                     ;LW0006
    401						.IFT                                                                    ;LW0006
    402	001026				15$:                                                                            ;LW0006
    403						.ENDC                                                                   ;LW0006
    404						.ENDC                                                                   ;LW0006
    405	001026	032760 	010000 	000012 		BIT	#LF.HSF,L.FLG(R0) ; IS LINK SEGMENT FLOW CONTROLLED ?           ;**-2
    406	001034	001010 				BNE	20$		; IF NE, YES - REDUCE REQUEST COUNT
    407	001036	032760 	020000 	000012 		BIT	#LF.HMF,L.FLG(R0) ; IS LINK MESSAGE FLOW CONTROLLED ?
    408	001044	001406 				BEQ	30$		; IF EQ, NO - NO REQUEST COUNT ADJUSTMENT REQUIRED
    409	001046	032765 	000100 	000012 		BIT	#NT.EOM,C.STS(R5) ; END OF MESSAGE?                             ;LW0006
    410	001054	001402 				BEQ	30$		; IF EQ, NO - NO ADJUSTMENT REQUIRED            ;**-1
    411	001056	105360 	000042 		20$:	DECB	L.TC(R0)	; ADJUST REQUEST COUNT
    412	001062				30$:				; REFERENCE LABEL
    413	001062	105260 	000005 			INCB	L.TIPD(R0)	; BUMP THE DATA TRANSMIT IN PROGRESS COUNT      ;**-9
    414	001066					CALL	SNDALT		; TRANSMIT THE MESSAGE
    415	001072	012601 			90$:	MOV	(SP)+,R1	; GET THIS XMIT BUFFER'S SEGMENT NUMBER         ;LW0006
    416	001074					RETURN                                                                  ;LW0006
NSPXM	MACRO M1110  13-OCT-79 10:07  PAGE 10
USRQRY

    418						.SBTTL	USRQRY
    419					;++
    420
    421					;INPUTS:
    422					;	R5=CCB ADDR
    423					;OUTPUTS:
    424					;	ON ERROR..C-BIT SET & R4=ERROR CODE
    425
    426					;--
    427						.IF DF	N$$SYS
    428
    429	001076				USRQRY::
    430	001076					CALL	CHKUSR		;CHECK STATE AND USER
    431	001102	012704 	177776 			MOV	#NE.ABO,R4	; ASSUME LINK IS DISCONNECTING                  ;AP0004
    432	001106	122710 	000006 			CMPB	#ST$DIP,(R0)	; IF NOT,                                       ;AP0004
    433	001112	001424 				BEQ	40$		; THEN                                          ;AP0004
    434	001114	012704 	000001 		10$:	MOV	#NS.NFL,R4	;SUCCESS..NOT FLOW CONTROLLED                   ;**-6
    435	001120	005065 	000004 			CLR	C.NSP(R5)	;CLEAR FLOW CONTROL COUNT
    436	001124	156065 	000042 	000004 		BISB	L.TC(R0),C.NSP(R5) ;SET FLOW CONTROL COUNT
    437	001132	032760 	010000 	000012 		BIT	#LF.HSF,L.FLG(R0) ;OTHER GUY SEG FLOW CONTROLLED?
    438	001140	001403 				BEQ	30$		;NO
    439	001142	012704 	000002 			MOV	#NS.SFL,R4	;SUCCESS..SEG FLOW CONTROLLED
    440	001146	000406 				BR	40$
    441
    442	001150	032760 	020000 	000012 	30$:	BIT	#LF.HMF,L.FLG(R0) ;OTHER GUY MSG FLOW CONTROLLED?
    443	001156	001402 				BEQ	40$		;NO
    444	001160	012704 	000003 			MOV	#NS.MFL,R4	;SUCCESS..MSG FLOW CONTROLLED
    445	001164				40$:
    446						.IF DF	N$$SYS&N$$USR
    447	001164	116003 	000041 			MOVB	L.PDV(R0),R3	; SYSTEM OR USER INTERFACE? (DON'T CLEAR C-BIT) ;AP0001
    448	001170	001402 				BEQ	50$		;USER                                           ;**-1
    449						.ENDC
    450
    451						.IF DF	N$$SYS
    452	001172					CALL	RETUSR		;GIVE BACK TO USER
    453						.ENDC
    454
    455	001176				50$:	RETURN
    456
    457						.ENDC
NSPXM	MACRO M1110  13-OCT-79 10:07  PAGE 11
USRMOD

    459						.SBTTL	USRMOD
    460					;+
    461					; **-USRMOD-MODIFY FLOW CONTROL REQUEST COUNTS
    462					;
    463					; THIS ROUTINE IS CALLED TO SEND A LINK SERVICE MESSAGE WHICH WILL
    464					; MODIFY THE FLOW CONTROL REQUEST COUNTS AT THE OTHER END OF THE
    465					; LOGICAL LINK.  AN ATTEMPT IS MADE TO MINIMIZE THE NUMBER OF LINK
    466					; SERVICE MESSAGES THAT ARE OUTSTANDING THE NETWORK.  REQUESTS FROM THE
    467					; USER ARE ACCUMULATED IN THE LOGICAL LINK TABLE IN THE CELL 'L.LSF'
    468					; UNTIL ANY PREVIOUS LINK SERVICE MESSAGE IS ACKNOWLEDGED.  THERE IS NO
    469					; RESTRICTION ON THE MAGNITUDE OF THE FLOW CONTROL REQUEST COUNT, ONLY
    470					; THE NUMBER OF LINK SERVICE MESSAGES.
    471					;
    472					; INPUTS:
    473					;
    474					;	R0 = USER LINK ADDRESS  (ULA)
    475					;
    476					; OUTPUTS:
    477					;
    478					;	THE REQUEST COUNT IS INCREMENTED BY ONE, AND A LINK SERVICE
    479					;	MESSAGE IS SENT IF ONE IS NOT OUSTANDING IN THE NETWORK.
    480					;
    481					;-
    482
    483	001200				USRMOD::CALL	GETLNK		; GET THE LLT ADDRESS
    484	001204	105260 	000045 			INCB	L.LSF+1(R0)	; UP THE REQUEST COUNT BY ONE  (IN THE HIGH BYTE)
    485	001210					CALLR	SNDLS		; SEND LINK SERVICE MESSAGE
    486					                                                                                ;AP0004
    487						.IF DF	N$$SYS                                                          ;AP0004
    488						.SBTTL	SYSMOD                                                          ;AP0004
    489					;+                                                                              ;AP0004
    490					; **-SYSMOD-MODIFY SYSTEM PROCESS FLOW REQUEST COUNTS                           ;AP0004
    491					;                                                                               ;AP0004
    492					; SAME SUNCTION AS ABOVE EXCEPT THAT THE SYSTEM INTERFACE PART HAS              ;AP0004
    493					; MORE PRECONDITONS                                                             ;AP0004
    494					;                                                                               ;AP0004
    495					; INPUT:                                                                        ;AP0004
    496					;                                                                               ;AP0004
    497					;	R5 = CCB FROM SYSTEM PROCESS                                            ;AP0004
    498					;-                                                                              ;AP0004
    499					                                                                                ;AP0004
    500	001214				SYSMOD::CALL	CHKUSR		;GET THE LLT ADDRESS                            ;AP0004
    501	001220	012704 	177776 			MOV	#NE.ABO,R4	;ASSUME DISCONNECTING                           ;AP0004
    502	001224	122710 	000006 			CMPB	#ST$DIP,(R0)	;ARE WE BEING DISCONNECTED?                     ;AP0004
    503	001230	001412 				BEQ	10$		;IF EQ, YES - EXIT                              ;AP0004
    504	001232	116501 	000004 			MOVB	C.NSP(R5),R1	;GET THE REQUEST COUNT ADJUSTMENT               ;AP0004
    505	001236	000301 				SWAB	R1		;COPY IT TO THE HIGH BYTE AND                   ;AP0004
    506	001240	105001 				CLRB	R1		;... CLEAR OUT THE LOW BYTE                     ;AP0004
    507	001242	060160 	000044 			ADD	R1,L.LSF(R0)	;ACCUMULATE THE DATA REQUEST COUNT, THE V-BIT   ;AP0004
    508									;... INDICATES OVERFLOW IF A CHECK IS NEEDED    ;AP0004
    509	001246					CALL	SNDLS		;SEND LINK SERVICE MESSAGE                      ;AP0004
    510	001252	012704 	000001 			MOV	#NS.SUC,R4	;RETURN USER SUCCESS                            ;AP0004
    511	001256				10$:	CALL	RETUSR		;RETURN USERS REQUEST                           ;AP0004
    512	001262	000241 				CLC			;MAKE SURE NO ERROR IS REPORTED                 ;AP0004
    513	001264					RETURN                                                                  ;AP0004
    514						.ENDC                                                                   ;AP0004
NSPXM	MACRO M1110  13-OCT-79 10:07  PAGE 12
USRXOF

    516						.SBTTL USRXOF
    517						.SBTTL USRXON
    518					;++
    519					; USRXOF,USRXON
    520
    521					; INPUTS:
    522					;	R5=CCB
    523
    524					; OUTPUTS:
    525
    526					; CALLING SEQUENCE:
    527
    528					;--
    529						.IF DF	N$$SYS
    530
    531						.ENABL	LSB
    532	001266				USRXOF::
    533	001266	012701 	000040 			MOV	#LF.DSP,R1	;CLOSE FLOW                                     ;AP0003
    534	001272	000402 				BR	10$                                                             ;**-1
    535
    536	001274				USRXON::
    537	001274	012701 	000020 			MOV	#LF.DST,R1	;OPEN FLOW                                      ;AP0003
    538					                                                                                ;**-1
    539	001300				10$:	CALL	CHKUSR		;VALIDATE USER
    540	001304	012704 	177776 			MOV	#NE.ABO,R4	;ASSUME LINK IS ABORTING                        ;AP0004
    541	001310	122710 	000006 			CMPB	#ST$DIP,(R0)	;ARE WE CORRECT ?                               ;AP0004
    542	001314	001411 				BEQ	30$		;IF LINK RUNNING,                               ;AP0004
    543	001316	042760 	000060 	000012 		BIC	#LF.DFL,L.FLG(R0) ;CLEAR CURRENT FLOW REQUEST                   ;AP0004
    544	001324	050160 	000012 			BIS	R1,L.FLG(R0)	;AND SET NEW REQUEST.                           ;AP0004
    545	001330					CALL	SNDLS		;SEND A LINK SERVICE                            ;**-6
    546					                                                                                ;**-1
    547	001334	012704 	000001 			MOV	#NS.SUC,R4	;SUCCESS
    548	001340				30$:
    549						.IF DF	N$$SYS&N$$USR
    550	001340	105760 	000041 			TSTB	L.PDV(R0)	;SYSTEM OR USER INTERFACE?                      ;AP0001
    551	001344	001402 				BEQ	40$		;USER - JUST RETURN                             ;**-1
    552						.ENDC
    553
    554						.IF DF	N$$SYS
    555	001346					CALL	RETUSR
    556						.ENDC
    557
    558	001352				40$:	RETURN
    559
    560						.DSABL	LSB
    561
    562						.ENDC
    563
    564
    565		000001 				.END
NSPXM	MACRO M1110  13-OCT-79 10:07  PAGE 12-1
SYMBOL TABLE

ACKMAS= 170000   	C$$RSH= 177564   	ER$TCN= 000040   	KISAR0= 172340   	L.LVL   000001
ACKPRE= 100000   	C.BID   000003   	ER$TCO= 000041   	KISAR5= 172352   	L.NDA   000034
ACKRES= 060000   	C.BUF   000014   	ER$TPA= 000010   	KISAR6= 172354   	L.NIN   000016
ACKWRA= 010000   	C.BUF1  000014   	ER$UOB= 000004   	KISAR7= 172356   	L.NLA   000036
ADDQUE= ****** GX	C.BUF2  000024   	E$$XPR= 000000   	KISDR0= 172300   	L.NSTA  000025
A$$CHK= 000000   	C.CNT   000020   	FC.CCP= 000020   	KISDR6= 172314   	L.NXN   000014
A$$CPS= 000000   	C.CNT1  000020   	FC.CTL= 000006   	KISDR7= 172316   	L.PDV   000041
A$$PRI= 000000   	C.CNT2  000030   	FC.KCP= 000016   	K$$CNT= 177546   	L.REM   000006
A$$TRP= 000000   	C.FLG   000022   	FC.KIL= 000004   	K$$CSR= 177546   	L.RLA   000010
A.NAK = 010000   	C.FLG1  000022   	FC.RCE= 000002   	K$$LDC= 000000   	L.RNO   000020
BINPUT= ****** GX	C.FLG2  000032   	FC.RCP= 000014   	K$$TPS= 000074   	L.STA   000000
BLDINT  000126R     002	C.FNC   000010   	FC.TIM= 000010   	LA.ACK= 100000   	L.TC    000042
CB.CCB= 000002   	C.LIN   000006   	FC.XCP= 000012   	LA.MSK= 170000   	L.TIC   000043
CB.RDB= 000004   	C.LNK   000000   	FC.XME= 000000   	LA.NAK= 110000   	L.TIPD  000005
CE.ABO= 100362   	C.MOD   000011   	FE.CAL= 000040   	LA.NMS= 010000   	L.TIPI  000004
CE.DIS= 100366   	C.NSP   000004   	FE.DRV= 000010   	LA.RES= 060000   	L.UDQ   000034
CE.ERR= 100370   	C.RSV   000002   	FE.EXP= 000200   	LD$LP = 000000   	L.ULA   000040
CE.MOP= 100372   	C.STA   000007   	FE.EXT= 000001   	LF.DFL= 000060   	L.USA   000030
CE.NTE= 100361   	C.STS   000012   	FE.EXV= 000004   	LF.DSP= 000040   	L.USTA  000024
CE.RTE= 100376   	DF$ADJ= 020000   	FE.LSI= 000400   	LF.DST= 000020   	L.XQ1   000046
CE.SRC= 100364   	DF$DWN= 001000   	FE.MUP= 000002   	LF.FPN= 000010   	L.XQ2   000050
CE.TMO= 100374   	DF$FRE= 070000   	FE.MXT= 040000   	LF.HF0= 001000   	L.XQ3   000052
CF.EOM= 000004   	DF$LCL= 040000   	FE.NLG= 100000   	LF.HMF= 020000   	MA.DA = 000000
CF.HDR= 000020   	DF$LNK= 004000   	FE.PKT= 000100   	LF.HSF= 010000   	MA.IL = 000020
CF.LB = 100000   	DF$REM= 010000   	FE.PLA= 000020   	LF.INR= 000100   	MC.CC = 000040
CF.SOM= 000010   	DF$RES= 002000   	FS.AST= 000000   	LF.INT= 000400   	MC.CI = 000020
CF.SYN= 000040   	DF$TMP= 100000   	FS.CIB= 002000   	LF.LCL= 040000   	MC.DC = 000100
CF.TRN= 000100   	D$CHN   000002   	FS.CRA= 001000   	LF.MMF= 100000   	MC.DI = 000060
CHKNMS= ****** GX	D$FLG   000000   	FS.DIS= 013000   	LF.MSF= 040000   	MC.NO = 000000
CHKUSR= ****** GX	D$LEN   000014   	FS.DVC= 001000   	LF.NKR= 000200   	MC.ST = 000120
CL$ACK= 000040   	D$LNG   000005   	FS.ENB= 012000   	LF.NKS= 000400   	MD.BM = 000040
CL$MFL= 000010   	D$NAM   000006   	FS.GET= 006000   	LF.NPN= 000001   	MD.EM = 000100
CL$NRM= 000020   	D$USE   000004   	FS.INI= 000000   	LF.NTS= 002000   	MD.ILS= 000040
CL$SFL= 000004   	D$$BUG= 177514   	FS.KIL= 000000   	LF.RSU= 100000   	MD.IM = 000020
CL$TYP= 000001   	D$$ISK= 000000   	FS.LTM= 001000   	LS.DLS= 000200   	MF.ACK= 000004
CL.MU1= 000001   	D$$L11= 000001   	FS.MNT= 004000   	LS.FCC= 000004   	MF.CTL= 000010
CL.MU2= 000002   	D$$YNC= 000000   	FS.MSN= 014000   	LS.FC0= 000001   	MF.DAT= 000000
CL.RES= 177774   	D$$YNM= 000000   	FS.RNG= 011000   	LS.FC1= 000002   	MPAR  = 172100
CMODE = 140000   	ER$ABO= 000046   	FS.RTN= 001000   	LS.ILS= 000200   	MPCSR = 177746
CS.ABO= 000100   	ER$ABT= 000011   	FS.SET= 005000   	LS.MAK= 000020   	MSGHDR= 000007
CS.BUF= 000200   	ER$ACC= 000042   	FS.STM= 000000   	LS.MNK= 000040   	M$$CRB= 000124
CS.DCR= 000400   	ER$ACT= 000044   	FS.STP= 002000   	LS.RES= 000360   	M$$CRX= 000000
CS.DEV= 000002   	ER$CDI= 000052   	FS.STR= 001000   	LS.RSV= 000300   	M$$FCS= 000000
CS.DIS= 000040   	ER$COM= 000047   	FS.TRM= 003000   	L$$ASG= 000000   	M$$MGE= 000000
CS.ENB= 000020   	ER$FCF= 000050   	FS.XKL= 002000   	L$$DRV= 000000   	M$$OVR= 000000
CS.EOF= 000001   	ER$FMT= 000005   	FS.XOF= 010000   	L$$P11= 000001   	NC.FM0= 000000
CS.ERR= 100000   	ER$GEN= 000007   	FS.XON= 007000   	L$$11R= 000000   	NC.FM1= 000001
CS.HFE= 002000   	ER$IFC= 000030   	F$$LVL= 000001   	L.CIQ   000026   	NC.FM2= 000002
CS.LST= 040000   	ER$ILS= 000043   	GETLNK= ****** GX	L.DCR   000036   	NETTIM= 000005
CS.MTL= 004000   	ER$IMG= 000053   	G$$TPP= 000000   	L.FLG   000012   	NE.ABO= 177776
CS.RNG= 000010   	ER$MLB= 000006   	G$$TSS= 000000   	L.LDA   000024   	NE.ACT= 177771
CS.ROV= 000004   	ER$NOD= 000002   	G$$TTK= 000000   	L.LIA   000026   	NE.CLS= 177767
CS.RSN= 010000   	ER$NSD= 000003   	G$$WRD= 000000   	L.LLA   000002   	NE.DIS= 177777
CS.SUC= 000001   	ER$RES= 000001   	I$$RAR= 000000   	L.LNG1  000054   	NE.FMT= 177770
CS.TMO= 020000   	ER$SSR= 000000   	I$$RDN= 000000   	L.LNO   000022   	NE.NDT= 177766
C$$CKP= 000000   	ER$SSS= 000045   	KDSAR0= 172360   	L.LSA   000032   	NE.NOD= 177774
C$$ORE= 000400   	ER$STA= 000051   	KDSDR0= 172320   	L.LSF   000044   	NE.REJ= 177775
NSPXM	MACRO M1110  13-OCT-79 10:07  PAGE 12-2
SYMBOL TABLE

NE.RES= 177773   	NT$XON= 000016   	N.PASL  000102   	P$LEN   000014   	S$LEN   000040
NE.TIM= 177772   	NT.ACK= 000001   	N.PASS  000104   	P$LST   000000   	S$LNK   000022
NI.FLI= 000002   	NT.BOM= 000040   	N.RQDL  000060   	P$NOD   000010   	S$MLK   000024
NI.FRI= 000004   	NT.EOM= 000100   	N.RQID  000062   	P$PFQ   000006   	S$NKS   000010
NI.FRT= 000001   	NT.FCN= 037400   	N.RSRV= 000030   	P$TIM   000003   	S$RES   000014
NI.FUB= 000010   	NT.MD1= 000420   	N.SDL1  000036   	P$$P45= 000000   	S$SEC   000000
NI.INI= 000001   	NT.MFL= 000002   	N.SDL2  000042   	P$$WRD= 000000   	S$SNI   000016
NI.RLI= 000002   	NT.MOD= 000020   	N.SDS1  000040   	Q$$OPT= 000010   	S$UMR   000004
NI.RRI= 000004   	NT.MOM= 000000   	N.SDS2  000056   	RETUSR= ****** GX	S$UMS   000002
NI.RVE= 000001   	NT.NAK= 000002   	N.SEG   000006   	RF.CLN= 000000   	S$UNI   000020
NI.VER= 000002   	NT.NFL= 000000   	N.SFMT  000034   	RF.CTL= 000003   	S$$WRG= 000000
NP$RTR= 000003   	NT.SFL= 000001   	N.SGRP  000036   	RF.TIM= 177400   	S$$YSZ= 007600
NS.BOM= 000040   	NT.SOL= 000140   	N.SOBJ  000035   	RF.TM0= 000400   	TPS   = 177564
NS.EOM= 000100   	NT.XOF= 000004   	N.SUSR  000040   	RF.WTD= 000020   	T$$KMG= 000000
NS.MFL= 000003   	NT.XON= 000010   	PF$EIP= 000100   	RF.WTM= 000030   	T$$MIN= 000000
NS.MOM= 000000   	N$ACQ   000000   	PF$ENB= 000200   	RF.WTS= 000010   	UBMPR = 170200
NS.NFL= 000001   	N$ICF   000006   	PF$OFF= 000000   	RH.CNT= 000001   	UDSAR0= 177660
NS.SET= 000002   	N$LNI   000010   	PF$RLI= 000002   	RH.EFM= 000020   	UDSDR0= 177620
NS.SFL= 000002   	N$LVC   000022   	PF$RRI= 000004   	RH.HDR= 000002   	UISAR0= 177640
NS.SOL= 000140   	N$NOD   000032   	PF$RVE= 000001   	RH.PRI= 000014   	UISAR4= 177650
NS.SUC= 000001   	N$PLD   000026   	PF$RVR= 000040   	RH.PR1= 000004   	UISAR5= 177652
NT$ABO= 000022   	N$STS   000042   	PF$SLI= 000002   	RH.RFM= 000100   	UISAR6= 177654
NT$ACC= 000002   	N$TCB   000004   	PF$SRI= 000004   	R$$DER= 000000   	UISAR7= 177656
NT$ADS= 000000   	N$TMP   000012   	PF$SRT= 000001   	R$$K11= 000001   	UISDR0= 177600
NT$AKD= 000016   	N$VER   000036   	PF$STA= 000003   	R$$SND= 000000   	UISDR4= 177610
NT$AKI= 000020   	N$$DAT= 000030   	PF$SUB= 000010   	R$$11M= 000000   	UISDR5= 177612
NT$CC = 000012   	N$$DIS= 000020   	PF$UP = 000001   	SISDR0= 172200   	UISDR6= 177614
NT$CON= 000000   	N$$INT= 000020   	PIRQ  = 177772   	SNDAKD= ****** GX	UISDR7= 177616
NT$DAT= 000002   	N$$LDV= 000001   	PMODE = 030000   	SNDALT= ****** GX	UNSPWN= ****** GX
NT$DIS= 000010   	N$$MOV= 000010   	PROXMT= ****** GX	SNDCK   000530RG    002	USRDAT  000600RG    002
NT$IDC= 000034   	N$$OPT= 000020   	PR0   = 000000   	SNDLS = ****** GX	USRINT  000000RG    002
NT$IDN= 000030   	N$$OVR= 000042   	PR1   = 000040   	SNILS = ****** GX	USRMOD  001200RG    002
NT$ILN= 000032   	N$$SYS= 000001   	PR4   = 000200   	SR0   = 177572   	USRQRY  001076RG    002
NT$IND= 000024   	N$$USR= 000001   	PR5   = 000240   	SR3   = 172516   	USRRCI  000460RG    002
NT$INL= 000026   	N.ACNT  000116   	PR6   = 000300   	ST$CC = 000002   	USRRCV  000230RG    002
NT$INT= 000004   	N.ACTL  000114   	PR7   = 000340   	ST$CIR= 000003   	USRXOF  001266RG    002
NT$LS = 000014   	N.DDL1  000012   	PS    = 177776   	ST$CIS= 000001   	USRXON  001274RG    002
NT$MOD= 000012   	N.DDL2  000016   	PS$NTI= 000003   	ST$DAT= 000005   	VF$RCV= 100000
NT$NAK= 000022   	N.DDS1  000014   	PS$OFF= 000000   	ST$DID= 000015   	VF$XMT= 040000
NT$OFF= 000026   	N.DDS2  000020   	PS$STR= 000001   	ST$DIP= 000006   	V$FLG   000000
NT$ON = 000002   	N.DFMT  000010   	PS$UP = 000005   	ST$DIR= 000012   	V$LEN   000022
NT$QRY= 000014   	N.DGRP  000012   	PS$VER= 000004   	ST$DIS= 000014   	V$RCV   000002
NT$REJ= 000004   	N.DOBJ  000011   	PS$WT = 000002   	ST$UDI= 000013   	V$XMT   000012
NT$ROU= 000022   	N.DUSR  000014   	P$CHN   000004   	ST$UNR= 000011   	V$$CTR= 001000
NT$RTI= 000010   	N.LGTH= 000160   	P$CNT   000005   	SWR   = 177570   	WINDOW= 004000
NT$RTN= 000000   	N.NODE  000000   	P$FRQ   000012   	SYSMOD  001214RG    002	X$$DBT= 000000
NT$SNG= 000006   	N.OPDL  000136   	P$FSP   000013   	S$EMR   000006   	$CCBRT= ****** GX
NT$STP= 000004   	N.OPTD  000140   	P$LCD   000002   	S$FMT   000012   	$NSDDB= ****** GX
NT$XOF= 000020

. ABS.	000160	   000
      	000000	   001
NSPXM 	001354	   002
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  18447 WORDS  ( 73 PAGES)
DYNAMIC MEMORY:  19564 WORDS  ( 75 PAGES)
ELAPSED TIME:  00:00:50
NSPXM	MACRO M1110  13-OCT-79 10:07  PAGE 12-3
SYMBOL TABLE

NSPXM,[131,34]NSPXM/CR/-SP=[130,10]NETLIB/ML,RSXMC4/PA:1,[131,10]NSPXM
NSPXM      CREATED BY  MACRO  ON 13-OCT-79 AT 10:08	PAGE 1

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

ACKMAS	= 170000	 5-171     
ADDQUE	= ******  GX	 9-398     
BINPUT	= ******  GX	 5-172      5-174      5-176      9-366      9-376      9-378      9-380     
BLDINT	  000126 R	 4-116     #5-165     
CHKNMS	= ******  GX	 6-216     
CHKUSR	= ******  GX	 4-108      6-203      7-282      9-356      10-430     11-500     12-539    
C.BUF 	  000014	 5-166      5-167     *5-178      6-253      9-357      9-358     *9-384     
C.BUF2	  000024	*5-168      5-179     *9-359      9-385     
C.CNT 	  000020	*5-180     *9-386     
C.FLG 	  000022	 7-290     
C.LIN 	  000006	*7-293     
C.MOD 	  000011	*6-204     *7-283     
C.NSP 	  000004	 6-205      6-218     *7-290     *10-435    *10-436     11-504    
C.RSV 	  000002	*4-115     
C.STS 	  000012	 6-213      6-219      6-236      9-381      9-409     
GETLNK	= ******  GX	 8-324      11-483    
KISAR6	= 172354	*5-166     *9-357     
LA.ACK	= 100000	 6-228     
LA.MSK	= 170000	 6-223      9-365      9-375     
LA.NAK	= 110000	 6-224     
LA.NMS	= 010000	 9-369     
LF.DFL	= 000060	 6-241      12-543    
LF.DSP	= 000040	 6-244      12-533    
LF.DST	= 000020	 6-246      12-537    
LF.HF0	= 001000	 8-327     
LF.HMF	= 020000	 8-329      9-407      10-442    
LF.HSF	= 010000	 8-329      9-405      10-437    
LF.LCL	= 040000	 7-291     
LF.NKR	= 000200	 8-327     
L.FLG 	  000012	*6-241     *6-244     *6-246      8-327      8-329      9-405      9-407      10-437     10-442    
                        *12-543    *12-544    
L.LLA 	  000002	 5-173      9-377     
L.LSF 	  000044	*6-250     *7-284     *11-484    *11-507    
L.NIN 	  000016	 5-169     *5-170     *5-171     
L.NXN 	  000014	 9-362     *9-364     *9-365     
L.PDV 	  000041	 4-135      6-208      6-234      9-393      10-447     12-550    
L.RLA 	  000010	 5-175      9-379     
L.RNO 	  000020	*6-221     
L.TC  	  000042	 8-331     *9-411      10-436    
L.TIC 	  000043	 4-112     *4-114     
L.TIPD	  000005	*9-413     
L.TIPI	  000004	*4-123     
L.USA 	  000030	 6-215     *6-229      9-367     *9-375     
L.XQ1 	  000046	 9-397     
MD.BM 	= 000040	 9-382     
MD.EM 	= 000100	 9-382     
MD.ILS	= 000040	 5-177     
MD.IM 	= 000020	 5-177     
MF.DAT	= 000000	 5-177      9-383     
M$$MGE	= 000000	 5-166      9-357     
NE.ABO	= 177776	 4-128      10-431     11-501     12-540    
NE.NDT	= 177766	 4-131     
NSPXM      CREATED BY  MACRO  ON 13-OCT-79 AT 10:08	PAGE 2

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

NE.TIM	= 177772	 4-111     
NS.MFL	= 000003	 10-444    
NS.NFL	= 000001	 10-434    
NS.SFL	= 000002	 10-439    
NS.SUC	= 000001	 11-510     12-547    
NT$DAT	= 000002	 6-204     
NT$INT	= 000004	 7-283     
NT.ACK	= 000001	 6-213     
NT.EOM	= 000100	 9-409     
NT.FCN	= 037400	 6-249     
NT.MOD	= 000020	 6-237      6-247     
NT.NAK	= 000002	 6-213      6-219     
NT.XOF	= 000004	 6-237      6-239     
NT.XON	= 000010	 6-237      6-239      6-242     
N$STS 	  000042	 4-118      9-361     
N$$SYS	= 000001	 3-75       4-127      4-134      4-142      6-207      6-212      9-391      10-427     10-446    
                         10-451     11-487     12-529     12-549     12-554    
N$$USR	= 000001	 3-75       4-134      6-207      9-392      10-446     12-549    
PROXMT	= ******  GX	 9-399     
RETUSR	= ******  GX	 4-143      10-452     11-511     12-555    
SNDAKD	= ******  GX	 6-230     
SNDALT	= ******  GX	 4-124      9-414     
SNDCK 	  000530 RG	#8-324     
SNDLS 	= ******  GX	 6-251      11-485     11-509     12-545    
SNILS 	= ******  GX	 7-285     
ST$DAT	= 000005	 4-109      8-325     
ST$DIP	= 000006	 4-129      10-432     11-502     12-541    
SYSMOD	  001214 RG	#11-500    
S$NKS 	  000010	*9-371     *9-373     
S$UMS 	  000002	*4-119     *4-121     *9-387     *9-389     
UNSPWN	= ******  GX	 7-294     
USRDAT	  000600 RG	#9-356     
USRINT	  000000 RG	#4-108     
USRMOD	  001200 RG	#11-483    
USRQRY	  001076 RG	#10-429    
USRRCI	  000460 RG	#7-281     
USRRCV	  000230 RG	#6-203     
USRXOF	  001266 RG	#12-532    
USRXON	  001274 RG	#12-536    
$CCBRT	= ******  GX	 6-255     
$NSDDB	= ******  GX	 4-117      9-360     
NSPXM      CREATED BY  MACRO  ON 13-OCT-79 AT 10:08	PAGE 3

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

CALL  		 4-108      4-116      5-172      5-174      5-176      6-203      6-216      6-230      6-251      7-282     
                 7-285      8-324      9-356      9-366      9-376      9-378      9-380      9-398      9-399      9-414     
                 10-430     10-452     11-483     11-500     11-509     11-511     12-539     12-545     12-555    
CALLR 		#4-124     #4-143     #6-255     #7-294     #11-485    
CCBDF$		#3-70       3-71      
HWDDF$		#5-166      5-166     #9-357      9-357     
MAP   		#3-69      #5-166     #9-357     
NSPSY$		#3-70       3-72      
RESRG 		#3-69      
RETURN		 4-140      5-181      8-334      8-337      9-416      10-455     11-513     12-558    
SAVRG 		#3-69