Google
 

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

     4-   81	ACKNSP
     6-  288	ENTDAT
     7-  324	NAKNSP
     8-  374	NAKUSR                                                          ;AP0005
     9-  415	NOTUSR
    10-  470	PROXMT                                                          ;AP0003
    11-  535	RETLS
    12-  566	SHIFTQ
    13-  601	REQUE
    14-  636	ADJUST
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 3


      1						.IIF DF N$$ICF,  .TITLE	NSPSI
      2						.IIF NDF N$$ICF, .TITLE NSPSB
      3						.IDENT	/X01.08/
      4
      5					;
      6					; COPYRIGHT (C) 1978 BY
      7					; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
      8					;
      9					;
     10					; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
     11					; ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
     12					; INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER
     13					; COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
     14					; OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
     15					; TRANSFERRED.
     16					;
     17					; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE
     18					; AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT
     19					; CORPORATION.
     20					;
     21					; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS
     22					; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
     23					;
     24					;
     25					; MODULE DESCRIPTION:
     26					;
     27					;	NSP SUBROUTINES (DRIVER)
     28					;
     29					;
     30					; DISTRIBUTED SYSTEMS SOFTWARE ENGINEERING
     31					;
     32					; IDENT HISTORY:
     33					;
     34					; 1.00	10-FEB-78
     35					;	VERSION 2.0 RELEASE
     36					;
     37					; MODIFICATIONS
     38					;	LW0001	3-MAY-78  LEE WEBBER
     39					;		ENHANCEMENT OF SYSTEM INTERFACE SUPPORT
     40					;	AP0002	21-DEC-77 ALAN D. PECKHAM
     41					;		CORRECTIONS TO ENABLE SYSTEM INTERFACE
     42					;	AP0003	21-DEC-77 ALAN D. PECKHAM
     43					;		ADDED PROXMT ROUTINE FOR SYSTEM INTERFACE.
     44					;	AP0004	20-MAR-78 ALAN D. PECKHAM
     45					;		CALLERS OF "NOTUSR" MUST HAVE 'LSFLAGS' IN R2
     46					;		ALSO CHANGE CCB ALLOCATION CALL
     47					;	AP0005	8-JUN-78  ALAN D. PECKHAM
     48					;		ADD RESOURCE RECOVERY TO NOTUSR
     49					;		ADD NAKUSR ROUTINE FOR SYSTEM USER NAK COMPLETES
     50					;	LW0006	31-JUL-78 LELAND D. WEBBER
     51					;		MODIFY SYSTEM INTERFACE ROUTINES NOTUSR AND PROXMT
     52					;		TO HANDLE FLOW CONTROL BETTER
     53					;	AP0007	24-OCT-78 ALAN D. PECKHAM
     54					;		FLUSH TRANSMIT QUEUES ON DIP LINK WHEN NO TRANSMITS PENDING.
     55					;		MODIFY PSDAT TO RETURN THE PROPER BUFFER ADDRESS.
     56					;	AP0008	22-MAY-79 ALAN D. PECKHAM
     57					;		FIX MISCOUNT IN ACKNSP FOR INTERCEPT I/LS ACK.
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 3-1


     58
     59					;
     60					; EXTERNAL MACRO DEFINTIONS
     61					;
     62
     63						.MCALL	SAVMAP,MAP,RESMAP
     64						.MCALL	SAVRG,RESRG
     65						.MCALL	$QDLC,$QLLC
     66						.MCALL	$MVTBF,$MVFBF
     67						.MCALL	CCBDF$,NSPSY$
     68	000000					CCBDF$
     69	000000					NSPSY$
     70
     71
     72
     73						.IF NDF	N$$SYS&N$$USR
     74						N$$SYS=1		;IF NEITHER INTERFACE IS SPECIFED
     75									;THEN DEFAULT TO SYSTEM INTERFACE
     76						.ENDC
     77
     78
     79	000000					.PSECT	NSPSB
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 4
ACKNSP

     81						.SBTTL ACKNSP
     82					;++
     83					;
     84
     85					; ACKNSP
     86
     87					; INPUTS:
     88					;	R5=CCB
     89					;	R3=COUNT OF CCBS TO BE POPED
     90					;	R2=MSGFLG
     91					;	R0=LLT
     92
     93
     94					; OUTPUTS:
     95
     96					; CALLING SEQUENCE:
     97
     98					;	THIS ROUTINE WILL ACK ALL DATA OR INTERRUPT/LINK SERVICE
     99					;	MESSAGES ON L.XQ2 OR L.XQ3.
    100					;--
    101
    102	000000	004567 	000000G		ACKNSP::JSR	R5,$REGSV	; SAVE ALL REGISTERS  (CO-ROUTINE)
    103
    104	000004	032702 	000020 			BIT	#MD.IM,R2	; DATA OR INTERRUPT/LINK SERVICE
    105	000010	001030 				BNE	40$		; INTERRUPT/LINK SERVICE
    106
    107						.IF DF	N$$ICF
    108
    109						BIT	#LF.INT,(R0)	; IS THIS AN INTERCEPT LINK ?
    110						BEQ	10$		; IF EQ, NO
    111						ADD	R3,I.LDA(R0)	; UPDATE LAST DATA SEG ACK'D
    112						BIC	#LA.MSK,I.LDA(R0) ; WRAPAROUND
    113						CLC
    114						BR	90$
    115
    116						.ENDC
    117	000012				10$:				; REFERENCE LABEL
    118						.IF DF	N$$LV2
    119						CLR	L.TIMD(R0)	; CLEAR DATA TIMER AND RETRY COUNT
    120						.ENDC
    121
    122						.IF DF	N$$SYS&N$$USR
    123	000012	105760 	000041 			TSTB	L.PDV(R0)	; SYSTEM OR USER INTERFACE?                     ;AP0002
    124	000016	001013 				BNE	15$		; SYSTEM                                        ;**-1
    125						.ENDC
    126
    127						.IF DF	N$$USR
    128	000020	016002 	000040 			MOV	L.ULA(R0),R2	; GET ULA
    129	000024	066003 	000024 			ADD	L.LDA(R0),R3	; ADD LAST ACKED SEGMENT # TO # OF SEGMENTS ACKED
    130									; TO GET NEW # OF LAST SEGEMENT ACKED
    131	000030	042703 	170000 			BIC	#LA.MSK,R3	; 12 BIT WRAP AROUND
    132	000034	010360 	000024 			MOV	R3,L.LDA(R0)	; UPDATE LAST ACKED SEGMENT # IN LLT
    133	000040					CALL	$QACK		; CALL QIO INTERFACE ROUTINE FOR ACK RECEIVED
    134									; MUST START TIMER IF UNACK'D SEGMENTS
    135	000044	000423 				BR	85$		; RETURN
    136						.ENDC
    137
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 4-1
ACKNSP

    138						.IF DF	N$$SYS
    139	000046	060360 	000034 		15$:	ADD	R3,L.NDA(R0)	; SAVE NUMBER OF SEGMENTS TO ACKNOWLEDGE
    140	000052	060360 	000024 			ADD	R3,L.LDA(R0)	; UPDATE THE LAST SEGMENT ACKNOWLEDGED
    141	000056	042760 	170000 	000024 		BIC	#LA.MSK,L.LDA(R0) ; CLEAR POSSIBLE WRAP AROUND
    142	000064					CALL	ACKDT1		; ACKNOWLEDGE ALL POSSIBLE SEGMENTS             ;AP0007
    143	000070	000411 				BR	85$		;                                               ;**-1
    144						.ENDC
    145
    146	000072				40$:				; REFERENCE LABEL
    147						.IF DF	N$$ICF
    148
    149						BIT	#LF.INT,(R0)	; IS THIS AN INTERCEPT LINK ?
    150						BEQ	45$		; IF EQ, NO
    151						ADD	R3,I.LIA(R0)	; UPDATE LAST I/LS SEG ACK'D                    ;**-1
    152						BIC	#LA.MSK,I.LIA(R0) ; WRAPAROUND
    153						BR	90$		; RETURN  (C-BIT CLEAR FORM 'ADD')
    154
    155						.ENDC
    156	000072				45$:				; REFERENCE LABEL
    157						.IF DF	N$$LV2
    158						CLR	L.TIML(R0)	; CLEAR INTERRUPT/LINK SERVICE TIMER
    159						.ENDC
    160
    161	000072	060360 	000036 			ADD	R3,L.NLA(R0)	; SAVE NUMBER OF SEGMENTS TO BE ACK'D
    162	000076	060360 	000026 			ADD	R3,L.LIA(R0)	; UPDATE THE LAST I/LS NUMBER ACK'D
    163	000102	042760 	170000 	000026 		BIC	#LA.MSK,L.LIA(R0) ; CLEAR POSSIBLE WRAP AROUND
    164	000110					CALL	ACKIL1		; ACK ALL POSSIBLE INTERRUPT AND LS SEGMENTS    ;AP0007
    165	000114	000241 			85$:	CLC                                                                     ;**-1
    166
    167	000116				90$:	RETURN			; RESTORE REGISTERS AND RETURN
    168
    169					;
    170					; POST COMPLETION ON ALL ACKNOWLEDGED DATA SEGMENTS
    171					;
    172						.IF DF	N$$SYS
    173	000120				ACKDAT::			; REFERENCE LABEL
    174	000120	122710 	000006 			CMPB	#ST$DIP,(R0)	; IF IN DIP STATE                               ;AP0007
    175	000124	001002 				BNE	ACKDT1		; THEN                                          ;AP0007
    176	000126					CALLR	REMSYS		; FLUSH THE TRANSMIT QUEUES.                    ;AP0007
    177	000132				ACKDT1:                                                                         ;AP0007
    178	000132	005760 	000034 		10$:	TST	L.NDA(R0)	; ANY SEGMENTS TO ACKNOWLEDGE ?
    179	000136	001413 				BEQ	20$		; IF EQ, NO - EXIT
    180	000140	010003 				MOV	R0,R3		; COMPUTE THE ADDRESS OF THE WAIT FOR ACK QUEUE
    181	000142	062703 	000050 			ADD	#L.XQ2,R3	; ...
    182	000146					CALL	POPQUE		; DEQUEUE ANOTHER SEGMENT
    183	000152	103405 				BCS	20$		; IF CS, NO MORE ON THE QUEUE
    184	000154	005360 	000034 			DEC	L.NDA(R0)	; DECREMENT THE NUMBER OF SEGMENTS TO BE ACK'D
    185	000160					CALL	PSDAT		; RETURN SEGMENT TO THE USER
    186	000164	000762 				BR	10$		; TRY FOR ANOTHER
    187
    188	000166				20$:
    189						.IF DF	N$$LV2
    190						CALL	STRTMD		; CONDITIONALLY START THE DATA TIMER
    191						.ENDC
    192	000166					RETURN			; RETURN TO CALLER
    193						.ENDC
    194
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 4-2
ACKNSP

    195					;
    196					; POST COMPLETEION ON ALL ACKNOWLEDGED I/LS MESSAGES
    197					;
    198
    199	000170				ACKILS::			; REFERENCE LABEL
    200						.IF DF	N$$SYS                                                          ;AP0007
    201						.IF DF	N$$USR                                                          ;AP0007
    202	000170	105760 	000041 			TSTB	L.PDV(R0)	; SYSTEM OR USER INTERFACE?                     ;AP0007
    203	000174	001405 				BEQ	ACKIL1		; IF SYSTEM,                                    ;AP0007
    204						.ENDC                                                                   ;AP0007
    205	000176	122710 	000006 			CMPB	#ST$DIP,(R0)	; AND LINK IS DISCONNECTING                     ;AP0007
    206	000202	001002 				BNE	ACKIL1		; THEN                                          ;AP0007
    207	000204					CALLR	REMSYS		; FLUSH THE TRANSMIT QUEUES.                    ;AP0007
    208						.ENDC                                                                   ;AP0007
    209	000210				ACKIL1:                                                                         ;AP0007
    210	000210	005760 	000036 		50$:	TST	L.NLA(R0)	; ARE THERE ANY I/LS SEGMENTS TO BE ACKED ?
    211	000214	001447 				BEQ	80$		; IF EQ, NO - EXIT
    212	000216	010003 				MOV	R0,R3		; COMPUTE ADDRESS OF I/LS WAIT FOR ACK QUEUE
    213	000220	062703 	000052 			ADD	#L.XQ3,R3	; ...
    214	000224					CALL	POPQUE		; DEQUEUE A SEGMENT
    215	000230	103441 				BCS	80$		; IF CS, NO MORE SEGMENTS
    216	000232	005360 	000036 			DEC	L.NLA(R0)	; DECREMENT THE NUMBER OF OF SEGMENTS TO ACK
    217	000236	116501 	000002 			MOVB	C.RSV(R5),R1	; GET THE I/LS IDENTIFIER CODE
    218	000242	001420 				BEQ	60$		; IF EQ, THIS IS AN INTERRRUPT MESSAGE
    219	000244					CALL	RLSSMS		; OTHERWISE, IT'S JUST A LINK SERVICE MESSAGE
    220	000250	005301 				DEC	R1		; IS THIS AN LS FOR DATA OR INTERRUPT ?
    221	000252	001006 				BNE	55$		; IF NE, IT IS FOR AN INTERRUPT REQUEST COUNT
    222	000254	142760 	000200 	000045 		BICB	#LS.DLS,L.LSF+1(R0) ; MARK THAT NO DATA LINK SERVICE IS OUTSTANDING
    223	000262					CALL	SNDLS		; SEND A LINK SERVICE FOR ANY ACCUMULATED REQUEST COUNTS
    224	000266	000750 				BR	50$		; TRY AGAIN
    225
    226	000270				55$:				;
    227	000270	042760 	000200 	000044 		BIC	#LS.ILS,L.LSF(R0) ; MARK THAT NO INTERRUPT LS IS OUTSTANDING
    228	000276					CALL	SNILS		; SEND A LINK SERVICE FOR ANY ACCUMULATED REQUEST COUNTS
    229	000302	000742 				BR	50$		; TRY AGAIN
    230
    231	000304				60$:				; REFERENCE LABEL
    232						.IF DF	N$$SYS&N$$USR
    233	000304	105760 	000041 			TSTB	L.PDV(R0)	; SYSTEM OR USER INTERFACE?
    234	000310	001006 				BNE	70$		; SYSTEM
    235						.ENDC
    236
    237						.IF DF	N$$USR
    238	000312	016065 	000040 	000006 		MOV	L.ULA(R0),C.LIN(R5) ; STORE ULA
    239	000320					CALL	$QXCP		; CALL QIO INTERFACE ROUTINE FOR XMIT
    240									; COMPLETE OF INTERRUPT MESSAGE
    241	000324	000731 				BR	50$
    242						.ENDC
    243
    244						.IF DF	N$$SYS
    245	000326				70$:	CALL	PSDAT		; RETURN INTERRUPT MESSAGE TO THE USER
    246	000332	000726 				BR	50$		; TRY AGAIN
    247						.ENDC
    248	000334				80$:				; REFERENCE LABEL
    249						.IF DF	N$$LV2
    250						CALL	STRTML		; START I/LS TIMER
    251						.ENDC
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 4-3
ACKNSP

    252	000334					RETURN			; RETURN TO CALLER
    253
    254					;
    255					; ADJUST MESSAGE POINTERS AND POST COMPLETION TO THE USER
    256					;
    257						.IF DF	N$$SYS
    258	000336	012704 	000001 		PSDAT:	MOV	#NS.SUC,R4
    259	000342					CALL	REMHDR		; RESET THE BUFFER ADDRESS AND                  ;AP0007
    260	000346					CALLR	RETUSR		; RETURN RESOURCE WITH SUCESS CODE TO THE USER  ;**-3
    261						.ENDC
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 5
ACKNSP

    263					;+
    264					; **-DESLNK-INITIATE THE DESTRUCTION OF A LOGICAL LINK
    265					;
    266					; THIS ROUTINE IS CALLED FROM WITHIN THE DRIVER TO INITIATE THE
    267					; DESTRUCTION OF A LOGICAL LINK.  TYPICALLY THIS IS A RESULT OF
    268					; DETECTING INVALID PARAMETERS IN A RECEIVED MESSAGE.
    269					;
    270					; INPUTS:
    271					;
    272					;	R0 = ADDRESS OF THE LOGICAL LINK TABLE
    273					;	R3 = DISCONNECT REASON CODE
    274					;
    275					; OUTPUTS:
    276					;
    277					;	THE LOGICAL LINK IS MARKED FOR DISCONNECT AND THE REASON CODE
    278					;	IS SAVED IN THE LLT.  THE ACTUAL DISCONNECT OPERATION IS
    279					;	INITIATED BY THE ACP.
    280					;
    281					;-
    282
    283	000352	112710 	000006 		DESLNK::MOVB	#ST$DIP,(R0)	; SET MAJOR DISCONNECT STATE
    284	000356	012760 	006411 	000024 		MOV	#ST$DID*400!ST$UNR,L.USTA(R0) ; SET INITIAL SUSTATES
    285	000364	010360 	000036 			MOV	R3,L.DCR(R0)	; SET ABORT REASON CODE
    286	000370					RETURN			; RETURN TO CALLER
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 6
ENTDAT

    288						.SBTTL	ENTDAT
    289					;+
    290					; **-ENTDAT-PUT LOGICAL LINK IN DATA STATE
    291					;
    292					; INPUTS:
    293					;
    294					;	R0 = ADDRESS OF THE LOGICAL LINK TABLE
    295					;
    296					; OUTPUTS:
    297					;
    298					;	THE LOGICAL LINK STATE IS SET TO DATA, THE INTERRUPT FLOW
    299					;	COUNT IS PRIMED TO ONE, A LINK SERVICE IS SENT FOR ANY
    300					;	ACCUMULATED REQUEST COUNTS AND THE USER INTERFACE IS NOTIFIED
    301					;	THAT TRANSMISSION CAN BE INITIATED.
    302					;
    303					; REGISTERS MODIFIED:
    304					;
    305					;	NONE
    306					;
    307					;-
    308
    309	000372	112710 	000005 		ENTDAT::MOVB	#ST$DAT,(R0)	; SET LINK STATE TO DATA
    310	000376	105260 	000043 			INCB	L.TIC(R0)	; INITIAL VALUE FOR INTERRUPT COUNT
    311	000402					CALL	SNDLS		; SEND ANY ACCUMULATED REQUEST COUNTS
    312					                                                                                ;AP0004
    313						.IF DF N$$SYS&N$$USR                                                    ;AP0004
    314	000406	105760 	000041 			TSTB	L.PDV(R0)	;SYSTEM OR USER INTERFACE?                      ;AP0004
    315	000412	001004 				BNE	40$		;SYSTEM                                         ;AP0004
    316						.IFTF                                                                   ;AP0004
    317					                                                                                ;AP0004
    318	000414	016003 	000040 			MOV	L.ULA(R0),R3	; GET USER LINK ADDRESS
    319	000420					CALL	$QIFC		; NOTIFY INTERFACE THAT INTERRUPTS ARE UNBLOCKED
    320						.ENDC                                                                   ;AP0005
    321					                                                                                ;AP0005
    322	000424				40$:	CALLR	NOTUSR		;INDICATE THAT TRANSMISSION MIGHT BE POSSIBLE   ;AP0005
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 7
NAKNSP

    324						.SBTTL NAKNSP
    325					;++
    326					;
    327
    328					; NAKNSP
    329
    330					; INPUTS:
    331					;	R0=LLT
    332
    333					; OUTPUTS:
    334
    335					; CALLING SEQUENCE:
    336
    337					;	THIS ROUTINE PROCESSES A NEGATIVE ACKNOWLEDGEMENT.
    338					;--
    339
    340	000430				NAKNSP::
    341						.IF DF	N$$SYS&N$$USR
    342	000430	105760 	000041 			TSTB	L.PDV(R0)	;SYSTEM OR USER INTERFACE?                      ;AP0002
    343	000434	001041 				BNE	40$		; SYSTEM                                        ;LW0001
    344						.ENDC                                                                   ;**-2
    345
    346						.IF DF	N$$USR
    347	000436	042760 	000200 	000012 		BIC	#LF.NKR,L.FLG(R0) ; CLEAR DELAYED NAK MARKER
    348	000444	016002 	000040 			MOV	L.ULA(R0),R2	; GET ULA
    349	000450					CALL	$QNAK		; CALL QIO INTERFACE ROUTINE FOR NAK RECEIVED
    350	000454	016001 	000014 			MOV	L.NXN(R0),R1	; GET SEGMENT NUMBER FOR NEXT TRANSMISSION
    351	000460	016002 	000024 			MOV	L.LDA(R0),R2	; GET SEGMENT NUMBER OF LAST ACK'D SEGMENT
    352	000464	032760 	020000 	000012 		BIT	#LF.HMF,L.FLG(R0) ; IS THE LINK MESSAGE FLOW CONTROLLED ?
    353	000472	001012 				BNE	20$		; IF NE, YES - ADJUSTMENT COMPUTED BY '$QNAK'
    354	000474	032760 	010000 	000012 		BIT	#LF.HSF,L.FLG(R0) ; IS THE LINK SEGMENT FLOW CONTROLLED ?
    355	000502	001410 				BEQ	30$		; IF EQ, NO FLOW CONTROL - DON'T MODIFY COUNTS
    356	000504	160201 				SUB	R2,R1		; OTHERWISE, ADJUSTMENT TO SEGMENT COUNT NEEDS
    357	000506	100002 				BPL	10$		; ...TO BE COMPUTED
    358	000510	062701 	010000 			ADD	#LA.NMS,R1	; ADJUST FOR WRAP AROUND
    359	000514	005301 			10$:	DEC	R1		; COUNT IS ONE LESS THAN THE DIFFERRENCE
    360	000516	010103 				MOV	R1,R3		; COPY THE SEGMENT COUNT ADJUSTMENT
    361	000520	060360 	000042 		20$:	ADD	R3,L.TC(R0)	; MAKE ADJUSTMENT TO FLOW CONTROL COUNT
    362	000524	005202 			30$:	INC	R2		; RESET SEGMENT NUMBER FOR RETRANSMISSION
    363	000526	042702 	170000 			BIC	#LA.MSK,R2	; ...
    364	000532	010260 	000014 			MOV	R2,L.NXN(R0)	; RESET NEXT SEGMENT NUMBER TO BE TRANSMITTED
    365	000536	000404 				BR	50$		; GO CALL NOTUSR                                ;LW0001
    366						.ENDC                                                                   ;**-1
    367
    368						.IF DF	N$$SYS
    369	000540				40$:	CALL	SHIFTQ		; SHIFT XQ2 TO FRONT OF XQ1 AND                 ;LW0001
    370	000544					CALL	PROXMT		; THEN RETRANSMIT                               ;**-1
    371						.ENDC                                                                   ;AP0005
    372	000550				50$:	CALLR	NOTUSR		; ATTEMPT TO INITIATE TRANSMISSION              ;AP0005
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 8
NAKUSR

    374						.SBTTL	NAKUSR                                                          ;AP0005
    375					;+                                                                              ;AP0005
    376					;                                                                               ;AP0005
    377					; NAKUSR                                                                        ;AP0005
    378					;                                                                               ;AP0005
    379					; INPUTS:                                                                       ;AP0005
    380					;	R0=LLT                                                                  ;AP0005
    381					;                                                                               ;AP0005
    382					; OUTPUTS:                                                                      ;AP0005
    383					;                                                                               ;AP0005
    384					; CALLING SEQUENCE:                                                             ;AP0005
    385					;                                                                               ;AP0005
    386					;	THIS ROUTINE WILL POST A NAK COMPLETE TO A SYSTEM USER                  ;AP0005
    387					;-                                                                              ;AP0005
    388					                                                                                ;AP0005
    389						.IF DF	N$$SYS                                                          ;AP0005
    390	000554				NAKUSR::                                                                        ;AP0005
    391						.IF DF	N$$SYS&N$$USR                                                   ;AP0005
    392	000554	105760 	000041 			TSTB	L.PDV(R0)	; SYSTEM OR USER INTERFACE ?                    ;AP0005
    393	000560	001432 				BEQ	90$		; IF EQ, USER                                   ;AP0005
    394						.ENDC                                                                   ;AP0005
    395					                                                                                ;AP0005
    396	000562					SAVRG	<R4,R5>                                                         ;AP0005
    397	000566	052760 	000001 	000012 		BIS	#LF.NPN,L.FLG(R0) ; INDICATE NAK COMPLETE PENDING               ;AP0005
    398	000574					CALL	$CCBGT		; GET A CCB                                     ;AP0005
    399	000600	103005 				BCC	10$		; IF COULDN'T GET ONE                           ;AP0005
    400	000602					CALL	CTRES		; COUNT THE RESOURCE ERROR                      ;AP0005
    401	000606	052710 	100000 			BIS	#LF.RSU,(R0)	; MARK RESOURCE RECOVERY REQUIRED               ;AP0005
    402	000612	000413 				BR	20$		; AND DISAPPEAR.                                ;AP0005
    403					                                                                                ;AP0005
    404	000614	010405 			10$:	MOV	R4,R5		; USE R5/CCB CONVENTION                         ;AP0005
    405	000616	042760 	000001 	000012 		BIC	#LF.NPN,L.FLG(R0) ; CANCEL NAK COMPLETE REQUEST                 ;AP0005
    406	000624	112765 	000022 	000011 		MOVB	#NT$NAK,C.MOD(R5) ; SET FUNCTION SUB-CODE                       ;AP0005
    407	000632	012704 	000001 			MOV	#NS.SUC,R4	; STATUS                                        ;AP0005
    408	000636					CALL	PSTUSR		; AND NOTIFY USER.                              ;AP0005
    409	000642				20$:	RESRG	<R5,R4>		; RESTORE THE REGISTERS                         ;AP0005
    410					                                                                                ;AP0005
    411	000646				90$:	RETURN			; RETURN TO CALLER                              ;AP0005
    412						.ENDC                                                                   ;AP0005
    413					                                                                                ;**-3
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 9
NOTUSR

    415						.SBTTL	NOTUSR
    416					;++
    417					;
    418
    419					; NOTUSR
    420
    421					; INPUTS:
    422					;	R0=LLT                                                                  ;**-1
    423
    424					; OUTPUTS:
    425
    426					; CALLING SEQUENCE:
    427
    428					;	THIS ROUTINE POST A SUCESSFULL COMPLETION OF FLOW OPEN/CLOSED
    429					;--
    430
    431	000650				NOTUSR::
    432						.IF DF	N$$SYS&N$$USR
    433	000650	105760 	000041 			TSTB	L.PDV(R0)	; SYSTEM OR USER INTERFACE ?
    434	000654	001454 				BEQ	30$		; IF EQ, USER
    435						.ENDC
    436
    437						.IF DF	N$$SYS
    438	000656					SAVRG	<R4,R5>
    439	000662	052760 	000010 	000012 		BIS	#LF.FPN,L.FLG(R0) ; INDICATE FLOW NOTIFICATION PENDING          ;AP0005
    440	000670					CALL	$CCBGT		; GET A CCB                                     ;AP0005
    441	000674	103005 				BCC	2$		; IF COULDN'T GET ONE                           ;AP0005
    442	000676					CALL	CTRES		; COUNT THE RESOURCE ERROR                      ;AP0005
    443	000702	052710 	100000 			BIS	#LF.RSU,(R0)	; MARK RESOURCE RECOVERY REQUIRED               ;AP0005
    444	000706	000434 				BR	20$		; AND DISAPPEAR.                                ;AP0005
    445					                                                                                ;AP0005
    446	000710	010405 			2$:	MOV	R4,R5		; USE R5/CCB CONVENTION                         ;AP0005
    447					                                                                                ;**-2
    448	000712	112765 	000016 	000011 		MOVB	#NT$XON,C.MOD(R5) ; FLOW OPEN INDICATION
    449	000720	042760 	000010 	000012 		BIC	#LF.FPN,L.FLG(R0) ; CANCEL FLOW MODIFICATION REQUEST.           ;AP0005
    450	000726	032760 	001000 	000012 		BIT	#LF.HF0,L.FLG(R0) ; IF FLOW CLOSED                              ;AP0005
    451	000734	001007 				BNE	5$		; THEN SEND DATA STOP                           ;AP0005
    452	000736	032760 	030000 	000012 		BIT	#LF.HSF!LF.HMF,L.FLG(R0) ; IF LINK NOT FLOW CONTROLLED          ;AP0005
    453	000744	001407 				BEQ	8$		; THEN LET DATA GO                              ;LW0006
    454	000746	105760 	000042 			TSTB	L.TC(R0)	; OTHERWISE CHECK REQUEST COUNT                 ;AP0005
    455	000752	003004 				BGT	8$		; IF TRANSMITS NOT ALLOWED                      ;LW0006
    456	000754	112765 	000020 	000011 	5$:	MOVB	#NT$XOF,C.MOD(R5) ; FLOW CLOSED INDICATION                      ;AP0005
    457	000762	000402 				BR	10$                                                             ;LW0006
    458	000764				8$:	CALL	PROXMT		;FLOW OPEN - START UP DATA AGAIN                ;LW0006
    459	000770	012704 	000001 		10$:	MOV	#NS.SUC,R4                                                      ;**-3
    460	000774					CALL	PSTUSR		; NOTIFY USER OF FLOW CHANGE
    461	001000				20$:	RESRG	<R5,R4>		; RESTORE THE REGISTERS
    462	001004					RETURN			; RETURN TO CALLER
    463						.ENDC
    464
    465						.IF DF	N$$USR
    466	001006	016003 	000040 		30$:	MOV	L.ULA(R0),R3	;SET UP THE ULA
    467	001012					CALLR	$QBPC		;TELL USER INTERFACE THAT IT MIGHT BE OK TO SEND
    468						.ENDC
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 10
PROXMT

    470						.SBTTL	PROXMT                                                          ;AP0003
    471					;+                                                                              ;AP0003
    472					;  PROXMT                                                                       ;AP0003
    473					;                                                                               ;AP0003
    474					; INPUTS:                                                                       ;AP0003
    475					;	R0=LLT                                                                  ;AP0003
    476					;                                                                               ;AP0003
    477					; NO OUTPUTS                                                                    ;AP0003
    478					;                                                                               ;AP0003
    479					; CALLING SEQUENCE:                                                             ;AP0003
    480					;	CALL	PROXMT                                                          ;AP0003
    481					;                                                                               ;AP0003
    482					;  THIS ROTINE WILL TRANSMIT A DATA MESSAGE                                     ;AP0003
    483					;-                                                                              ;AP0003
    484						.IF DF	N$$SYS                                                          ;AP0003
    485					                                                                                ;AP0003
    486	001016	004567 	000000G		PROXMT::JSR	R5,$REGSV	; SAVE ALL REGISTERS (CO-ROUTINE)               ;AP0003
    487	001022					SAVMAP			; SAVE CURRENT BUFFER MAPPING                   ;AP0003
    488	001026	122760 	000005 	000000 		CMPB	#ST$DAT,L.STA(R0) ; DATA STATE                                  ;AP0003
    489	001034	001057 				BNE	100$		; NO                                            ;AP0003
    490	001036	005002 				CLR	R2		;INITIALIZE FLOW CONTROL FLAG                   ;AP0003
    491					                                                                                ;AP0003
    492					;	.IF	DF	N$$LV2                                                  ;AP0003
    493					;	TST	$LEVEL                                                          ;AP0003
    494					;	BNE	10$		; LEVEL 2                                       ;AP0003
    495					;	BIT	#LF.LIN,L.FLG(R0)                                               ;AP0003
    496					;	BNE	100$                                                            ;AP0003
    497					;	.ENDC                                                                   ;AP0003
    498					                                                                                ;AP0003
    499	001040	032760 	001200 	000012 	10$:	BIT	#LF.HF0!LF.NKR,L.FLG(R0) ; IF HIS FLOW CLOSED OR UNPROCESSED NAK;AP0003
    500	001046	001052 				BNE	100$		; THEN CANNOT SEND                              ;AP0003
    501					                                                                                ;AP0003
    502	001050	032760 	030000 	000012 	20$:	BIT	#LF.HSF!LF.HMF,L.FLG(R0) ; IS HE FLOW CONTROLLED                ;AP0003
    503	001056	001410 				BEQ	40$		; NO                                            ;AP0003
    504	001060	105760 	000042 			TSTB	L.TC(R0)	; YES, CAN WE SEND                              ;AP0003
    505	001064	003005 				BGT	40$		;YES                                            ;LW0006
    506	001066	005702 				TST	R2		;NO - DID WE JUST KILL THE COUNT?               ;LW0006
    507	001070	001441 				BEQ	100$		;NO; IT WAS ZERO WHEN WE CAME IN                ;LW0006
    508	001072					CALL	NOTUSR		;TELL USER THAT FLOW STOPPED                    ;LW0006
    509	001076	000436 				BR	100$                                                            ;LW0006
    510					                                                                                ;AP0003
    511	001100	010003 			40$:	MOV	R0,R3                                                           ;AP0003
    512	001102	062703 	000046 			ADD	#L.XQ1,R3                                                       ;AP0003
    513	001106					CALL	POPQUE		; POP CCB FROM XMT QUEUE                        ;AP0003
    514	001112	103430 				BCS	100$		; EMPTY                                         ;AP0003
    515	001114	005202 				INC	R2		;INDICATE THAT WE SENT SOMETHING                ;LW0006
    516					                                                                                ;AP0003
    517	001116	016501 	000012 			MOV	C.STS(R5),R1	; SAVE USERS FLAGS                              ;AP0003
    518	001122					MAP	C.BUF(R5)	; MAP TO MESSAGE BUFFER                         ;AP0003
    519	001130	105260 	000005 			INCB	L.TIPD(R0)	; BUMP THE DATA TRANSMIT IN PROGRESS COUNT      ;AP0003
    520	001134					CALL	SNDALT		; SEND THE MESSAGE                              ;AP0003
    521	001140	032760 	010000 	000012 		BIT	#LF.HSF,L.FLG(R0) ; IF SEGMENT FLOW CONTROLLED                  ;AP0003
    522	001146	001007 				BNE	80$		; NO                                            ;AP0003
    523	001150	032760 	020000 	000012 		BIT	#LF.HMF,L.FLG(R0) ; IF MESSAGE FLOW CONTROLLED                  ;AP0003
    524	001156	001734 				BEQ	20$                                                             ;AP0003
    525	001160	032701 	000100 			BIT	#NT.EOM,R1	; END OF MESSAGE                                ;AP0003
    526	001164	001731 				BEQ	20$                                                             ;AP0003
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 10-1
PROXMT

    527	001166	105360 	000042 		80$:	DECB	L.TC(R0)	; ADJUST MESSAGE COUNT                          ;AP0003
    528	001172	000726 				BR	20$                                                             ;AP0003
    529					                                                                                ;AP0003
    530	001174	000241 			100$:	CLC			; NEVER ANY ERRORS TO REPORT                    ;AP0003
    531	001176					RESMAP			; RESTORE PREVIOUS BUFFER MAPPING               ;AP0003
    532	001202					RETURN                                                                  ;AP0003
    533						.ENDC                                                                   ;AP0003
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 11
RETLS

    535						.SBTTL RETLS
    536					;++
    537					;
    538
    539					; RETLS
    540
    541					; INPUTS:
    542					;	R0=LLT
    543
    544					; OUTPUTS:
    545
    546					; CALLING SEQUENCE:
    547
    548					;	THIS ROUTINE RETRANSMITS AN I/LS.
    549
    550					;--
    551
    552	001204	042760 	000100 	000012 	RETLS::	BIC	#LF.INR,L.FLG(R0) ; CLEAR DEFERRED PROCESSING FLAG
    553	001212					SAVMAP			; SAVE MAPPING TO MESSAGE BUFFER
    554	001216	010003 			10$:	MOV	R0,R3		; DEQUEUE AN INTERRUPT OR A LINK SERVICE
    555	001220	062703 	000052 			ADD	#L.XQ3,R3	; ...
    556	001224					CALL	POPQUE		; ...
    557	001230	103410 				BCS	20$		; IF CS, NO MORE - EXIT
    558	001232					MAP	C.BUF(R5)	; MAP TO MESSAGE BUFFER
    559	001240	105260 	000004 			INCB	L.TIPI(R0)	; BUMP I/LS TRANSMIT COUNT
    560	001244					CALL	SNDALT		; TRANSMIT THE MESSAGE
    561	001250	000762 				BR	10$		; KEEP GOING
    562
    563	001252				20$:	RESMAP			; RESTORE PREVIOUS BUFFER MAPPING
    564	001256					RETURN			; RETURN TO CALLER
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 12
SHIFTQ

    566						.SBTTL SHIFTQ
    567					;++
    568					;
    569
    570					; SHIFTQ
    571
    572					; INPUTS:
    573					;	R0=LLT
    574
    575					; OUTPUTS:
    576
    577					; CALLING SEQUENCE:
    578
    579					;	THIS ROUTINE SHIFTS _WAITING TO BE ACKED- QUEUE TO
    580					;	THE FRONT OF THE -WAITING TO BE TRANSMITTED- QUEUE
    581					;	AND READJUSTS THE FLOW CONTROL COUNTS .
    582					;--
    583						.IF DF	N$$SYS
    584
    585	001260				SHIFTQ:
    586	001260					SAVRG	<R1>
    587	001262					SAVMAP			;SAVE CURRENT BUFFER MAPPING
    588	001266	016001 	000050 			MOV	L.XQ2(R0),R1
    589	001272	001404 			10$:	BEQ	20$		;YES
    590	001274					CALL	ADJUST		;NO,THEN SHIFT AND ADJUST COUNTS
    591	001300	011101 				MOV	(R1),R1
    592	001302	000773 				BR	10$
    593
    594	001304				20$:	CALL	REQUE		;PUTS XQ2 ONTO FRONT OF XQ1
    595	001310					RESMAP			;RESTORE PREVIOUS BUFFER MAPPING
    596	001314					RESRG	<R1>
    597	001316					RETURN
    598
    599						.ENDC
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 13
REQUE

    601						.SBTTL REQUE
    602					;++
    603					;
    604
    605					; REQUE
    606
    607					; INPUTS:
    608					;	R0=LLT
    609
    610					; OUTPUTS:
    611
    612					; CALLING SEQUENCE:
    613
    614					;	THIS ROUTINE REQUES XQ2 TO FRONT OF XQ1.
    615					;--
    616						.IF DF	N$$SYS
    617
    618	001320				REQUE:
    619	001320					SAVRG	<R3,R5>
    620	001324	010003 			10$:	MOV	R0,R3
    621	001326	062703 	000046 			ADD	#L.XQ1,R3	;POP A CCB FROM -WAITING TO TRANSMIT- QUEUE
    622	001332					CALL	POPQUE
    623	001336	103406 				BCS	20$		;DONE
    624	001340	010003 				MOV	R0,R3
    625	001342	062703 	000050 			ADD	#L.XQ2,R3	;AND PUSH IT ONTO -WAITING TO BE ACKED- QUEUE
    626	001346					CALL	ADDQUE
    627	001352	000764 				BR	10$
    628
    629	001354	016060 	000050 	000046 	20$:	MOV	L.XQ2(R0),L.XQ1(R0) ;THEN READJUST POINTER
    630	001362	005060 	000050 			CLR	L.XQ2(R0)	; AS WELL AS XQ2
    631	001366					RESRG	<R5,R3>
    632	001372					RETURN
    633
    634						.ENDC
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 14
ADJUST

    636						.SBTTL ADJUST
    637					;++
    638					;
    639
    640					; ADJUST
    641
    642					; INPUTS:
    643					;	R0=LLT
    644					;	R1=THE TIMED CCB
    645
    646					; OUTPUTS:
    647
    648					; CALLING SEQUENCE:
    649
    650					;	THIS ROUTINE ADJUSTS THE SEGMENT OR MESSAGE COUNT.
    651					;--
    652						.IF DF	N$$SYS
    653
    654	001374				ADJUST:
    655	001374	032760 	020000 	000012 		BIT	#LF.HMF,L.FLG(R0)	;MESSAGE FLOW CONTROLLED
    656	001402	001412 				BEQ	10$			;NO
    657	001404					MAP	C.BUF(R1)		;MAP TO THE MESSAGE BUFFER
    658	001412	132771 	000100 	000016 		BITB	#NT.EOM,@C.BUF+2(R1)	;END OF MESSAGE
    659	001420	001411 				BEQ	20$			;NO
    660	001422	105260 	000042 			INCB	L.TC(R0)		;ADJUST MESSAGE COUNT,NO OVERFLOW TEST
    661	001426	000406 				BR	20$
    662
    663	001430	032760 	010000 	000012 	10$:	BIT	#LF.HSF,L.FLG(R0)	;SEGMENT FLOW CONTROLLED
    664	001436	001402 				BEQ	20$			;NO
    665	001440	105260 	000042 			INCB	L.TC(R0)		;ADJUST SEGMENT COUNT,NO OVERFLOW TEST
    666
    667	001444				20$:	RETURN
    668
    669						.ENDC
    670
    671
    672		000001 				.END
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 14-1
SYMBOL TABLE

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

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

