Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/mcb/nsplna.lst
There are no other files named nsplna.lst in the archive.
NSPLNA MACRO M1110 13-OCT-79 10:14
TABLE OF CONTENTS
3- 99 LOGICAL LINK RESOURCE RECOVERY
4- 145 CONTROL ENABLE
5- 186 LINE TIMEOUT
6- 218 LINE START AND STOP
8- 397 LOGICAL AND INTERCEPT LINK CLEAN UP
9- 453 CONTROL COMPLETE
10- 608 FUNCTION INITIATION ROUTINES
12- 718 RCVSTR - STARTUP MESSAGE RECEIVED
13- 757 RCVINI - NODE INIT MESSAGE RECEIVED
15- 879 VFYNME - VALIDATE THE NODE NAME
16- 936 RCVVER - VERFIFICATION MESSAGE RECEIVED
17- 976 SNDNTI - SEND A NODE INITIALIZATION MESSAGE
18- 1054 SNDVER - SEND A VVERIFICATION MESSAGE
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 3
1 .IIF DF N$$ICF, .TITLE NSPLNI
2 .IIF NDF N$$ICF, .TITLE NSPLNA
3 .IDENT /V01.10/
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 ; ACP PHYSICAL LINK CONTROL ROUTINES
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 ; JS0001 12-APR-78 JOHN SAUTER
39 ; REFUSE A NODE INIT IF WE ARE SHORT OF
40 ; SPACE IN THE NODE NAME TABLE. THIS
41 ; IS SO THERE IS ALWAYS ENOUGH SPACE
42 ; LEFT TO RETURN A DC FOR A BAD CI.
43 ; BH0002 2-NOV-78 BUREN W. HOFFMAN
44 ; PUT IN CODE FOR PROCESSING EVENT-LOG CCB'S.
45 ; AP0003 20-NOV-78 ALAN D. PECKHAM
46 ; CONDITIONALIZE JOHN SAUTER'S CODE
47 ; LW0004 08-JAN-79 LEE WEBBER
48 ; FALSE NODE INIT MODIFICATIONS
49 ; 22-JAN-79 LEE WEBBER
50 ; CONDITIONALIZED THE MODS FOR INTERCEPT ONLY
51 ; LW0005 10-JAN-79 LEE WEBBER
52 ; FALSE NODE INIT -- REPLACE DELETED INSTRUCTION
53 ; LW0006 1-MAR-79 LEE WEBBER
54 ; CONDITIONALIZE TRANSFER TO "SNDNTI" FOR INTERCEPT
55 ; LW0007 9-MAR-79 LEE WEBBER
56 ; ENHANCE NODE TABLE ACQUISITION AND RELEASE ON NODE INIT
57 ; AND LINE SHUTDOWN
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 3-1
58 ; AP0008 15-MAY-79 ALAN D. PECKHAM
59 ; IGNORE ASYNCHRONOUS CONTROL COMPLETES DURING STARTUP
60 ; LW0009 20-JUN-79 LEE WEBBER
61 ; FIX THINKO IN #7 (CALL INSTEAD OF CALLC)
62 ; AP0010 3-AUG-79 ALAN D. PECKHAM
63 ; AVOID FALSE NODE INIT ON LOOP-BACK LINE
64 ;
65
66 ; EXTERNAL MACRO DEFINITIONS
67 ;
68 .MCALL SAVRG,RESRG
69 .MCALL CALLC,CALLX,RECMAP
70 .MCALL CCBDF$,NSPSY$,NSPVR$,$QDLC
71 000000 CCBDF$ ;DEFINE THE CCB OFFSETS
72 000000 NSPSY$ ;DEFINE THE NSP SYMBOLS
73 000000 NSPVR$ ;DEFINE THE NSP VERSION DATA
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 000000 .PSECT NSPLNA
81 ;
82 ; LOCAL SYMBOL DEFINITIONS BECAUSE OF NSP SYMBOL CONFLICTS
83 ;
84 000014 L.LEN = 14 ; LENGTH OF A SYSTEM LINE TABLE ENTRY
85 000016 Z.MAP = 16 ; OFFSET TO THE LLC MAPPING TABLE
86 100000 LF.ACT = 100000 ; ACTIVE FLAG FOR THE SYSTEM LINE TABLE
87
88 ;
89 ; LOCAL DATA FOR LINE SHUTDOWN DURING DISMOUNT
90 ;
91 000000 000000 LNTMP: .WORD 0 ;NUMBER OF PHYSICAL LINKS TO TURN OFF
92 .IF DF N$$ICF ;LW0004
93 CNT20: .BLKW 1 ; LENGTH OF 20XX NODE INIT MESSAGE ;LW0004
94 NTI20: .BLKB 60. ; STORAGE OF 20XX NODE INIT MESSAGE ;LW0004
95 NTI20L = .-NTI20 ; LENGTH OF STORAGE REGION ;LW0004
96 .ENDC ;LW0004
97
98
99 .SBTTL LOGICAL LINK RESOURCE RECOVERY
100 ;+
101 ; **-TMLNK-LOGICAL LINK TIMER
102 ;
103 ; INPUTS:
104 ;
105 ; NONE
106 ;
107 ; OUTPUTS:
108 ;
109 ; ALL THE LOGICAL LINKS ARE SCANNED FOR RESOURCE FAULTS. UPON
110 ; DETECTING A FAULT, A SERVICE ROUTINE IS DISPATCHED BASED ON
111 ; THE CURRENT LOGICAL LINK STATE.
112 ;
113 ;-
114
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 3-2
LOGICAL LINK RESOURCE RECOVERY
115 000002 TMLNK: CALL STLVC ; GET THE LOGICAL LINK VECTOR & NUMNER OF LINKS
116 000006 012400 10$: MOV (R4)+,R0 ; GET A LLT
117 000010 001443 BEQ 100$ ; IF EQ, NO LLT AT THIS ADDRESS - TRY NEXT
118 000012 011001 MOV (R0),R1 ; GET LINK STATE AND TEST RESOURCE ERROR FLAG
119 000014 100041 BPL 100$ ; IF PL, NO RESOURCE ERROR - NEXT LINK
120 000016 122701 000005 CMPB #ST$DAT,R1 ; IS THE LINK IN DATA STATE ?
121 000022 001007 BNE 20$ ; IF NE, CONTINUE
122 000024 042710 100000 BIC #LF.RSU,(R0) ; CLEAR RESOURCE FAILURE FLAG
123 000030 CALLC RECOVR ; ATTEMPT LS FOR DATA & I/LS, AND ACK/NAKS
124 000040 000427 BR 100$ ; CONTINUE WITH NEXT LINK
125
126 000042 122701 000006 20$: CMPB #ST$DIP,R1 ; IS THE LINK DISCONNECTING ?
127 000046 001011 BNE 40$ ; IF NE, NO - CONTINUE
128 000050 122760 000011 000024 CMPB #ST$UNR,L.USTA(R0) ; USER NOTIFICATION REQUIRED ?
129 000056 001002 BNE 30$ ; IF NE, NO - TRY TO REMOVE THE LINK
130 000060 CALL DISUS0 ; ATTEMPT TO NOTIFY THE USER
131 000064 30$: CALL CLNLNK ; ATTEMPT TO REMOVE THE LINK
132 000070 000413 BR 100$ ; CONTINUE WITH NEXT LINK
133
134 000072 122701 000003 40$: CMPB #ST$CIR,R1 ; IS THE LINK AWAITING CONNECTION ?
135 000076 001010 BNE 100$ ; IF NE, NO - GO PROCESS NEXT LINK
136 000100 SAVRG <R3> ; SAVE LOOP COUNT
137 000102 016003 000036 MOV L.DCR(R0),R3 ; GET REJECT REASON CODE
138 000106 016005 000034 MOV L.UDQ(R0),R5 ; GET REJECT CCB ADDRESS
139 000112 CALL USRCRJ ; TRY THE CONNECT REJECT AGAIN
140 000116 RESRG <R3> ; RESTORE LOOP COUNT
141
142 000120 100$: SOB R3,10$ ; LOOP THROUGH ALL THE LINKS
143 000124 RETURN ; RETURN TO CALLER
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 4
CONTROL ENABLE
145 .SBTTL CONTROL ENABLE
146 ;+
147 ; **-.CTENB-CONTROL ENABLE PROCESSING ROUTINE
148 ;
149 ; THIS ROUTINE IS ENTERED WHEN A CONTROL ENABLE REQUEST IS DISPATCHED
150 ; FOR NSP.
151 ;
152 ; INPUTS:
153 ;
154 ; R3 = SUBFUNCTION CODE FOR CONTROL REQUEST
155 ; R4 = ADDRESS OF CCB
156 ;
157 ; THE CCB MUST CONTAIN THE ISSUING PROCESSES PDV AND CHANNEL IN
158 ; 'C.NSP' AND A VALID NSP CHANNEL NUMBER IN 'C.LIN'.
159 ;
160 ; OUTPUT TO PROCESSING ROUTINES:
161 ;
162 ; R2 = ADDRESS OF LINE CLEAN UP WORD
163 ; R3 = SUBFUNCTION CODE
164 ; R4 = ADDRESS OF CCB
165 ; R5 = ADDRESS OF FLAGS & STATE WORD
166 ;
167 ;-
168 000000 .PSECT $NSACP
169
170 000000 .CTENB::CALL STLN0 ; SET UP ENTRY PARAMETERS FOR LINE CONTROL
171 000004 CALLR @CTETB(R3) ; DISPATCH ON SUBFUNCTION CODE
172
173 ;+
174 ; **-CTETB-CONTROL ENABLE DISPATCH TABLE
175 ;
176 ; THIS TABLE IS SYNCHRONIZED WITH THE COMM SYSTEM SUBFUNCTION CODES
177 ; FOR CONTROL ENABLE.
178 ;
179 ;-
180
181 000010 177777 CTETB: .WORD -1 ; RESERVED
182 000012 000114' .WORD LNSTR ; LINE STARTUP
183 000014 000220' .WORD LNSTP ; LINE SHUTDOWN
184 ; HIGHER ORDER FUNCTIONS ARE NOT SUPPORTED
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 5
LINE TIMEOUT
186 .SBTTL LINE TIMEOUT
187 ;+
188 ; **-.TMLIN-LINE TIMER PROCESSING
189 ;
190 ; THIS ROUTINE IS ENTERED FROM THE NSP MAINLINE TIMER SERVICE EACH
191 ; TIMING INTERVAL.
192 ;
193 ;-
194
195 000016 .TMLIN::CALL TMLNK ; DO LOGICAL LINK TIMING
196
197 000022 016705 000000G MOV $NSADB,R5 ; COMPUTE THE ADDRESS OF THE PHYSICAL LINK
198 000026 062705 000026 ADD #N$PLD,R5 ; ...DESCRIPTOR
199 000032 012503 MOV (R5)+,R3 ; GET THE MAXIMUM NUMBER OF PHYSICAL LINKS
200 000034 011505 MOV (R5),R5 ; GET THE ADDRESS OF THE LINK DATA BASE
201 000036 105765 000003 10$: TSTB P$TIM(R5) ; IS THERE A TIMER RUNNING ?
202 000042 001417 BEQ 30$ ; IF EQ, NO - MUST NOT BE ANYTHING TO DO
203 000044 105365 000003 DECB P$TIM(R5) ; ELSE COUNT DOWN THE TIMER
204 000050 001014 BNE 30$ ; IF NE, NOT YET TIME TO DO SOMETHING
205 000052 122715 000002 CMPB #PS$WT,(R5) ; IS STATE WAIT ?
206 000056 001011 BNE 30$ ; IF NE, NO - TRY NEXT LINE
207
208 000060 010502 MOV R5,R2 ; COMPUTE THE ADDRESS OF THE RECOVERY CELL
209 000062 005722 TST (R2)+ ; ...
210 000064 032712 000030 BIT #RF.WTM,(R2) ; SHOULD LINE SHUTDOWN BE INITIATED ?
211 000070 001402 BEQ 20$ ; IF EQ, NO
212 000072 CALL DSFLT ; ELSE, ATTEMPT TO INITIATE SHUTDOWN AGAIN
213 000076 20$: CALL WTEXT ; EXIT WAIT STATE IF ALL CONDITONS ARE MET
214 000102 062705 000014 30$: ADD #P$LEN,R5 ; COMPUTE ADDRESS OF NEXT PHYSICAL LINK BLOCK
215 000106 SOB R3,10$ ; LOOP THROUGH ALL LINES
216 000112 RETURN ; RETURN TO CALLER
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 6
LINE START AND STOP
218 .SBTTL LINE START AND STOP
219 ;+
220 ; **-LNSTR-LINE STARTUP
221 ;
222 ; THIS ROUTINE IS CALLED TO START NSP OPERATION ON AN INDIVIDUAL
223 ; CHANNEL. IF THE STATE IS OTHER THAN OFF, AN ERROR IS RETURNED;
224 ; OTHERWISE, THE LINE IS STARTED AND A SUCCESFUL COMPLETION IS
225 ; POSTED.
226 ;
227 ; INPUTS:
228 ;
229 ; AS DISPATCHED BY CONTROL ENABLE
230 ;
231 ;-
232 ;
233 ; LOCAL SYMBOL DEFINITIONS
234 ;
235 000004 STRT = 4 ;PERFORM LLC STARTUP
236 000002 ENBX = 2 ;CHANGE THE PRESENT ENABLE STATE
237 000001 LENB = 1 ;ENABLE STATE (0 = DISABLE, 1 = ENABLE)
238 000001 STOP = 1 ;STOP WITHOUT DISABLE COMPLETION
239 .ENABL LSB
240
241 000114 012700 000000G LNSTR: MOV #IS.SET,R0 ; ASSUME ALREADY ON IN SOME STATE OR OTHER
242 000120 105715 TSTB (R5) ; IS THE LINE STATE OFF ?
243 000122 001034 BNE 30$ ; IF NE, NO - CANNOT PROCESS THE REQUEST
244 000124 116465 000006 000004 MOVB C.LIN(R4),P$CHN(R5) ; STORE CHANNEL NUMBER IN LINK DATA BASE
245 000132 016400 000012 MOV C.STS(R4),R0 ;GET START FUNCTION MODIFIERS
246 000136 032700 000002 BIT #ENBX,R0 ;DOES THIS CHANGE THE CURRENT ENABLE STATE ?
247 000142 001407 BEQ 10$ ;IF EQ, NO - CHECK FOR START FUNCTION
248 000144 042715 100000 BIC #PF$ENB*400,(R5) ;ASSUME LINE IS NOT ENABLED
249 000150 032700 000001 BIT #LENB,R0 ;DOES THE REQUEST SAY ENABLED ?
250 000154 001402 BEQ 10$ ;IF EQ, NO - ASSUMED STATE IS VALID
251 000156 052715 100000 BIS #PF$ENB*400,(R5) ;OTHERWISE SET THE LINE ENABLED
252 000162 032700 000004 10$: BIT #STRT,R0 ; STARTUP ON THIS REQUEST ?
253 000166 001410 BEQ 20$ ; IF EQ, NO - ALL DONE
254 000170 052715 000400 BIS #PF$UP*400,(R5) ; SET LINE FLAGS TO ON
255 000174 112715 000002 MOVB #PS$WT,(R5) ; SET LINE STATE TO WAIT
256 000200 010446 MOV R4,-(SP) ; SAVE ADDRESS OF CONTROL CCB
257 000202 CALL RSSTR ; ATTEMPT TO START THE LINE
258 000206 012604 MOV (SP)+,R4 ; RECOVER CONTROL CCB ADDRESS
259 000210 012700 000000G 20$: MOV #IS.SUC,R0 ; SET SUCCESSFUL COMPLETION STATUS
260 000214 30$: CALLR CTLDN ; POST COMPLETION AND RETURN TO CALLER
261
262 ;+
263 ; **-LNSTP-LINE SHUT DOWN
264 ;
265 ; THIS ROUTINE IS CALLED TO INITIATE SHUT DOWN OF AN INDIVIDUAL NSP
266 ; CHANNEL. THIS REQUEST IS PROCESSED IN ALL LINE STATES. COMPLETION
267 ; OF THIS REQUEST IS DEFERRED UNTIL ALL ACTIVITY ON THE LINE HAS
268 ; STOPPED.
269 ;
270 ; INPUTS:
271 ;
272 ; AS DISPATCHED BY CONTROL ENABLE
273 ; 'C.STS' CONTAINS THE TYPE OF STOP REQUEST. IF ZERO, THE LINE
274 ; CONNECTION IS TERMINATED; OTHERWISE, JUST THE PROTOCOL IS
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 6-1
LINE START AND STOP
275 ; STOPPED.
276 ;
277 ;-
278
279 000220 016700 000000G LNSTP: MOV $NSADB,R0 ; IS THE PHYSICAL LINK THAT IS BEING STOPPED
280 000224 026005 000010 CMP N$LNI(R0),R5 ; ...THE ONE WITH LOOPBACK ENABLED ?
281 000230 001002 BNE 40$ ; IF NE, NO - DON'T CLEAR THE LOOPBACK FLAG
282 000232 005060 000010 CLR N$LNI(R0) ; OTHERWISE, EFFECT A LOOPBACK DISABLE FUNCTION
283 000236 012700 000000G 40$: MOV #IE.ABO,R0 ; ASSUME THAT FUNCTION CANNOT BE PROCESSED
284 000242 005765 000006 TST P$PFQ(R5) ; ANY PENDING FUNCTION ?
285 000246 001362 BNE 30$ ; IF NE, YES - RETURN ERROR STATUS
286 000250 010465 000006 MOV R4,P$PFQ(R5) ; QUEUE CONTROL REQUEST
287 000254 042715 000400 BIC #PF$UP*400,(R5) ; CLEAR LINE UP FLAG
288 000260 032715 040000 BIT #PF$EIP*400,(R5) ; IS THERE AN CONTROL ENABLE IN PROGRESS ?
289 000264 001004 BNE 50$ ; IF NE, YES - MUST ISSUE A DISABLE
290 000266 032764 000001 000012 BIT #STOP,C.STS(R4) ; STOP & DISABLE OR JUST STOP ?
291 000274 001003 BNE LWAIT ; IF NE, JUST STOP
292 000276 50$: ; OTHERWISE STOP AND DISABLE
293 .DSABL LSB
294
295 ;+
296 ; **-LHANG-INITIATE LINE SHUTDOWN WITH STOP AND DISABLE
297 ; **-LWAIT-INITIATE LINE SHUTDOWN WITH STOP
298 ;
299 ; INPUTS:
300 ;
301 ; R2 = ADDRESS OF LINK RECOVERY CELL
302 ; R5 = ADDRESS OF PHYSICAL LINK BLOCK
303 ;
304 ; OUTPUTS:
305 ;
306 ; THE SPECIFIED FUNCTIONS ARE ISSUED TO THE DLC AND SHUTDOWN
307 ; IS INITIATED FOR ALL LOGICAL LINKS TO DESTINATION NODES
308 ; ACCESSED OVER THE PHYSICAL LINK.
309 ;
310 ;-
311 .ENABL LSB
312
313 000276 012700 000430 LHANG: MOV #RF.TM0!RF.WTS!RF.WTD,R0 ; ASSUME RESOURCE IS NOT AVAILABLE
314 000302 000402 BR 10$ ;
315
316 000304 012700 000410 LWAIT: MOV #RF.TM0!RF.WTS,R0 ; ASSUME RESOURCE IS NOT AVAILABLE
317 000310 032715 100000 10$: BIT #PF$ENB*400,(R5) ; HAS THE LINK BEEN ENABLED ?
318 000314 001002 BNE 20$ ; IF NE, YES - LEAVE FUNCTIONS AS REQUESTED
319 000316 042700 000020 BIC #RF.WTD,R0 ; ELSE, NO NEED TO ISSUE THE DISABLE
320 000322 105715 20$: TSTB (R5) ; IS THE STATE OFF ?
321 000324 001403 BEQ 25$ ; IF EQ, YES - NO NEED TO ISSUE THE STOP
322 000326 122715 000002 CMPB #PS$WT,(R5) ; IS THE STATE WAIT ?
323 000332 001002 BNE 30$ ; IF NE, NO - LEAVE FUNCTIONS AS REQUESTED
324 000334 042700 000010 25$: BIC #RF.WTS,R0 ; ELSE, NO NEED TO ISSUE THE STOP
325 000340 112715 000002 30$: MOVB #PS$WT,(R5) ; SET THE NEW STATE TO WAIT
326 000344 050012 BIS R0,(R2) ; SET ASSUMED FLAGS AND FUNCTION
327 000346 CALL DSFLT ; DISPATCH THE REQUEST
328 000352 CALL CLLNK ; ATTEMPT TO CLEAN UP THE LOGICAL LINKS
329 000356 CALLR WTEXT ; TRY TO COMPLETE THE SHUTDOWN OPERATION
330
331 .DSABL LSB
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 7
LINE START AND STOP
333 ;+
334 ; **-$LNSTP-STOP ALL ACTIVE PHYSICAL LINKS FOR DISMOUNT
335 ;
336 ; THIS ROUTINE IS ENTERED TO FORCE ALL ACTIVE PHYSICAL LINKS TO THE
337 ; OFF STATE WHEN ALL LOGICAL LINKS HAVE FINISHED TO ALLOW THE ACP TO
338 ; EXIT. WHEN ALL PHYSICAL LINKS HAVE SHUT DOWN THE ROUTINE '$LNDON'
339 ; TRANSFERRED TO THE ROUTINE '$LNDON'.
340 ;
341 ;-
342 .ENABL LSB
343
344 000362 016705 000000G $LNSTP::MOV $NSADB,R5 ; GET THE ADDRESS OF THE PHYSICAL LINK
345 000366 016503 000026 MOV N$PLD(R5),R3 ; GET THE NUMBER OF LINKS
346 000372 016505 000030 MOV N$PLD+2(R5),R5 ; GET THE POINTER TO THE FIRST LINK
347 000376 005067 000000' CLR LNTMP ; INITIALIZE NUMBER OF LINKS TO SHUT DOWN
348 000402 105715 10$: TSTB (R5) ; IS THE PHYSICAL LINK ALREADY OFF ?
349 000404 001410 BEQ 20$ ; IF EQ, YES - DON'T NEED TO DO ANYTHING
350 000406 005267 000000' INC LNTMP ; COUNT THE NUMBER OF LINKS TO BE STOPPED
351 000412 042715 001400 BIC #PF$STA*400,(R5) ; MAKE SURE THAT THE LINK DOESN'T RESTART
352 000416 010502 MOV R5,R2 ; COMPUTE THE ADDRESS OF THE RECOVERY CELL
353 000420 005722 TST (R2)+ ; ...
354 000422 CALL LHANG ; INITIATE LINE SHUT DOWN SEQUENCE
355 000426 062705 000014 20$: ADD #P$LEN,R5 ; POINT TO NEXT PHYSICAL LINK BLOCK
356 000432 SOB R3,10$ ; SCAN THE ENTIRE DATA BASE
357 000436 005767 000000' TST LNTMP ; WERE THERE ANY PHYSICAL LINKS TO SHUT DOWN ?
358 000442 001433 BEQ 40$ ; IF EQ, NO - IT'S OK TO EXIT NOW
359 000444 RETURN ; OTHERWISE WAIT FOR SHUTDOWN TO FINISH
360
361 ;+
362 ; **-CKDON-CHECK IF SHUT DOWN IS IN PROGRESS
363 ;
364 ; INPUTS:
365 ;
366 ; R5 = ADDRESS OF PHYSICAL LINK BLOCK
367 ;
368 ;-
369
370 000446 005767 000000' CKDON: TST LNTMP ; ARE THERE ANY PHYSICAL LINKS IN SHUTDOWN
371 000452 001426 BEQ 30$ ; IF EQ, NO - JUST RETURN
372 000454 005000 CLR R0 ; GET CHANNEL NUMBER
373 000456 156500 000004 BISB P$CHN(R5),R0 ; ...
374 000462 006300 ASL R0 ; ...AND MAKE A WORD INDEX
375 000464 016701 000000C MOV $PDVTB+PD$NSP,R1 ; GET NSP'S PDV ADDRESS
376 000470 060001 ADD R0,R1 ; COMPUTE OFFSET INTO CHANNEL MAPPING TABLE
377 000472 016101 000016 MOV Z.MAP(R1),R1 ; GET SLN & STATION NUMBER
378 000476 042701 177400 BIC #^C<377>,R1 ; CLEAN OFF THE STATION NUMBER
379 000502 012700 000014 MOV #L.LEN,R0 ; SET THE LENGTH OF AN SLT ENTRY
380
381 .IF DF R$$EIS
382 MUL R0,R1 ; COMPUTE THE OFFSET INTO THE SLT
383 .IFF
384 000506 CALL $MUL ; COMPUTE THE OFFSET INTO THE SLT
385 .ENDC
386
387 000512 066701 000000G ADD $SLTTA,R1 ; FINALLLY GOT THE ADDRESS OF THE SLT ENTRY
388 000516 042711 100000 BIC #LF.ACT,(R1) ; MARK THE SLN INACTIVE
389 000522 005367 000000' DEC LNTMP ; REDUCE THE NUMBER OF PHYSICAL LINKS TO PROCESS
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 7-1
LINE START AND STOP
390 000526 001401 BEQ 40$ ; IF EQ, EXIT NOW
391 000530 30$: RETURN ; OTHERWISE WAIT FOR ALL LINKS TO FINISH
392
393 000532 40$: CALLR $LNDON ; RETURN CONTROL TO FINISH ACP DISMOUNT
394
395 .DSABL LSB
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 8
LOGICAL AND INTERCEPT LINK CLEAN UP
397 .SBTTL LOGICAL AND INTERCEPT LINK CLEAN UP
398 ;+
399 ; **-CLLNK-CLEAN UP LOGICAL LINKS
400 ;
401 ; THIS ROUTINE IS CALLED TO INITIATE SHUTDOWN FOR ALL LOGICAL
402 ; LINKS TO DESTINATON NODES ACCESSED OVER THE PHYSICAL LINK.
403 ;
404 ; INPUTS:
405 ;
406 ; R5 = ADDRESS OF THE PHYSICAL LINK BLOCK
407 ;
408 ; OUTPUTS:
409 ;
410 ; AS DESCRIBED ABOVE
411 ;
412 ; REGISTERS MODIFIED:
413 ;
414 ; R0, R1, R3 AND R4
415 ;
416 ;-
417
418 000536 CLLNK: SAVRG <R3> ; SAVE R3
419 000540 016703 000000G MOV $NSADB,R3 ; ADDRESS NSP DATA BASE ;LW0007
420 000544 026305 000006 CMP N$ICF(R3),R5 ; IF THIS WAS THE ;LW0007
421 000550 001002 BNE 2$ ; INTERCEPT LINE, ;LW0007
422 000552 005063 000006 CLR N$ICF(R3) ; IT ISN'T ANY LONGER ;LW0007
423 000556 016503 000010 2$: MOV P$NOD(R5),R3 ; FLAG THE ADJACENT NODE ;LW0007
424 000562 052713 001000 BIS #DF$DWN,(R3) ; ON THE LINE AS DOWN ;LW0007
425 000566 CALL STLVC ; GET ADDRESS OF LOGICAL LINK VECTOR & NUMBER OF LINKS
426 000572 012400 10$: MOV (R4)+,R0 ; GET A LOGICAL LINK
427 000574 001414 BEQ 20$ ; IF EQ, NO LOGICAL LINK
428 000576 032710 040000 BIT #LF.LCL,(R0) ; IS THIS AN INTERNAL LOGICAL LINK ?
429 000602 001011 BNE 20$ ; IF NE, YES - DON'T ABORT THE LOGICAL LINK
430 000604 016001 000006 MOV L.REM(R0),R1 ; GET THE POINTER TO THE DESTINATION NODE
431
432 .IF DF N$$ICF
433
434 BIT #LF.INT,(R0) ; IS THIS AN INTERCEPT LINK ?
435 BEQ 15$ ; IF EQ, NO - USE THE DESTINATION NODE POINTER
436 MOV I.IREM(R0),R1 ; GET THE POINTER TO THE INTERCEPTED NODE
437 CMP D$CHN(R1),R5 ; DOES IT USE THIS PHYSICAL LINK ?
438 BNE 20$ ; IF NE, NO - CONTINUE
439 BIS #DF$DWN,(R1) ; FLAG THE NODE AS DOWN ;LW0007
440 CALL HNGILT ; INITIATE DESTRUCTION OF THE INTERCEPT LINK ;LW0007
441 BR 20$ ; ;**-1
442
443 .ENDC
444
445 000610 026105 000002 15$: CMP D$CHN(R1),R5 ; DOES IS USE THIS PHYSICAL LINK ?
446 000614 001004 BNE 20$ ; IF NE, NO - CONTINUE
447 000616 052711 001000 BIS #DF$DWN,(R1) ; FLAG THE NODE AS DOWN ;LW0007
448 000622 CALL HNGUSR ; INITIATE DESTRUCTION OF THE LOGICAL LINK ;LW0007
449 000626 20$: SOB R3,10$ ; LOOP THROUGH ENTIRE LOGICAL LINK TABLE ;**-1
450 000632 RESRG <R3> ; RESTORE R3
451 000634 RETURN ; RETURN TO CALLER
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 9
CONTROL COMPLETE
453 .SBTTL CONTROL COMPLETE
454 ;+
455 ; **-.CTCMP-CONTROL REQUEST COMPLETION PROCESSING
456 ;
457 ; THIS ROUTINE IS ENTERED WHEN A CONTROL COMPLETE OPERATION IS
458 ; DEQUEUED FOR NSP.
459 ;
460 ; INPUTS:
461 ;
462 ; R3 = SUBFUNCTION CODE
463 ; R4 = ADDRESS OF CCB
464 ;
465 ; OUTPUT TO PROCESSING ROUTINES:
466 ;
467 ; R2 = ADDRESS OF LINE CLEAN UP WORD
468 ; R3 = SUBFUNCTION CODE
469 ; R4 = ADDRESS OF CCB (ASYNCHRONOUS REPORT ONLY)
470 ; R5 = ADDRESS OF LINE FLAGS & STATE WORD
471 ;
472 ;-
473 .ENABL LSB
474
475 000636 105764 000006 .CTCMP::TSTB C.LIN(R4) ; EVENT LOGGING ? NOTE: WE ARE USING BH0002
476 ; LINE ZERO AS A SPECIAL SENTINEL. BH0002
477 000642 001002 BNE 5$ ; NO BH0002
478 000644 CALLR $QUEEV ; YES, SO QUEUE THIS CCB TO NICE BH0002
479 000650 5$: CALL STLN0 ; SETUP LINE PARAMETERS BH0002
480 000654 016400 000012 MOV C.STS(R4),R0 ; GET COMPLETION STATUS FOR ALL ;**-1
481 000660 005703 TST R3 ; ASYNCHRONOUS ERROR REPORT ?
482 000662 001403 BEQ 10$ ; IF EQ, YES - ANY STATUS IS OK
483 000664 005312 DEC (R2) ; REDUCE NUMBER OF OUTSTANDING CONTROL REQUESTS
484 000666 CALL $CCBRT ; RETURN CONTROL CCB
485 000672 10$: CALLR @CTCTB(R3) ; DISPATCH ON SUBFUNCTION CODE
486
487 ;+
488 ; **-CTCTB-CONTROL COMPLETE SUBFUNCTION DISPATCH TABLE
489 ;
490 ; THIS TABLE IS SYNCHRONIZED WITH COMM SYSTEM SUBFUNCTION CODES
491 ; FOR CONTROL COMPLETE.
492 ;
493 ;-
494
495 000676 000726' CTCTB: .WORD LNASY ; ASYNCHRONOUS ERROR REPORT FROM DLC
496 000700 001002' .WORD CTSTR ; LINE STARTUP COMPLETE
497 000702 001032' .WORD WTEXT ; LINE SHUTDOWN COMPLETE
498 000704 177777 177777 177777 .WORD -1,-1,-1,-1,-1,-1,-1 ; RESERVED
000712 177777 177777 177777
000720 177777
499 000722 001020' .WORD CTENB ; LINE ENABLE COMPLETE
500 000724 001032' .WORD WTEXT ; LINE DISABLE COMPLETE
501
502 ;+
503 ; **-LNASY-ASYNCHRONOUS ERROR REPORT
504 ;
505 ;-
506
507 000726 122700 100372 LNASY: CMPB #CE.MOP,R0 ; IS ERROR A REQUEST FOR MAINTAINENCE MODE ?
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 9-1
CONTROL COMPLETE
508 000732 001006 BNE 20$ ; IF NE, NO - INITIATE A LINE SHUTDOWN
509
510 ;
511 ; NOTIFY NCU PROCESS OF THE MAINTANENCE MODE ERROR
512 ;
513 .IF DF N$$USR
514
515 000734 016464 000006 000004 MOV C.LIN(R4),C.NSP(R4) ; SET SOURCE PDV & CHANNEL
516 000742 CALL $QEVNT ; FORMAT THE EVENT AND GIVE IT TO NCU
517 000746 000413 BR 30$ ; INITIATE LINE SHUTDOWN
518
519 .ENDC
520
521 ;
522 ; INITIATE LINK SHUTDOWN ON ERROR DETECTION
523 ;
524 000750 20$: CALL $CCBRT ; RETURN CCB
525
526 000754 122715 000001 CMPB #PS$STR,(R5) ; ARE WE IN STARTUP ? ;AP0008
527 000760 001001 BNE 25$ ; IF SO, ;AP0008
528 000762 RETURN ; IGNORE THE REPORT. ;AP0008
529 000764 25$: ;AP0008
530 000764 122700 100366 CMPB #CE.DIS,R0 ; IS THIS A DISCONNECT ?
531 000770 001002 BNE 30$ ; IF NE, NO - JUST STOP THE PHYSICAL LINK
532 000772 CALLR LHANG ; OTHERWISE FORCE STOP AND DISABLE
533 000776 30$: CALLR LWAIT ; INITIATE LINE SHUT DOWN
534
535 .DSABL LSB
536
537 ;+
538 ; **-CTSTR-LINE STARTUP COMPLETE
539 ;
540 ;-
541
542 .ENABL LSB ;LW0004
543 001002 122715 000001 CTSTR: CMPB #PS$STR,(R5) ; IS STATE IN STARTUP? ;LW0004
544 001006 001011 BNE WTEXT ; IF NE, NO - DO CLEAN UP ;**-1
545 001010 112715 000003 MOVB #PS$NTI,(R5) ; SET STATE TO NOT INITIALIZED
546 .IF DF N$$ICF ;LW0004
547 CALL SNDNTI ; SEND THE NODE INIT MESSAGE ;LW0004
548 .IFF ;LW0004
549 001014 CALLR SNDNTI ; GO SEND THE NODE INIT MESSAGE ;LW0004
550 .IFT ;LW0004
551 BCC 30$ ; IF CC, NO ERROR - EXIT ;LW0004
552 MOV R5,R2 ; COMPUTE POINTER TO SECOND WORD OF ;LW0004
553 TST (R2)+ ; ...PLD ENTRY ;LW0004
554 CALLR LHANG ; FORCE STOP AND DISABLE ;LW0004
555 .ENDC ;LW0004
556 ;**-1
557 ;+
558 ; **-CTENB-LINE ENABLE COMPLETE
559 ;
560 ;-
561
562 001020 042715 040000 CTENB: BIC #PF$EIP*400,(R5) ; CLEAR ENABLE IN PROGRESS FLAG
563 001024 032715 001400 BIT #PF$STA*400,(R5) ; IS THE LINK ATTEMPTING TO START ?
564 001030 001064 BNE RSST1 ; IF NE, YES - CONTINUE WITH START FUNCTION
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 9-2
CONTROL COMPLETE
565 ; OTHERWISE, CONTINUE IN 'WTEXT'
566
567 ;+
568 ; **-WTEXT-WAIT EXIT
569 ;
570 ; THIS IS THE COMMON POINT WHEN PHYSICAL LINK SHUTDOWN COMPLETION
571 ; IS DETECTED. IF THE PHYSICAL LINK SHUTTING DOWN WAS INTERCEPTING
572 ; FOR THIS NODE, CLEAR THE INTERCEPT POINTER.
573 ; IF THE PHYSICAL LINK IS BEING STOPPED, (PF$STA EQUAL TO ZERO), ANY
574 ; PENDING CONTROL REQUEST IS COMPLETED AND THE STATE OF ENABLE IS POSTED
575 ; IN C.STS.
576 ;
577 ;
578 ;-
579
580 001032 005712 WTEXT: TST (R2) ; IS IT OK TO EXIT WAIT STATE ?
581 001034 001046 BNE 30$ ; IF NE, NO - CONTINUE WAITING
582 001036 SAVRG <R3> ; SAVE R3
583 001040 016503 000010 MOV P$NOD(R5),R3 ; GET THE POINTER TO THE NODE NAME
584 001044 001412 BEQ 5$ ; IF EQ, NO NODE EVER HERE !
585 001046 005065 000010 CLR P$NOD(R5) ; INDICATE NO ADJACENT NODE ANYMORE
586 001052 005063 000002 CLR D$CHN(R3) ; CANNOT REACH THE NODE USING THIS LINK
587 001056 052713 004000 BIS #DF$LNK,(R3) ; MARK THE NODE NAME TO BE REMOVED
588 001062 CALLC RMNOD ; ATTEMPT TO REMOVE THE NODE
589 001072 5$: RESRG <R3> ; RESTORE R3
590 001074 016701 000000G MOV $NSADB,R1 ; IF THE PHYSICAL LINK THAT HAS JUST
591 001100 026105 000006 CMP N$ICF(R1),R5 ; ...SHUT DOWN WAS INTERCEPTING FOR THIS
592 001104 001002 BNE 10$ ; ...NODE, CLEAR OUT THE INTERCEPT FLAG
593 001106 005061 000006 CLR N$ICF(R1) ; ...
594 001112 032715 001400 10$: BIT #PF$STA*400,(R5) ; DO LINE FLAGS INDICATE UP ?
595 001116 001016 BNE RSSTR ; IF NE, YES - INITIATE LINE RESTART
596 001120 016504 000006 MOV P$PFQ(R5),R4 ; GET PENDING STOP REQUEST
597 001124 001407 BEQ 20$ ; IF EQ, NO CONTROL REQUEST
598 001126 005065 000006 CLR P$PFQ(R5) ; REMOVE IT FROM THE PENDING FUCTION QUEUE
599 001132 011500 MOV (R5),R0 ; GET THE STATE OF THE ENABLE BIT
600 001134 006100 ROL R0 ; SHIFT IT TO THE CARRY
601 001136 006100 ROL R0 ; ...AND THEN TO BIT 0
602 001140 CALL CTLDN ; POST COMPLETION ON THE REQUEST
603 001144 105015 20$: CLRB (R5) ; SET NEW STATE TO OFF
604 001146 CALL CKDON ; CHECK IF A LINK SHUTDOWN IS IN PROGRESS
605 001152 30$: RETURN ; RETURN TO CALLER
606 .DSABL LSB ;LW0004
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 10
FUNCTION INITIATION ROUTINES
608 .SBTTL FUNCTION INITIATION ROUTINES
609 ;+
610 ; **-RSSTR-LINE STARTUP
611 ;
612 ; INPUTS:
613 ;
614 ;-
615 .ENABL LSB
616
617 001154 032715 100000 RSSTR: BIT #PF$ENB*400,(R5) ; IS THE LINE ENABLED ?
618 001160 001010 BNE 10$ ; IF NE, YES - START IT
619 .IF DF N$$ICF ;LW0004
620 CMPB #1,P$CHN(R5) ; STARTING CHANNEL TO 20XX? ;LW0004
621 BEQ 5$ ; IF CC, YES - CONTINUE ;LW0004
622 MOV $NSADB,R0 ; ELSE, SEE IF 20XX ;LW0004
623 MOV N$PLD+2(R0),R0 ; ...HAS ALREADY COMPLETED ;LW0004
624 CMPB #PS$UP,P$LEN(R0) ;...NODE INIT? ;LW0004
625 BNE 30$ ; IF NE, NO - EXIT ;LW0004
626 5$: ;LW0004
627 .ENDC ;LW0004
628 001162 012700 012006 MOV #FS.ENB!FC.CTL,R0 ; SET ENABLE FUNCTION CODE
629 001166 CALL DSFNC ; ISSUE THE REQUEST
630 001172 103412 BCS 20$ ; IF CS, RESOURCE ALLOCATION ERROR
631 001174 052715 140000 BIS #<PF$EIP!PF$ENB>*400,(R5) ; MARK LINK ENABLED AND ENABLE IN PROGRESS
632 001200 000407 BR 20$ ; WAIT FOR THE ENABLE TO COMPLETE
633
634 001202 RSST1: ; REFERENCE LABEL
635 001202 012700 001006 10$: MOV #FS.STR!FC.CTL,R0 ; SET START FUNCTION CODE
636 001206 CALL DSFNC ; ISSUE THE REQUEST
637 001212 103402 BCS 20$ ; IF CS, RESOURCE ALLOCATION FAILURE
638 001214 112715 000001 MOVB #PS$STR,(R5) ; SET STATE TO STARTING
639 001220 20$: RETURN ; RETURN TO CALLER
640 .IF DF N$$ICF ;LW0004
641 ;LW0004
642 30$: BIS #RF.TM0,(R2) ; SET FLAG TO RETRY LATER ;LW0004
643 RETURN ;LW0004
644 .ENDC ;LW0004
645
646 .DSABL LSB
647
648 ;+
649 ; **-DSFLT-DISPATCH STOP OR DISABLE
650 ;
651 ; INPUTS:
652 ;
653 ;
654 ;
655 ;-
656
657 001222 032712 000010 DSFLT: BIT #RF.WTS,(R2) ; STOP REQUIRED ?
658 001226 001407 BEQ 10$ ; IF EQ, NO - CHECK FOR DISABLE
659 001230 012700 002006 MOV #FS.STP!FC.CTL,R0 ; SET STOP FUNCTION CODE
660 001234 CALL DSFNC ; ISSUE STOP
661 001240 103416 BCS 20$ ; IF CS, ALLOCATION FAILURE
662 001242 042712 000010 BIC #RF.WTS,(R2) ; CLEAR STOP REQUIRED
663
664 001246 032712 000020 10$: BIT #RF.WTD,(R2) ; DISABLE REQUIRED ?
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 10-1
FUNCTION INITIATION ROUTINES
665 001252 001411 BEQ 20$ ; IF EQ, NO - EXIT
666 001254 012700 013006 MOV #FS.DIS!FC.CTL,R0 ; SET FUNCTION CODE FOR DISABLE
667 001260 CALL DSFNC ; ISSUE DISABLE
668 001264 103404 BCS 20$ ; IF CS, ALLOCATION FAILURE
669 001266 042712 000020 BIC #RF.WTD,(R2) ; CLEAR DISABLE REQUIRED
670 001272 042715 100000 BIC #PF$ENB*400,(R5) ; MARK THE LINE DISABLED
671 001276 20$: RETURN ; RETURN TO CALLER
672
673 ;+
674 ; **-DSFNC-DISPATCH A CONTROL REQUEST
675 ;
676 ; INPUTS:
677 ;
678 ; R0 = FUNCTION CODE TO ISSUE
679 ; R2 = ADDRESS OF LINE CLEAN UP WORD
680 ; R5 = ADDRESS OF LINE FLAGS & STATE WORD
681 ;
682 ; OUTPUTS:
683 ;
684 ; C-BIT CLEAR
685 ; THE CONTROL FUNCTION IS QUEUED TO THE DLC
686 ; C-BIT SET
687 ; THE FUNCTION IS NOT DISPATCHED AND THE RECOVERY TIMEOUT
688 ; INTERVAL IS STARTED.
689 ;-
690
691 001300 DSFNC: CALL CCBGT ; ALLOCATE A CCB
692 001304 103413 BCS 20$ ; IF CS, ERROR - WAIT TO RECOVER ON TIMER
693 001306 005212 INC (R2) ; UPDATE NUMBER OF CONTROL REQUESTS OUTSTANDING
694 001310 005064 000006 CLR C.LIN(R4) ; SET UP THE CHANNEL NUMBER IN THE CCB
695 001314 116564 000004 000006 MOVB P$CHN(R5),C.LIN(R4) ; ...
696 001322 010064 000010 MOV R0,C.FNC(R4) ; SET FUNCTION CODE
697 001326 $QDLC ; ISSUE REQUEST
698 001332 000402 BR 30$ ; EXIT
699
700 001334 052712 000400 20$: BIS #RF.TM0,(R2) ; MARK ALLOCATION FAILURE
701 001340 30$: RETURN ; RETURN TO CALLER
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 11
FUNCTION INITIATION ROUTINES
703 ;+
704 ; **-CTLDN-POST COMPLETION ON A CONTROL REQUEST
705 ;
706 ; INPUTS:
707 ;
708 ; R0 = COMPLETION STATUS (CTLDN ONLY)
709 ; R4 = ADDRESS OF CONTROL CCB
710 ;
711 ;-
712
713 001342 010064 000012 CTLDN: MOV R0,C.STS(R4) ; STORE COMPLETION STATUS IN CCB
714 001346 016464 000004 000006 MOV C.NSP(R4),C.LIN(R4) ; SET DESTINATION PDV & CHANNEL
715 001354 112764 000020 000010 MOVB #FC.CCP,C.FNC(R4) ; STORE FUNCTION CODE IN CCB
716 001362 CALLR $LLCRS ; POST COMPLETION
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 12
RCVSTR - STARTUP MESSAGE RECEIVED
718 .SBTTL RCVSTR - STARTUP MESSAGE RECEIVED
719 ;++
720 ;RCVSTR
721
722 ;INPUTS:
723 ; R5=CCB ADDR
724 ; R4=MSG PTR [START TYPE]
725 ; R3=NODE INDEX
726
727 ;--
728 000126 .PSECT NSPLNA
729
730 000126 RCVSTR::SAVRG <R5> ; SAVE ADDRESS OF MESSAGE CCB
731 000130 CALL STPLD ; COMPUTE THE ADDRESS OF THE LINK BLOCK
732 000134 011602 MOV (SP),R2 ; GET ADDRESS OF MESSAGE CCB ;LW0004
733 000136 112401 MOVB (R4)+,R1 ; GET THE START MESSAGE TYPE
734 000140 022701 000001 CMP #NI.INI,R1 ; IS THIS AN INIT MSG ?
735 000144 001003 BNE 10$ ; NO
736 000146 CALL RCVINI ; PROCESS A INITIALIZATION MESSAGE
737 000152 000405 BR 20$ ; CHECK FOR ERRORS
738
739 000154 022701 000002 10$: CMP #NI.VER,R1 ; IS THIS A VERIFICATION MESSAGE ?
740 000160 001003 BNE 30$ ; IF NE, NO - HANG UP THE PHYSICAL LINK
741 000162 CALL RCVVER ; PROCESS VERIFICATION MSG
742 000166 103020 20$: BCC 40$ ; IF CC, NO ERROR - DON'T HANG UP
743 000170 30$: RECMAP ; RECOVER ACP MAPPING
744
745 000176 016702 000000G MOV $NSADB,R2 ; COUNT THE NUMBER OF UNSUCESSFUL NODE INITS
746 000202 016202 000044 MOV N$STS+2(R2),R2 ; ...
747 000206 005762 000020 TST S$UNI(R2) ; COUNTER OVERFLOW ?
748 000212 100402 BMI 35$ ; IF MI, YES - LEAVE THE COUNTER ALONE
749 000214 005262 000020 INC S$UNI(R2) ; OTHERWISE INCREMENT IT
750 000220 35$: ; REFERENCE LABEL
751 000220 010502 MOV R5,R2 ; COMPUTE ADDRESS OF RECOVERY FLAGS
752 000222 005722 TST (R2)+ ; ...
753 000224 CALL LHANG ; HANG UP LINE DUE TO INVALID NODE INITIALIZATION MSG
754 000230 40$: RESRG <R5> ; RECOVER ADDRESS OF MESSAGE CCB
755 000232 RETURN ; RETURN TO CALLER
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 13
RCVINI - NODE INIT MESSAGE RECEIVED
757 .SBTTL RCVINI - NODE INIT MESSAGE RECEIVED
758 ;+
759 ; **-RCVINI-PROCESS A NODE INIT MESSAGE
760 ;
761 ; INPUTS:
762 ;
763 ; R4 = MESSAGE POINTER TO 'NODEADDR'
764 ; R5 = ADDRESS OF PHYSICAL LINK BLOCK
765 ;
766 ; OUTPUTS:
767 ;
768 ; C-BIT CLEAR:
769 ; VALID NODE INITIALIZATION MESSAGE
770 ;
771 ; C-BIT SET:
772 ; INVLAID NODE INITIALIZATION MESSAGE
773 ;
774 ; REGISTERS MODIFIED:
775 ;
776 ; R0, R1, R2, R3, AND R4
777 ;
778 ;-
779 .ENABL LSB
780
781 000234 RCVINI: SAVRG <R2> ;LW0004
782 000236 122715 000003 CMPB #PS$NTI,(R5) ; ARE WE WAITING FOR A NODE INIT? ;LW0004
783 000242 001077 BNE 40$ ; IF NE, NO - HANG UP THE LINE ;**-1
784 000244 CALL SKPEXB ; SKIP OTHER NODES NUMBER
785 000250 CALL VFYNME ; VERIFY THE NODENAME AND PUT IT INTO THE TABLE
786 000254 103472 BCS 40$ ; NAME ISNT VALID..HANG UP LINE
787 000256 CALL GETEXB ; GET OTHER NODES FUNCTIONS
788 000262 103467 BCS 40$ ; IF CS, FIELD FORMAT ERROR
789 000264 110165 000013 MOVB R1,P$FSP(R5) ; STORE FUNCTIONS SUPPORTED BY OTHER NODE
790 000270 032701 000006 BIT #PF$SLI!PF$SRI,R1 ; DOES THE NODE SUPPORT INTERCEPT ?
791 000274 001407 BEQ 10$ ; IF EQ, NO - DON'T SET INTERCEPT SWITCH
792 000276 016702 000000G MOV $NSADB,R2 ; GET ADDRESS OF THE DATA DESCRIPTOR BLOCK
793 000302 005762 000006 TST N$ICF(R2) ; DOES A NODE ALREADY INTERCEPT ?
794 000306 001002 BNE 10$ ; IF NE, YES - DON'T BELIEVE THIS NODE
795 000310 010562 000006 MOV R5,N$ICF(R2) ; SET INTERCEPT SWITCH (POINTER TO LINK BLOCK)
796 000314 10$: CALL GETEXB ; GET OTHER NODES REQUESTS
797 000320 103450 BCS 40$ ; FIELD TOO LONG
798 000322 110165 000012 MOVB R1,P$FRQ(R5) ; SAVE OTHER NODES REQUESTS
799 .IF DF N$$ICF ;LW0004
800 MOV $RDBSZ,R2 ; GET LOCAL BLOCK SIZE ;LW0004
801 CALL NORML ; NORMALIZE NTI SIZE ;LW0004
802 MOV $RDBSZ,R2 ; GET SEGMENT SIZE ;LW0004
803 CALL NORML ; NORMALIZE NTI SIZE ;LW0004
804 MOV $NSADB,R2 ; GET NUMBER OF ;LW0004
805 MOV N$LVC(R2),R2 ; ...LOGICAL LINKS ;LW0004
806 CALL NORML ; NORMALIZE NTI NUMBER ;LW0004
807 .IFF ;LW0004
808 000326 CALLC GETBIN ; GET MAX BLKSIZE ;LW0004
809 000336 CALLC GETBIN ; AND SEGSIZE ;LW0004
810 000346 CALLC GETBIN ; AND NO OF LINKS ;LW0004
811 .ENDC ;LW0004
812 ;**-9
813 000356 132765 000001 000012 BITB #PF$RVE,P$FRQ(R5) ; DOES THE NODE WANT A VERIFICATION MESSAGE ?
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 13-1
RCVINI - NODE INIT MESSAGE RECEIVED
814 000364 001403 BEQ 20$ ; NO
815 000366 CALL SNDVER ; SEND VERIFICATION MESSAGE
816 000372 103423 BCS 40$ ; RESOURCE ERROR
817 000374 010365 000010 20$: MOV R3,P$NOD(R5) ; STORE POINTER TO ADJACENT NODE NAME
818 .IF DF N$$ICF ;LW0004
819 CMPB #1,P$CHN(R5) ; IS THE NODE INIT FROM THE 20XX? ;LW0004
820 BNE 26$ ; IF EQ, NO - CONTINUE ;LW0004
821 MOV (SP),R4 ; GET ADDRESS OF MESSAGE CCB ;LW0004
822 MOV #NTI20,R2 ; GET ADDRESS OF BUFFER TO SAVE 20XX'S INIT MSG ;LW0004
823 MOV C.CNT(R4),R3 ; GET LENGTH OF THE MESSAGE ;LW0004
824 CMP #NTI20L,R3 ; IF MESSAGE IS TOO LARGE FOR THE SAVE BUFFER, ;LW0004
825 BLO 40$ ; ...ERROR RETURN ;LW0004
826 MOV R3,CNT20 ; SAVE NTI MESSAGE LENGTH ;LW0004
827 MOV C.BUF+2(R4),R4 ; GET ADDRESS OF START OF MESSAGE ;LW0004
828 25$: MOVB (R4)+,(R2)+ ; MOVE MESSAGE TO ;LW0004
829 SOB R3,25$ ; ...SAVE AREA ;LW0004
830 26$: ;LW0004
831 .ENDC ;LW0004
832 000400 112715 000004 MOVB #PS$VER,(R5) ; ASSUME NEXT STATE IS VERIFICATION WAIT
833 000404 032715 020000 BIT #PF$RVR*400,(R5) ; DID THIS NODE REQUEST A VERIFICATION MESSAGE ?
834 000410 001013 BNE 30$ ; IF NE, YES - ASSUMED STATE WAS CORRECT
835
836 000412 112715 000005 NXSUP: MOVB #PS$UP,(R5) ; SET NEXT STATE TO LINK AVAILABLE (UP)
837 000416 016702 000000G MOV $NSADB,R2 ; COUNT THE NUMBER OF SUCCESSFUL NODE INITS
838 000422 016202 000044 MOV N$STS+2(R2),R2 ; ...
839 000426 005762 000016 TST S$SNI(R2) ; COUNTER OVERFLOW ?
840 000432 100402 BMI 30$ ; IF MI, YES - LEAVE THE COUNTER ALONE
841 000434 005262 000016 INC S$SNI(R2) ; OTHERWISE INCREMENT THE COUNTER
842 000440 005727 30$: TST (PC)+ ; CLEAR CARRY AND SKIP ;LW0004
843 ;**-2
844 000442 000261 40$: SEC ; INDICATE AN ERROR
845 000444 RESRG <R2> ;LW0004
846 000446 RETURN ; RETURN TO CALLER
847
848 .DSABL LSB
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 14
RCVINI - NODE INIT MESSAGE RECEIVED
850 ;+ ;LW0004
851 ; ;LW0004
852 ; **-NORML - NORMALIZE NODE INIT PARAMETERS ;LW0004
853 ; ;LW0004
854 ; INPUTS: ;LW0004
855 ; R2 = LOCAL PARAMETER VALUE ;LW0004
856 ; R4 = MESSAGE POINTER TO PARAMETER IN QUESTION ;LW0004
857 ; R5 = ADDRESS OF PLD ;LW0004
858 ; ;LW0004
859 ; OUTPUTS: ;LW0004
860 ; IF THIS PLD IS THE 20XX, THE SMALLER OF THE LOCAL PARAMETER ;LW0004
861 ; VALUE AND THE VALUE OF THE MESSAGE'S IS COMPUTED AND REPLACES THE ;LW0004
862 ; PARAMETER IN THE MESSAGE. ;LW0004
863 ; R4 = POINTER TO NEXT PARAMETER (OLD R4+2) ;LW0004
864 ; ;LW0004
865 ;- ;LW0004
866 ;LW0004
867 .IF DF N$$ICF ;LW0004
868 NORML: CALLC GETBIN ; GET NEXT PARAMETER ;LW0004
869 CMPB #1,P$CHN(R5) ; IS THE MESSAGE FROM THE 20XX? ;LW0004
870 BNE 10$ ; IF NE, NO - EXIT ;LW0004
871 CMP R1,R2 ; IS PARAMETER SMALLER THAN OUT VALUE (R2)? ;LW0004
872 BLO 10$ ; IF LO, YES - LEAVE IT IN MESSAGE ;LW0004
873 SUB #2,R4 ; BACK UP MESSAGE POINTER ;LW0004
874 MOV R2,R1 ; COPY OUR PARAMETER AND ;LW0004
875 CALLC PUTBIN ; ...STUFF IT INTO THE MESSAGE ;LW0004
876 10$: RETURN ; RETURN TO CALLER ;LW0004
877 .ENDC ;LW0004
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 15
VFYNME - VALIDATE THE NODE NAME
879 .SBTTL VFYNME - VALIDATE THE NODE NAME
880 ;+
881 ; **-VFYNME-VALIDATE A RECEIVED NODE NAME
882 ;
883 ; INPUTS:
884 ;
885 ; R4 = MESSAGE POINTER TO 'NODENAME'
886 ; R5 = ADDRESS OF PHYSICAL LINK DATA BASE
887 ;
888 ; OUTPUTS:
889 ;
890 ; C-BIT CLEAR:
891 ; R3 = POINTER TO NODE NAME IN NODE DATA BASE
892 ; R4 = MESSAGE POINTER TO 'FUNCTIONS'
893 ;
894 ; C-BIT SET:
895 ; INVALID NODE NAME, THE NODE NAME ALREADY EXISTS, OR LOOPBACK
896 ; IS NOT ENABLED FOR THE PHYSICAL LINK
897 ;
898 ; REGISTERS MODIFIED:
899 ;
900 ; R0, R1, AND R2
901 ;
902 ;-
903
904 000450 005003 VFYNME: CLR R3 ; INDICATE WE HAVEN'T GOT NODE ENTRY YET ;LW0007
905 000452 CALL VERASC ; MAKE SURE IS VALID ASCII ;LW0007
906 000456 103431 BCS 40$ ; IT ISN'T..HANG UP LINE ;**-1
907 000460 005203 INC R3 ; SET FLAG FOR "GTNOD" ;LW0007
908 000462 CALLC GTNOD ; SEARCH FOR THE NODE NAME
909 000472 103004 BCC 20$ ; IF CC, FOUND IT - REJECT THE NODE INIT
910 000474 032713 100000 BIT #DF$TMP,(R3) ; IS THIS THE SCRATCH NODE NAME ENTRY? ;LW0007
911 000500 100420 BMI 40$ ; IF MO, YES - REJECT THE NODE INIT ;LW0007
912 .IF DF N$$ICF ;AP0003
913 CALL CFRNOD ;COUNT FREE SPACES IN NODE NAME TABLE ;JS0001
914 CMP #3,R2 ;IS THERE PLENTY OF SPACE? ;AP0003
915 BGE 40$ ; NO: REJECT THE NODE INIT (CARRY IS SET) ;AP0003
916 .ENDC ;AP0003
917 000502 000410 BR 30$ ; OTHERWISE IT'S OK TO ACCEPT IT ;**-2
918
919 000504 032713 040000 20$: BIT #DF$LCL,(R3) ; IS THIS THE LOCAL NODE NAME ?
920 000510 001414 BEQ 40$ ; IF EQ, NO - REJECT THE NODE INIT
921 000512 016702 000000G MOV $NSADB,R2 ; CHECK IF IT IS OK TO NODE INIT WITH
922 000516 026205 000010 CMP N$LNI(R2),R5 ; ...SELF ON THIS PHYSICAL LINK ?
923 000522 001017 BNE 100$ ; IF NO, NO - REJECT THE NODE INIT ;LW0007
924 000524 032713 004000 30$: BIT #DF$LNK,(R3) ; ANY OTHER REASON TO BLOCK NODE INIT ? ;**-1
925 000530 001004 BNE 40$ ; IF NE, YES - REJECT THE NODE INIT
926 000532 012702 020000 MOV #DF$ADJ,R2 ; SET UP NODE FLAGS FOR ADJACENT NODE
927 000536 CALLR ADNOD ; ADD THE NODE TO THE NODE DATA BASE AND RETURN
928
929 000542 005703 40$: TST R3 ; IF WE GOT ;LW0007
930 000544 001406 BEQ 100$ ; A FREE ENTRY, ;LW0007
931 000546 052713 004000 BIS #DF$LNK,(R3) ; THEN PUT IT ;LW0007
932 000552 CALLC RMNOD ; BACK IN THE BAG ;LW0009
933 000562 000261 100$: SEC ; REPORT ERROR ;LW0007
934 000564 RETURN ; RETURN TO CALLER ;**-1
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 16
RCVVER - VERFIFICATION MESSAGE RECEIVED
936 .SBTTL RCVVER - VERFIFICATION MESSAGE RECEIVED
937 ;+
938 ; **-RCVVER-PROCESS A RECEIVED VERIFICATION MESSAGE
939 ;
940 ; INPUTS:
941 ;
942 ; R4 = MESSAGE POINTER TO 'PASSWORD'
943 ; R5 = ADDRESS OF THE PHYSICAL LINKK BLOCK
944 ;
945 ; OUTPUTS:
946 ;
947 ; C-BIT CLEAR:
948 ; VALID PASSWORD RECEIVED - PHYSICAL LINK IS AVAILABLE
949 ;
950 ; C-BIT SET:
951 ; INVALID PASSWORD
952 ;
953 ; REGISTERS MODIFIED:
954 ;
955 ; R0, R1, R2, R3, AND R4
956 ;
957 ;-
958
959 000566 122715 000004 RCVVER: CMPB #PS$VER,(R5) ; EXPECTING A VERIFICATION MESSAGE ?
960 000572 001022 BNE 30$ ; IF NE, NO - REPORT ERROR
961 000574 016702 000000G MOV $NSADB,R2 ; IS LOOPBACK ENABLED FOR THIS LINK ?
962 000600 026205 000010 CMP N$LNI(R2),R5 ; ...
963 000604 001413 BEQ 20$ ; IF EQ, YES - ANY PASSWORD IS OK
964 000606 016202 000040 MOV N$VER+2(R2),R2 ; GET THE ADDRESS OF THE PASSWORD TABLE
965 000612 032722 100000 BIT #VF$RCV,(R2)+ ; IS THE RECEIVE PASSWORD STILL VALID ?
966 000616 001406 BEQ 20$ ; IF EQ, NO - ANY PASSWORD IS OK
967 000620 012701 000010 MOV #8.,R1 ; SET LENGTH OF PASSWORD TO VALIDATE
968 000624 122224 10$: CMPB (R2)+,(R4)+ ; DOES THIS BYTE MATCH ?
969 000626 001004 BNE 30$ ; IF NE, NO - REPORT ERROR
970 000630 SOB R1,10$ ; CHECK ALL THE BYTES
971 000634 20$: CALLR NXSUP ; SET NEXT STATE TO LINK AVAILABLE
972
973 000640 000261 30$: SEC ; INDICATE AN ERROR CONDITION
974 000642 RETURN ; RETURN TO CALLER
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 17
SNDNTI - SEND A NODE INITIALIZATION MESSAGE
976 .SBTTL SNDNTI - SEND A NODE INITIALIZATION MESSAGE
977 ;+
978 ; **-SNDNTI-BUILD AND SEND THE NODE INIT MESSAGE
979 ;
980 ; INPUTS:
981 ;
982 ; R5 = ADDRESS OF PHYSICAL LINK BLOCK
983 ;
984 ; OUTPUTS:
985 ;
986 ; THE NODE INITIALIZATION MESSAGE IS BUILD AND TRANSMITTED
987 ;
988 ;-
989
990 000644 SNDNTI: ;LW0004
991 .IF DF N$$ICF ;LW0004
992 CMPB #1,P$CHN(R5) ; IS THIS THE 20XX? ;LW0004
993 BEQ 5$ ; IF EQ, YES - SEND OUR OWN NODE INIT ;LW0004
994 MOV $NSADB,R0 ; ELSE SEE IF THE 20XX ;LW0004
995 MOV N$PLD+2(R0),R1 ; ...HAS ALREADY NODE INIT'D ;AP0010
996 CMPB #PS$UP,P$LEN(R1) ;...WITH US? ;AP0010
997 SEC ; ASSUME IT HASN'T ;LW0004
998 BNE 30$ ; IF NE, HASN'T - EXIT WITH ERROR ;LW0004
999 CMP N$LNI(R0),R5 ; IF THIS IS THE LOOPBACK LINE ;AP0010
1000 BEQ 5$ ; THEN SEND THE REAL NODE INIT. ;AP0010
1001 MOV R5,R0 ; OTHERWISE, COPY ADDRESS OF PLD ;LW0004
1002 CALL BFSET ; (COROUTINE TO SET UP MSG BUFFER) ;LW0004
1003 DEC R4 ; BACK UP THE MESSAGE POINTER ;LW0004
1004 MOV #NTI20,R2 ; GET ADDRESS OF 20XX'S NODE INIT ;LW0004
1005 MOV CNT20,R1 ; ...AND LENGTH ;LW0004
1006 BR 30$ ; RETURN TO MOVE DATA AND SEND MESSAGE ;LW0004
1007 .ENDC ;LW0004
1008 ;LW0004
1009 000644 010500 5$: MOV R5,R0 ; SAVE PLD ADDRESS ;LW0005
1010 000646 CALL BFSET ; CO-ROUTINE TO SET UP A MESSAGE BUFFER ;**-1
1011 000652 112724 000001 MOVB #NI.INI,(R4)+ ; START TYPE=INIT
1012 000656 116724 000000G MOVB $NSPNM,(R4)+ ; STORE THE NODE NUMBER
1013 000662 016203 000034 MOV N$NOD+2(R2),R3 ; GET THE ADDRESS OF THE LOCAL NODE NAME
1014 000666 062703 000005 ADD #D$LNG,R3 ; ...
1015 000672 112301 MOVB (R3)+,R1 ; GET THE LENGTH OF THE NODE NAME
1016 000674 110124 MOVB R1,(R4)+ ; AND STUFF IT IN THE MESSAGE
1017 000676 112324 10$: MOVB (R3)+,(R4)+ ; PUT NAME INTO MESSAGE
1018 000700 SOB R1,10$ ; MOVE NAME
1019
1020 .IF DF N$$ICF
1021 MOVB #NI.FLI!NI.FRI,(R4)+ ; WE SUPPORT LINK INTERCEPT AND ROUTING INTERCEPT
1022 .IFF
1023 000704 105024 CLRB (R4)+ ; WE SUPPORT NO FUNCTIONS
1024 .IFT
1025 CLRB R1 ; THIS NODE REQUESTS NO FUNCTIONS
1026 .IFF
1027 000706 112701 000006 MOVB #NI.RRI!NI.RLI,R1 ; REQUEST ROUTE & LINK INTERCEPT
1028 .ENDC
1029
1030 000712 042710 020000 BIC #PF$RVR*400,(R0) ; ASSUME NO VERIFICATION MESSAGE REQUESTED
1031 000716 032772 100000 000040 BIT #VF$RCV,@N$VER+2(R2) ; SHOULD A VERIFICATION MESSAGE BE REQUESTED ?
1032 000724 001404 BEQ 20$ ; IF EQ, NO - ASSUMPTION WAS CORRECT
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 17-1
SNDNTI - SEND A NODE INITIALIZATION MESSAGE
1033 000726 052701 000001 BIS #NI.RVE,R1 ; SET VERIFICATION REQUEST BIT IN MESSAGE
1034 000732 052710 020000 BIS #PF$RVR*400,(R0) ; REMEMBER THAT VERIFICATION WAS REQUESTED
1035 000736 110124 20$: MOVB R1,(R4)+ ; STORE THTE REQUESTS IN THE MESSAGE
1036 000740 016701 000000G MOV $RDBSZ,R1 ; MAX PHYSICAL BLOCKSIZE
1037 000744 CALLC PUTBIN ; PUT INTO MSG
1038 000754 016701 000000G MOV $RDBSZ,R1 ; MAX SIZE OF NSP MSG
1039 000760 CALLC PUTBIN ; PUT INTO MSG
1040 000770 016201 000022 MOV N$LVC(R2),R1 ; GET MAXIMUM NUMBER OF LOGICAL LINKS
1041 000774 CALLC PUTBIN ; PUT INTO MSG
1042 001004 112724 000003 MOVB #RT$VER,(R4)+ ; PUT THE PROTOCOL VERSION INFORMATION
1043 001010 112724 000001 MOVB #RT$ECO,(R4)+ ; ...INTO THE MESSAGE
1044 001014 112724 000000 MOVB #RT$REV,(R4)+ ; ...
1045 001020 112724 000003 MOVB #CM$VER,(R4)+ ; ...
1046 001024 112724 000001 MOVB #CM$ECO,(R4)+ ; ...
1047 001030 112724 000000 MOVB #CM$REV,(R4)+ ; ...
1048 001034 012702 000000G MOV #$NODID,R2 ; GET THE POINTER TO THE SYSTEM ID STRING
1049 001040 012201 MOV (R2)+,R1 ; GET THE LENGTH OF THE SYSTEM ID
1050 001042 110124 MOVB R1,(R4)+ ; AND STORE THE LENGTH IN THE MESSAGE
1051 001044 30$: ;LW0004
1052 001044 RETURN ; RETURN TO THE CO-ROUTINE TO SEND MESSAGE
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 18
SNDVER - SEND A VVERIFICATION MESSAGE
1054 .SBTTL SNDVER - SEND A VVERIFICATION MESSAGE
1055 ;+
1056 ; **-SNDVER-SEND A VERIFICATION MESSGE
1057 ;
1058 ; INPUTS:
1059 ;
1060 ; R5 = ADDRESS OF PHYSICAL LINK BLOCK
1061 ;
1062 ; OUTPUTS:
1063 ;
1064 ; XXX
1065 ;
1066 ; REGISTERS MODIFIED:
1067 ;
1068 ; R0, R1, R2, AND R4
1069 ;
1070 ;-
1071
1072 001046 SNDVER: CALL BFSET ; CO-ROUTINE TO SETUP A MESSAGE BUFFER
1073 001052 112724 000002 MOVB #NI.VER,(R4)+ ; STORE VERIFICATION MESSAGE TYPE
1074 001056 016202 000040 MOV N$VER+2(R2),R2 ; COMPUTE THE ADDRESS OF THE TRANSMIT
1075 001062 062702 000012 ADD #V$XMT,R2 ; ... PASSWORD
1076 001066 012701 000010 MOV #8.,R1 ; SET THE LENGTH OF THE PASSWORD
1077 001072 RETURN ; RETURN TO CO-ROUTINE TO SEND MESSAGE
1078
1079
1080 ;+
1081 ; **-BFSET-COROUTINE TO ALLOCATE AND BUILD AN NSP START MESSAGE
1082 ;
1083 ; INPUTS:
1084 ;
1085 ; THE STACK MUST BE FORMATTED AS FOLLOWS:
1086 ; 0(SP) - RETURN ADDRESS FOR CO-ROUTINE
1087 ; 2(SP) - RETURN ADDRESS TO CALLER'S CALLER
1088 ;
1089 ; OUTPUTS WHEN CALLER IS CALLED BACK:
1090 ;
1091 ; R2 = ADDRESS OF THE DATA DESCRIPTOR BLOCK
1092 ; R4 = MESSAGE POINTER TO 'STARTTTYPE'
1093 ; R5 = ADDRESS OF MESSAGE CCB
1094 ;
1095 ; C-BIT SET:
1096 ; ALLOCATION FAILURE OF THE MESSAGE BUFFER. CONTROL IS
1097 ; RETURNED TO THE CALLER'S CALLER.
1098 ;
1099 ; REGISTERS MODIFIED:
1100 ;
1101 ; R1
1102 ;
1103 ;-
1104
1105 001074 012601 BFSET: MOV (SP)+,R1 ; GET THE RETURN ADDRESS
1106 001076 005002 CLR R2 ; GET THE CHANNEL NUMBER
1107 001100 156502 000004 BISB P$CHN(R5),R2 ; ...
1108 001104 010546 MOV R5,-(SP) ; SAVE THE ADDRESS OF THE PHYSICAL LINK BLOCK
1109 001106 CALL GETLDB ; ALLOCATE A MESSAGE BUFFER
1110 001112 103426 BCS 20$ ; IF CS, ALLOCATION FAILURE - ERROR
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 18-1
SNDVER - SEND A VVERIFICATION MESSAGE
1111 001114 010265 000006 MOV R2,C.LIN(R5) ; SET CHANNEL NUMBER
1112 001120 112765 000022 000011 MOVB #NT$ROU,C.MOD(R5) ; STORE THE SUBFUNCTION CODE
1113 001126 112724 000130 MOVB #MF.CTL!MC.ST,(R4)+ ; BUILD THE MESSAGE FLAGS
1114 001132 016702 000000G MOV $NSADB,R2 ; GET THE ADDRESS OF THE DATA DESCRIPTOR BLOCK
1115 001136 CALL (R1) ; CALL THE CALLER BACK
1116 ;
1117 ; ON RETURN:
1118 ;
1119 ; Z-BIT SET, NO DATA TO MOVE
1120 ;
1121 ; Z-BIT CLEAR:
1122 ; R1 = LENGTH OF BYTE STRING TO MOVE INTO THE MESSAGE
1123 ; R2 = ADDRESS OF BYTE STRING TO MOVE
1124 ;
1125 001140 001403 BEQ 15$ ; IF EQ, NO DATA TO MOVE
1126 001142 112224 10$: MOVB (R2)+,(R4)+ ; MOVE THE DATA INTO THE MESSAGE
1127 001144 SOB R1,10$ ; LOOP
1128 001150 166504 000016 15$: SUB C.BUF+2(R5),R4 ; COMPUTE THE MESSAGE LENGTH
1129 001154 010465 000020 MOV R4,C.CNT(R5) ; ...AND STORE IT IN THE CCB
1130 001160 CALLC SNDLOW ; QUEUE THE MESSAGE TO THE DLC
1131 001170 20$: RECMAP ; RESTORE PROPER ACP MAPPING
1132 001176 RESRG <R5> ; RESTORE R5
1133 001200 RETURN ; RETURN TO CALLER
1134
1135
1136 000001 .END
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 18-2
SYMBOL TABLE
ACKMAS= 170000 CS.SUC= 000001 ER$FCF= 000050 FS.XKL= 002000 LNASY 000726R 003
ACKPRE= 100000 CS.TMO= 020000 ER$FMT= 000005 FS.XOF= 010000 LNSTP 000220R 003
ACKRES= 060000 CTCTB 000676R 003 ER$GEN= 000007 FS.XON= 007000 LNSTR 000114R 003
ACKWRA= 010000 CTENB 001020R 003 ER$IFC= 000030 F$$LVL= 000001 LNTMP 000000R 002
ADNOD = ****** GX CTETB 000010R 003 ER$ILS= 000043 GETBIN= ****** GX LS.DLS= 000200
A$$CHK= 000000 CTLDN 001342R 003 ER$IMG= 000053 GETEXB= ****** GX LS.FCC= 000004
A$$CPS= 000000 CTSTR 001002R 003 ER$MLB= 000006 GETLDB= ****** GX LS.FC0= 000001
A$$PRI= 000000 C$$CKP= 000000 ER$NOD= 000002 GTNOD = ****** GX LS.FC1= 000002
A$$TRP= 000000 C$$ORE= 000400 ER$NSD= 000003 G$$TPP= 000000 LS.ILS= 000200
A.NAK = 010000 C$$RSH= 177564 ER$RES= 000001 G$$TSS= 000000 LS.MAK= 000020
BFSET 001074R 002 C.BID 000003 ER$SSR= 000000 G$$TTK= 000000 LS.MNK= 000040
CB.CCB= 000002 C.BUF 000014 ER$SSS= 000045 G$$WRD= 000000 LS.RES= 000360
CB.RDB= 000004 C.BUF1 000014 ER$STA= 000051 HNGUSR= ****** GX LS.RSV= 000300
CCBGT = ****** GX C.BUF2 000024 ER$TCN= 000040 IE.ABO= ****** GX LWAIT 000304R 003
CE.ABO= 100362 C.CNT 000020 ER$TCO= 000041 IS.SET= ****** GX L$$ASG= 000000
CE.DIS= 100366 C.CNT1 000020 ER$TPA= 000010 IS.SUC= ****** GX L$$DRV= 000000
CE.ERR= 100370 C.CNT2 000030 ER$UOB= 000004 I$$RAR= 000000 L$$P11= 000001
CE.MOP= 100372 C.FLG 000022 E$$XPR= 000000 I$$RDN= 000000 L$$11R= 000000
CE.NTE= 100361 C.FLG1 000022 FC.CCP= 000020 KDSAR0= 172360 L.CIQ 000026
CE.RTE= 100376 C.FLG2 000032 FC.CTL= 000006 KDSDR0= 172320 L.DCR 000036
CE.SRC= 100364 C.FNC 000010 FC.KCP= 000016 KISAR0= 172340 L.FLG 000012
CE.TMO= 100374 C.LIN 000006 FC.KIL= 000004 KISAR5= 172352 L.LDA 000024
CF.EOM= 000004 C.LNK 000000 FC.RCE= 000002 KISAR6= 172354 L.LEN = 000014
CF.HDR= 000020 C.MOD 000011 FC.RCP= 000014 KISAR7= 172356 L.LIA 000026
CF.LB = 100000 C.NSP 000004 FC.TIM= 000010 KISDR0= 172300 L.LLA 000002
CF.SOM= 000010 C.RSV 000002 FC.XCP= 000012 KISDR6= 172314 L.LNG1 000054
CF.SYN= 000040 C.STA 000007 FC.XME= 000000 KISDR7= 172316 L.LNO 000022
CF.TRN= 000100 C.STS 000012 FE.CAL= 000040 K$$CNT= 177546 L.LSA 000032
CKDON 000446R 003 DF$ADJ= 020000 FE.DRV= 000010 K$$CSR= 177546 L.LSF 000044
CLLNK 000536R 003 DF$DWN= 001000 FE.EXP= 000200 K$$LDC= 000000 L.LVL 000001
CLNLNK= ****** GX DF$FRE= 070000 FE.EXT= 000001 K$$TPS= 000074 L.NDA 000034
CL$ACK= 000040 DF$LCL= 040000 FE.EXV= 000004 LA.ACK= 100000 L.NIN 000016
CL$MFL= 000010 DF$LNK= 004000 FE.LSI= 000400 LA.MSK= 170000 L.NLA 000036
CL$NRM= 000020 DF$REM= 010000 FE.MUP= 000002 LA.NAK= 110000 L.NSTA 000025
CL$SFL= 000004 DF$RES= 002000 FE.MXT= 040000 LA.NMS= 010000 L.NXN 000014
CL$TYP= 000001 DF$TMP= 100000 FE.NLG= 100000 LA.RES= 060000 L.PDV 000041
CL.MU1= 000001 DISUS0= ****** GX FE.PKT= 000100 LD$LP = 000000 L.REM 000006
CL.MU2= 000002 DSFLT 001222R 003 FE.PLA= 000020 LENB = 000001 L.RLA 000010
CL.RES= 177774 DSFNC 001300R 003 FS.AST= 000000 LF.ACT= 100000 L.RNO 000020
CMODE = 140000 D$CHN 000002 FS.CIB= 002000 LF.DFL= 000060 L.STA 000000
CM$ECO= 000001 D$FLG 000000 FS.CRA= 001000 LF.DSP= 000040 L.TC 000042
CM$REV= 000000 D$LEN 000014 FS.DIS= 013000 LF.DST= 000020 L.TIC 000043
CM$VER= 000003 D$LNG 000005 FS.DVC= 001000 LF.FPN= 000010 L.TIPD 000005
CS.ABO= 000100 D$NAM 000006 FS.ENB= 012000 LF.HF0= 001000 L.TIPI 000004
CS.BUF= 000200 D$USE 000004 FS.GET= 006000 LF.HMF= 020000 L.UDQ 000034
CS.DCR= 000400 D$$BUG= 177514 FS.INI= 000000 LF.HSF= 010000 L.ULA 000040
CS.DEV= 000002 D$$ISK= 000000 FS.KIL= 000000 LF.INR= 000100 L.USA 000030
CS.DIS= 000040 D$$L11= 000001 FS.LTM= 001000 LF.INT= 000400 L.USTA 000024
CS.ENB= 000020 D$$YNC= 000000 FS.MNT= 004000 LF.LCL= 040000 L.XQ1 000046
CS.EOF= 000001 D$$YNM= 000000 FS.MSN= 014000 LF.MMF= 100000 L.XQ2 000050
CS.ERR= 100000 ENBX = 000002 FS.RNG= 011000 LF.MSF= 040000 L.XQ3 000052
CS.HFE= 002000 ER$ABO= 000046 FS.RTN= 001000 LF.NKR= 000200 MA.DA = 000000
CS.LST= 040000 ER$ABT= 000011 FS.SET= 005000 LF.NKS= 000400 MA.IL = 000020
CS.MTL= 004000 ER$ACC= 000042 FS.STM= 000000 LF.NPN= 000001 MC.CC = 000040
CS.RNG= 000010 ER$ACT= 000044 FS.STP= 002000 LF.NTS= 002000 MC.CI = 000020
CS.ROV= 000004 ER$CDI= 000052 FS.STR= 001000 LF.RSU= 100000 MC.DC = 000100
CS.RSN= 010000 ER$COM= 000047 FS.TRM= 003000 LHANG 000276R 003 MC.DI = 000060
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 18-3
SYMBOL TABLE
MC.NO = 000000 NT$DAT= 000002 N.ACTL 000114 P$CHN 000004 ST$DIP= 000006
MC.ST = 000120 NT$DIS= 000010 N.DDL1 000012 P$CNT 000005 ST$DIR= 000012
MD.BM = 000040 NT$IDC= 000034 N.DDL2 000016 P$FRQ 000012 ST$DIS= 000014
MD.EM = 000100 NT$IDN= 000030 N.DDS1 000014 P$FSP 000013 ST$UDI= 000013
MD.ILS= 000040 NT$ILN= 000032 N.DDS2 000020 P$LCD 000002 ST$UNR= 000011
MD.IM = 000020 NT$IND= 000024 N.DFMT 000010 P$LEN 000014 SWR = 177570
MF.ACK= 000004 NT$INL= 000026 N.DGRP 000012 P$LST 000000 S$EMR 000006
MF.CTL= 000010 NT$INT= 000004 N.DOBJ 000011 P$NOD 000010 S$FMT 000012
MF.DAT= 000000 NT$LS = 000014 N.DUSR 000014 P$PFQ 000006 S$LEN 000040
MPAR = 172100 NT$MOD= 000012 N.LGTH= 000160 P$TIM 000003 S$LNK 000022
MPCSR = 177746 NT$NAK= 000022 N.NODE 000000 P$$P45= 000000 S$MLK 000024
MSGHDR= 000007 NT$OFF= 000026 N.OPDL 000136 P$$WRD= 000000 S$NKS 000010
M$$CRB= 000124 NT$ON = 000002 N.OPTD 000140 Q$$OPT= 000010 S$RES 000014
M$$CRX= 000000 NT$QRY= 000014 N.PASL 000102 RCVINI 000234R 002 S$SEC 000000
M$$FCS= 000000 NT$REJ= 000004 N.PASS 000104 RCVSTR 000126RG 002 S$SNI 000016
M$$MGE= 000000 NT$ROU= 000022 N.RQDL 000060 RCVVER 000566R 002 S$UMR 000004
M$$OVR= 000000 NT$RTI= 000010 N.RQID 000062 RECOVR= ****** GX S$UMS 000002
NC.FM0= 000000 NT$RTN= 000000 N.RSRV= 000030 RF.CLN= 000000 S$UNI 000020
NC.FM1= 000001 NT$SNG= 000006 N.SDL1 000036 RF.CTL= 000003 S$$WRG= 000000
NC.FM2= 000002 NT$STP= 000004 N.SDL2 000042 RF.TIM= 177400 S$$YSZ= 007600
NETTIM= 000005 NT$XOF= 000020 N.SDS1 000040 RF.TM0= 000400 TMLNK 000002R 002
NE.ABO= 177776 NT$XON= 000016 N.SDS2 000056 RF.WTD= 000020 TPS = 177564
NE.ACT= 177771 NT.ACK= 000001 N.SEG 000006 RF.WTM= 000030 T$$KMG= 000000
NE.CLS= 177767 NT.BOM= 000040 N.SFMT 000034 RF.WTS= 000010 T$$MIN= 000000
NE.DIS= 177777 NT.EOM= 000100 N.SGRP 000036 RH.CNT= 000001 UBMPR = 170200
NE.FMT= 177770 NT.FCN= 037400 N.SOBJ 000035 RH.EFM= 000020 UDSAR0= 177660
NE.NDT= 177766 NT.MD1= 000420 N.SUSR 000040 RH.HDR= 000002 UDSDR0= 177620
NE.NOD= 177774 NT.MFL= 000002 PD$NSP= ****** GX RH.PRI= 000014 UISAR0= 177640
NE.REJ= 177775 NT.MOD= 000020 PF$EIP= 000100 RH.PR1= 000004 UISAR4= 177650
NE.RES= 177773 NT.MOM= 000000 PF$ENB= 000200 RH.RFM= 000100 UISAR5= 177652
NE.TIM= 177772 NT.NAK= 000002 PF$OFF= 000000 RMNOD = ****** GX UISAR6= 177654
NI.FLI= 000002 NT.NFL= 000000 PF$RLI= 000002 RSSTR 001154R 003 UISAR7= 177656
NI.FRI= 000004 NT.SFL= 000001 PF$RRI= 000004 RSST1 001202R 003 UISDR0= 177600
NI.FRT= 000001 NT.SOL= 000140 PF$RVE= 000001 RT$ECO= 000001 UISDR4= 177610
NI.FUB= 000010 NT.XOF= 000004 PF$RVR= 000040 RT$REV= 000000 UISDR5= 177612
NI.INI= 000001 NT.XON= 000010 PF$SLI= 000002 RT$VER= 000003 UISDR6= 177614
NI.RLI= 000002 NXSUP 000412R 002 PF$SRI= 000004 R$$DER= 000000 UISDR7= 177616
NI.RRI= 000004 N$ACQ 000000 PF$SRT= 000001 R$$K11= 000001 USRCRJ= ****** GX
NI.RVE= 000001 N$ICF 000006 PF$STA= 000003 R$$SND= 000000 VERASC= ****** GX
NI.VER= 000002 N$LNI 000010 PF$SUB= 000010 R$$11M= 000000 VFYNME 000450R 002
NP$RTR= 000003 N$LVC 000022 PF$UP = 000001 SISDR0= 172200 VF$RCV= 100000
NS.BOM= 000040 N$NOD 000032 PIRQ = 177772 SKPEXB= ****** GX VF$XMT= 040000
NS.EOM= 000100 N$PLD 000026 PMODE = 030000 SNDLOW= ****** GX V$FLG 000000
NS.MFL= 000003 N$STS 000042 PR0 = 000000 SNDNTI 000644R 002 V$LEN 000022
NS.MOM= 000000 N$TCB 000004 PR1 = 000040 SNDVER 001046R 002 V$RCV 000002
NS.NFL= 000001 N$TMP 000012 PR4 = 000200 SR0 = 177572 V$XMT 000012
NS.SET= 000002 N$VER 000036 PR5 = 000240 SR3 = 172516 V$$CTR= 001000
NS.SFL= 000002 N$$DAT= 000030 PR6 = 000300 STLN0 = ****** GX WINDOW= 004000
NS.SOL= 000140 N$$DIS= 000020 PR7 = 000340 STLVC = ****** GX WTEXT 001032R 003
NS.SUC= 000001 N$$INT= 000020 PS = 177776 STOP = 000001 X$$DBT= 000000
NT$ABO= 000022 N$$LDV= 000001 PS$NTI= 000003 STPLD = ****** GX Z.MAP = 000016
NT$ACC= 000002 N$$MOV= 000010 PS$OFF= 000000 STRT = 000004 $CALLX= ****** GX
NT$ADS= 000000 N$$OPT= 000020 PS$STR= 000001 ST$CC = 000002 $CCBRT= ****** GX
NT$AKD= 000016 N$$OVR= 000042 PS$UP = 000005 ST$CIR= 000003 $LLCRQ= ****** GX
NT$AKI= 000020 N$$SYS= 000001 PS$VER= 000004 ST$CIS= 000001 $LLCRS= ****** GX
NT$CC = 000012 N$$USR= 000001 PS$WT = 000002 ST$DAT= 000005 $LNDON= ****** GX
NT$CON= 000000 N.ACNT 000116 PUTBIN= ****** GX ST$DID= 000015 $LNSTP 000362RG 003
NSPLNA MACRO M1110 13-OCT-79 10:14 PAGE 18-4
SYMBOL TABLE
$MUL = ****** GX $NSPNM= ****** GX $QUEEV= ****** GX $SLTTA= ****** GX .CTENB 000000RG 003
$NODID= ****** GX $PDVTB= ****** GX $RDBSZ= ****** GX .CTCMP 000636RG 003 .TMLIN 000016RG 003
$NSADB= ****** GX $QEVNT= ****** GX
. ABS. 000160 000
000000 001
NSPLNA 001202 002
$NSACP 001366 003
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 19305 WORDS ( 76 PAGES)
DYNAMIC MEMORY: 20620 WORDS ( 79 PAGES)
ELAPSED TIME: 00:01:09
NSPLNA,[131,34]NSPLNA/CR/-SP=[130,10]NETLIB/ML,RSXMC4/PA:1,[131,10]NSPLNA
NSPLNA CREATED BY MACRO ON 13-OCT-79 AT 10:15 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ADNOD = ****** GX 15-927
BFSET 001074 R 17-1010 18-1072 #18-1105
CCBGT = ****** GX 10-691
CE.DIS = 100366 9-530
CE.MOP = 100372 9-507
CKDON 000446 R #7-370 9-604
CLLNK 000536 R 6-328 #8-418
CLNLNK = ****** GX 3-131
CM$ECO = 000001 #3-73 17-1046
CM$REV = 000000 #3-73 17-1047
CM$VER = 000003 #3-73 17-1045
CTCTB 000676 R 9-485 #9-495
CTENB 001020 R 9-499 #9-562
CTETB 000010 R 4-171 #4-181
CTLDN 001342 R 6-260 9-602 #11-713
CTSTR 001002 R 9-496 #9-543
C.BUF 000014 18-1128
C.CNT 000020 *18-1129
C.FNC 000010 *10-696 *11-715
C.LIN 000006 6-244 9-475 9-515 *10-694 *10-695 *11-714 *18-1111
C.MOD 000011 *18-1112
C.NSP 000004 *9-515 11-714
C.STS 000012 6-245 6-290 9-480 *11-713
DF$ADJ = 020000 15-926
DF$DWN = 001000 8-424 8-447
DF$LCL = 040000 15-919
DF$LNK = 004000 9-587 15-924 15-931
DF$TMP = 100000 15-910
DISUS0 = ****** GX 3-130
DSFLT 001222 R 5-212 6-327 #10-657
DSFNC 001300 R 10-629 10-636 10-660 10-667 #10-691
D$CHN 000002 8-445 *9-586
D$LNG 000005 17-1014
ENBX = 000002 #6-236 6-246
FC.CCP = 000020 11-715
FC.CTL = 000006 10-628 10-635 10-659 10-666
FS.DIS = 013000 10-666
FS.ENB = 012000 10-628
FS.STP = 002000 10-659
FS.STR = 001000 10-635
GETBIN = ****** GX 13-808 13-809 13-810
GETEXB = ****** GX 13-787 13-796
GETLDB = ****** GX 18-1109
GTNOD = ****** GX 15-908
HNGUSR = ****** GX 8-448
IE.ABO = ****** GX 6-283
IS.SET = ****** GX 6-241
IS.SUC = ****** GX 6-259
KISAR6 = 172354 *12-743 *18-1131
LENB = 000001 #6-237 6-249
LF.ACT = 100000 #3-86 7-388
LF.LCL = 040000 8-428
NSPLNA CREATED BY MACRO ON 13-OCT-79 AT 10:15 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
LF.RSU = 100000 3-122
LHANG 000276 R #6-313 7-354 9-532 12-753
LNASY 000726 R 9-495 #9-507
LNSTP 000220 R 4-183 #6-279
LNSTR 000114 R 4-182 #6-241
LNTMP 000000 R #3-91 *7-347 *7-350 7-357 7-370 *7-389
LWAIT 000304 R 6-291 #6-316 9-533
L.DCR 000036 3-137
L.LEN = 000014 #3-84 7-379
L.REM 000006 8-430
L.UDQ 000034 3-138
L.USTA 000024 3-128
MC.ST = 000120 18-1113
MF.CTL = 000010 18-1113
M$$MGE = 000000 3-123 3-123 9-588 9-588 12-743 13-808 13-808 13-809 13-809
13-810 13-810 15-908 15-908 15-932 15-932 17-1037 17-1037 17-1039
17-1039 17-1041 17-1041 18-1130 18-1130 18-1131
NI.INI = 000001 12-734 17-1011
NI.RLI = 000002 17-1027
NI.RRI = 000004 17-1027
NI.RVE = 000001 17-1033
NI.VER = 000002 12-739 18-1073
NT$ROU = 000022 18-1112
NXSUP 000412 R #13-836 16-971
N$ICF 000006 8-420 *8-422 9-591 *9-593 13-793 *13-795
N$LNI 000010 6-280 *6-282 15-922 16-962
N$LVC 000022 17-1040
N$NOD 000032 17-1013
N$PLD 000026 5-198 7-345 7-346
N$STS 000042 12-746 13-838
N$VER 000036 16-964 17-1031 18-1074
N$$ICF = ****** 3-1 3-2 3-92 8-432 9-546 10-619 10-640 13-799 13-818
14-867 15-912 17-991 17-1020
N$$SYS = 000001 3-75
N$$USR = 000001 3-75 9-513
PD$NSP = ****** GX 3-123 7-375 9-588 13-808 13-809 13-810 15-908 15-932 17-1037
17-1039 17-1041 18-1130
PF$EIP = 000100 6-288 9-562 10-631
PF$ENB = 000200 6-248 6-251 6-317 10-617 10-631 10-670
PF$RVE = 000001 13-813
PF$RVR = 000040 13-833 17-1030 17-1034
PF$SLI = 000002 13-790
PF$SRI = 000004 13-790
PF$STA = 000003 7-351 9-563 9-594
PF$UP = 000001 6-254 6-287
PS$NTI = 000003 9-545 13-782
PS$STR = 000001 9-526 9-543 10-638
PS$UP = 000005 13-836
PS$VER = 000004 13-832 16-959
PS$WT = 000002 5-205 6-255 6-322 6-325
PUTBIN = ****** GX 17-1037 17-1039 17-1041
P$CHN 000004 *6-244 7-373 10-695 18-1107
NSPLNA CREATED BY MACRO ON 13-OCT-79 AT 10:15 PAGE 3
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
P$FRQ 000012 *13-798 13-813
P$FSP 000013 *13-789
P$LEN 000014 5-214 7-355
P$NOD 000010 8-423 9-583 *9-585 *13-817
P$PFQ 000006 6-284 *6-286 9-596 *9-598
P$TIM 000003 5-201 *5-203
RCVINI 000234 R 12-736 #13-781
RCVSTR 000126 RG #12-730
RCVVER 000566 R 12-741 #16-959
RECOVR = ****** GX 3-123
RF.TM0 = 000400 6-313 6-316 10-700
RF.WTD = 000020 6-313 6-319 10-664 10-669
RF.WTM = 000030 5-210
RF.WTS = 000010 6-313 6-316 6-324 10-657 10-662
RMNOD = ****** GX 9-588 15-932
RSSTR 001154 R 6-257 9-595 #10-617
RSST1 001202 R 9-564 #10-634
RSX11D = ****** 3-123 3-123 9-588 9-588 13-808 13-808 13-809 13-809 13-810
13-810 15-908 15-908 15-932 15-932 17-1037 17-1037 17-1039 17-1039
17-1041 17-1041 18-1130 18-1130
RT$ECO = 000001 #3-73 17-1043
RT$REV = 000000 #3-73 17-1044
RT$VER = 000003 #3-73 17-1042
R$$EIS = ****** 7-381
SKPEXB = ****** GX 13-784
SNDLOW = ****** GX 18-1130
SNDNTI 000644 R 9-549 #17-990
SNDVER 001046 R 13-815 #18-1072
STLN0 = ****** GX 4-170 9-479
STLVC = ****** GX 3-115 8-425
STOP = 000001 #6-238 6-290
STPLD = ****** GX 12-731
STRT = 000004 #6-235 6-252
ST$CIR = 000003 3-134
ST$DAT = 000005 3-120
ST$DIP = 000006 3-126
ST$UNR = 000011 3-128
S$SNI 000016 13-839 *13-841
S$UNI 000020 12-747 *12-749
TMLNK 000002 R #3-115 5-195
UISAR6 = 177654 12-743 18-1131
USRCRJ = ****** GX 3-139
VERASC = ****** GX 15-905
VFYNME 000450 R 13-785 #15-904
VF$RCV = 100000 16-965 17-1031
V$XMT 000012 18-1075
WTEXT 001032 R 5-213 6-329 9-497 9-500 9-544 #9-580
Z.MAP = 000016 #3-85 7-377
$CALLX = ****** GX 3-123 9-588 13-808 13-809 13-810 15-908 15-932 17-1037 17-1039
17-1041 18-1130
$CCBRT = ****** GX 9-484 9-524
$LLCRQ = ****** GX 10-697
NSPLNA CREATED BY MACRO ON 13-OCT-79 AT 10:15 PAGE 4
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
$LLCRS = ****** GX 11-716
$LNDON = ****** GX 7-393
$LNSTP 000362 RG #7-344
$MUL = ****** GX 7-384
$NODID = ****** GX 17-1048
$NSADB = ****** GX 5-197 6-279 7-344 8-419 9-590 12-745 13-792 13-837 15-921
16-961 18-1114
$NSPNM = ****** GX 17-1012
$PDVTB = ****** GX 7-375
$QEVNT = ****** GX 9-516
$QUEEV = ****** GX 9-478
$RDBSZ = ****** GX 17-1036 17-1038
$SLTTA = ****** GX 7-387
.CTCMP 000636 RG #9-475
.CTENB 000000 RG #4-170
.TMLIN 000016 RG #5-195
NSPLNA CREATED BY MACRO ON 13-OCT-79 AT 10:15 PAGE 5
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
CALL 3-115 3-130 3-131 3-139 4-170 5-195 5-212 5-213 6-257 6-327
6-328 7-354 7-384 8-425 8-448 9-479 9-484 9-516 9-524 9-602
9-604 10-629 10-636 10-660 10-667 10-691 12-731 12-736 12-741 12-753
13-784 13-785 13-787 13-796 13-815 15-905 17-1010 18-1072 18-1109 18-1115
CALLC #3-69 3-123 9-588 13-808 13-809 13-810 15-908 15-932 17-1037 17-1039
17-1041 18-1130
CALLR #4-171 #6-260 #6-329 #7-393 #9-478 #9-485 #9-532 #9-533 #9-549 #11-716
#15-927 #16-971
CALLX #3-69 3-123 9-588 13-808 13-809 13-810 15-908 15-932 17-1037 17-1039
17-1041 18-1130
CCBDF$ #3-70 #3-71
HWDDF$ #12-743 #12-743 #18-1131 #18-1131
NSPSY$ #3-70 #3-72
NSPVR$ #3-70 3-73
RECMAP #3-69 #12-743 #18-1131
RESRG #3-68 #3-140 #8-450 #9-589 #12-754 #13-845 #18-1132
RETURN 3-143 5-216 7-359 7-391 8-451 9-528 9-605 10-639 10-671 10-701
12-755 13-846 15-934 16-974 17-1052 18-1077 18-1133
SAVRG #3-68 #3-136 #8-418 #9-582 #12-730 #13-781
SOB #3-142 #5-215 #7-356 #8-449 #16-970 #17-1018 #18-1127
$QDLC #3-70 #10-697