. ABS.	000160	   000
      	000000	   001
NSPSB 	001446	   002
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  18909 WORDS  ( 74 PAGES)
DYNAMIC MEMORY:  20620 WORDS  ( 79 PAGES)
NSPSB	MACRO M1110  13-OCT-79 10:05  PAGE 14-3
SYMBOL TABLE

ELAPSED TIME:  00:00:55
NSPSB,[131,34]NSPSB/CR/-SP=[130,10]NETLIB/ML,RSXMC4/PA:1,[131,10]NSPSB
NSPSB      CREATED BY  MACRO  ON 13-OCT-79 AT 10:05	PAGE 1

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

ACKDAT	  000120 RG	#4-173     
ACKDT1	  000132 R	 4-142      4-175     #4-177     
ACKILS	  000170 RG	#4-199     
ACKIL1	  000210 R	 4-164      4-203      4-206     #4-209     
ACKNSP	  000000 RG	#4-102     
ADDQUE	= ******  GX	 13-626    
ADJUST	  001374 R	 12-590    #14-654    
CTRES 	= ******  GX	 8-400      9-442     
C.BUF 	  000014	 10-518     11-558     14-657     14-658    
C.LIN 	  000006	*4-238     
C.MOD 	  000011	*8-406     *9-448     *9-456     
C.RSV 	  000002	 4-217     
C.STS 	  000012	 10-517    
DESLNK	  000352 RG	#5-283     
ENTDAT	  000372 RG	#6-309     
KISAR6	= 172354	 10-487    *10-518    *10-531     11-553    *11-558    *11-563     12-587    *12-595    *14-657    
LA.MSK	= 170000	 4-131      4-141      4-163      7-363     
LA.NMS	= 010000	 7-358     
LF.FPN	= 000010	 9-439      9-449     
LF.HF0	= 001000	 9-450      10-499    
LF.HMF	= 020000	 7-352      9-452      10-502     10-523     14-655    
LF.HSF	= 010000	 7-354      9-452      10-502     10-521     14-663    
LF.INR	= 000100	 11-552    
LF.NKR	= 000200	 7-347      10-499    
LF.NPN	= 000001	 8-397      8-405     
LF.RSU	= 100000	 8-401      9-443     
LS.DLS	= 000200	 4-222     
LS.ILS	= 000200	 4-227     
L.DCR 	  000036	*5-285     
L.FLG 	  000012	*7-347      7-352      7-354     *8-397     *8-405     *9-439     *9-449      9-450      9-452     
                         10-499     10-502     10-521     10-523    *11-552     14-655     14-663    
L.LDA 	  000024	 4-129     *4-132     *4-140     *4-141      7-351     
L.LIA 	  000026	*4-162     *4-163     
L.LSF 	  000044	*4-222     *4-227     
L.NDA 	  000034	*4-139      4-178     *4-184     
L.NLA 	  000036	*4-161      4-210     *4-216     
L.NXN 	  000014	 7-350     *7-364     
L.PDV 	  000041	 4-123      4-202      4-233      6-314      7-342      8-392      9-433     
L.STA 	  000000	 10-488    
L.TC  	  000042	*7-361      9-454      10-504    *10-527    *14-660    *14-665    
L.TIC 	  000043	*6-310     
L.TIPD	  000005	*10-519    
L.TIPI	  000004	*11-559    
L.ULA 	  000040	 4-128      4-238      6-318      7-348      9-466     
L.USTA	  000024	*5-284     
L.XQ1 	  000046	 10-512     13-621    *13-629    
L.XQ2 	  000050	 4-181      12-588     13-625     13-629    *13-630    
L.XQ3 	  000052	 4-213      11-555    
MD.IM 	= 000020	 4-104     
M$$MGE	= 000000	 10-487     10-518     10-531     11-553     11-558     11-563     12-587     12-595     14-657    
NAKNSP	  000430 RG	#7-340     
NAKUSR	  000554 RG	#8-390     
NSPSB      CREATED BY  MACRO  ON 13-OCT-79 AT 10:05	PAGE 2

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

NOTUSR	  000650 RG	 6-322      7-372     #9-431      10-508    
NS.SUC	= 000001	 4-258      8-407      9-459     
NT$NAK	= 000022	 8-406     
NT$XOF	= 000020	 9-456     
NT$XON	= 000016	 9-448     
NT.EOM	= 000100	 10-525     14-658    
N$$ICF	= ******	 3-1        3-2        4-107      4-147     
N$$LV2	= ******	 4-118      4-157      4-189      4-249     
N$$SYS	= 000001	 3-73       4-122      4-138      4-172      4-200      4-232      4-244      4-257      6-313     
                         7-341      7-368      8-389      8-391      9-432      9-437      10-484     12-583     13-616    
                         14-652    
N$$USR	= 000001	 3-73       4-122      4-127      4-201      4-232      4-237      6-313      7-341      7-346     
                         8-391      9-432      9-465     
POPQUE	= ******  GX	 4-182      4-214      10-513     11-556     13-622    
PROXMT	  001016 RG	 7-370      9-458     #10-486    
PSDAT 	  000336 R	 4-185      4-245     #4-258     
PSTUSR	= ******  GX	 8-408      9-460     
REMHDR	= ******  GX	 4-259     
REMSYS	= ******  GX	 4-176      4-207     
REQUE 	  001320 R	 12-594    #13-618    
RETLS 	  001204 RG	#11-552    
RETUSR	= ******  GX	 4-260     
RLSSMS	= ******  GX	 4-219     
SHIFTQ	  001260 R	 7-369     #12-585    
SNDALT	= ******  GX	 10-520     11-560    
SNDLS 	= ******  GX	 4-223      6-311     
SNILS 	= ******  GX	 4-228     
ST$DAT	= 000005	 6-309      10-488    
ST$DID	= 000015	 5-284     
ST$DIP	= 000006	 4-174      4-205      5-283     
ST$UNR	= 000011	 5-284     
$CCBGT	= ******  GX	 8-398      9-440     
$QACK 	= ******  GX	 4-133     
$QBPC 	= ******  GX	 9-467     
$QIFC 	= ******  GX	 6-319     
$QNAK 	= ******  GX	 7-349     
$QXCP 	= ******  GX	 4-239     
$REGSV	= ******  GX	 4-102      10-486    
NSPSB      CREATED BY  MACRO  ON 13-OCT-79 AT 10:05	PAGE 3

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

CALL  		 4-133      4-142      4-164      4-182      4-185      4-214      4-219      4-223      4-228      4-239     
                 4-245      4-259      6-311      6-319      7-349      7-369      7-370      8-398      8-400      8-408     
                 9-440      9-442      9-458      9-460      10-508     10-513     10-520     11-556     11-560     12-590    
                 12-594     13-622     13-626    
CALLR 		#4-176     #4-207     #4-260     #6-322     #7-372     #9-467     
CCBDF$		#3-67       3-68      
HWDDF$		#10-487     10-487    #10-518     10-518    #10-531     10-531    #11-553     11-553    #11-558     11-558    
                #11-563     11-563    #12-587     12-587    #12-595     12-595    #14-657     14-657    
MAP   		#3-63      #10-518    #11-558    #14-657    
NSPSY$		#3-67      #3-69      
RESMAP		#3-63      #10-531    #11-563    #12-595    
RESRG 		#3-64       8-409      9-461      12-596     13-631    
RETURN		 4-167      4-192      4-252      5-286      8-411      9-462      10-532     11-564     12-597     13-632    
                 14-667    
SAVMAP		#3-63       10-487     11-553     12-587    
SAVRG 		#3-64       8-396      9-438      12-586     13-619    
$MVFBF		#3-66      
$MVTBF		#3-66      
$QDLC 		#3-65      
$QLLC 		#3-65