Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/mcb/nspifa.list
There are no other files named nspifa.list in the archive.
NSPIFA MACRO M1110 06-NOV-79 10:06
TABLE OF CONTENTS
4- 125 RINCTL
5- 207 RINCI
8- 351 ADDSRC & ADDDST
9- 429 RINCC
10- 479 RINDI
11- 535 RINDC
12- 610 XINCI
13- 660 XINCC
14- 707 XINDI
15- 758 XINDC
16- 832 DCICF ;LW0004
17- 872 HNGILT
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 3
1 .TITLE NSPIFA
2 .IDENT /V01.26/
3
4 ;
5 ; COPYRIGHT (C) 1976
6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
7 ;
8 ;
9 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A
10 ; SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE
11 ; INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ANY
12 ; OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE MADE
13 ; AVAILABLE TO ANY OTHER PERSON EXECPT FOR USE ON SUCH SYSTEM AND
14 ; TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE TO AND
15 ; OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.
16 ;
17 ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
18 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
19 ; EQUIPMENT CORPORATION.
20 ;
21 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY
22 ; OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
23 ;
24 ;
25 ; NSP INTERCEPT ROUTINES
26 ;
27 ; VERSION X01
28 ;
29 ; MODIFICATIONS:
30 ; 1.01 12-APR-78 JOHN SAUTER
31 ; ACCEPT A CONNECT INITIATE WITH AN UNKNOWN SOURCE ADDRESS.
32 ; THE VARIOUS CASES OF SOURCE AND DESTINATION BEING UNKNOWN,
33 ; ADJACENT AND REMOTE ARE PARSED AND CERTAIN COMBINATIONS
34 ; ARE PERMITTED. THE EFFECT OF THIS IS TO ALLOW A NETWORK
35 ; CONSISTING OF TWO NEIGHBOR INTERCEPT NODES EACH SURROUNDED
36 ; BY NON-INTERCEPT NODES.
37 ; 1.02 15-MAY-78 LEE WEBBER
38 ; UPDATE CALL TO "SNDMSG" TO CALL NEW ENTRY "SNDICF"
39 ; 1.03 5-MAY-78 LEE WEBBER
40 ; MODIFY CALLS TO ACK/NAK ROUTINES TO CORRESPOND TO NEW ACK/NAK
41 ; INTERFACE
42 ; 1.04 12-MAY-78 LEE WEBBER
43 ; ADD CODE TO SEND DC'S ACROSS THE NET IN RESPONSE TO MESSAGES
44 ; ADDRESSED TO IDLE OR NON-INTERCEPT LINKS, OR ONES IN THE WRONG
45 ; STATE
46 ; 1.05 16-MAY-78 LEE WEBBER
47 ; ADD CODE TO COMPLETE CLEANING UP LOGICAL LINKS AFTER DISCONNECT
48 ; 1.06 11-SEP-78 LEE WEBBER
49 ; TAKE OUT SOFT DIAGNOSTIC CRASHES
50 ; 1.07 20-SEP-78 LEE WEBBER
51 ; PUT CODE IN "DCICF" TO SET UP PARM LIST
52 ; 1.08 4-OCT-78 LEE WEBBER
53 ; MODIFY CALLING SEQUENCE TO "CFRNOD"
54 ; 1.09 9-NOV-78 LEE WEBBER
55 ; CHANGE "HNGILT" TO ABORT LINK IN A CLEANER WAY ON A LINE DROP
56 ; 1.10 11-JAN-79 LEE WEBBER
57 ; REQUIRE "AT LEAST" THREE NODE TABLE ENTRIES TO BE AVAILABLE
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 3-1
58 ; FOR A CONNECT, NOT "MORE THAN"
59 ; 1.11 31-JAN-79 LEE WEBBER
60 ; RECOVER USER APR6 AFTER SENDING A DC ON LINE FAILURE
61 ; 1.12 12-FEB-79 LEE WEBBER
62 ; PUT DIAGNOSTIC CRASH IN "XINCI" ON "NO PATH" EVENT
63 ; 1.13 14-FEB-79 LEE WEBBER
64 ; FIX "LINE DOWN" CODE TO CLEAN UP BOTH INTERCEPT LLT'S
65 ; 1.14 9-MAR-79 LEE WEBBER
66 ; ELIMINATE ALL CODE HANDLING "UNKNOWN SOURCE NODE" CASE.
67 ; MODIFY "ADDDST" TO ONLY PUT THE NODE IN THE DATA BASE IF
68 ; SOMEONE ELSE DIDN'T PUT IT THERE FIRST.
69 ; 1.15 8-APR-79 LEE WEBBER
70 ; CLEAN UP LINK IMMEDIATELY IN "DCICF" CODE
71 ; 1.16 8-APR-79 LEE WEBBER
72 ; CHANGE MESSAGE TYPE IN C.MOD FOR REGULAR DC SEND
73 ; 1.17 19-APR-79 LEE WEBBER
74 ; HAVE "DCICF" SKIP WORK IF THE TARGET LINK IS ALREADY GONE
75 ; 1.18 11-JUL-79 LEE WEBBER
76 ; BACK OUT OF FIX #14 AND REINSTITUTE "UNKNOWN SOURCE"
77 ; 1.19 2-AUG-79 ALAN D. PECKHAM
78 ; FIX LINK ADDRESS SWITCH IN DCICF
79 ; 1.20 7-AUG-79 ALAN D. PECKHAM
80 ; IF DESTINATION NODE APPEARS BETWEEN RECEPTION OF CI IN NSP
81 ; AND PROCESSING IN ACP, WRONG NODE ENTRY GETS PUT IN LINK TABLE.
82 ; ANOTHER CFRNOD CALL ASSUMED R0 RETURN INSTEAD OF R2.
83 ; FIX ADD(SRC/DST) TO USE PLD OF RECEIVED LINE INSTEAD OF
84 ; INTERCEPT LINE.
85 ; 1.21 16-AUG-79 ALAN D. PECKHAM
86 ; LINE DOWN DC SHOULD HAVE ZERO SRCADDR IF LINK WAS IN CIS STATE
87 ; FIX BUG INTRODUCED IN 1.20 - INTERCEPT LINE SHOULD BE USED
88 ; WHEN CREATING NEW NODE ENTRY FOR UNKNOWN DESTINATION.
89 ; ALSO DID SOME RELABELING IN RINCI AND ADD(SRC/DST).
90 ; TAKE ADVANTAGE OF ROUTINE "DODCR" WHICH TRIES TO RELEASE NODES
91 ; AFTER DOING DODCI.
92 ; 1.22 23-AUG-79 ALAN D. PECKHAM
93 ; FINALLY! THE LINE DOWN BUG HAS BEEN FOUND. LOAD UP THE SOURCE
94 ; NODE IN DCICF FOR DODC.
95 ; 1.23 23-AUG-79 ALAN D. PECKHAM
96 ; BLEW IT IN ADD(SRC/DST)... STPLD DESTROYS R0 & R1, SO LET'S AVOID
97 ; USING IT.
98 ; 1.24 23-AUG-79 ALAN D. PECKHAM
99 ; ALMOST THERE... MOVE PARANOID CODE TO PROPER PLACE IN ADD(SRC/DST)
100 ; 1.25 28-AUG-79 ALAN D. PECKHAM
101 ; LINE DOWN PROBLEM PERSISTED BECAUSE DCICF WAS CALLING DODC INSTEAD
102 ; OF DODCI, THUS SETTING UP THE SOURCE NODE OF THE DC TO THE LOCAL NODE.
103 ; 1.26 6-NOV-79 ALAN D. PECKHAM
104 ; FIX STACK CLEANUP BUG WHEN LLT UNAVAILABLE.
105 ;
106 ;
107 ; EXTERNAL MACRO DEFINITIONS
108 ;
109
110 .MCALL SAVRG,RESRG
111 .MCALL SAVMAP,RESMAP,RECMAP,MAP
112 .MCALL CALLC,CALLX
113 .MCALL CCBDF$,NSPSY$
114 000000 CCBDF$ ;DEFINE THE CCB OFFSETS
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 3-2
115 000000 NSPSY$ ;DEFINE THE NSP SYMBOLS
116
117 000000 .PSECT NSPIFA
118
119 ;
120 ; LOCAL DATA FOR INTERCEPT
121 ;
122
123 000000 000000 TMPLNK: .WORD 0 ;ADDRESS OF LLT ALLOCATED FOR CONNECT INITIATE
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 4
RINCTL
125 .SBTTL RINCTL
126
127 ;++
128 ;RINCTL
129
130 ;INPUTS:
131 ; R5=CCB ADDRESS
132 ; R4=MESSAGE POINTER (DESTADDR)
133 ; R3=SOURCE NODE INDEX
134 ; R2=MSGFLGS
135 ; R0=DESTINATION NODE INDEX
136 ;OUTPUTS:
137 ; NONE
138
139 ; THIS ROUTINE WILL TAKE NSP CONTROL MESSAGE RECEIVED FROM AN
140 ;INTERCEPT NODE AND DISPATCH TO THE APPROPRIATE PROCESSING ROUTINE.
141
142 ;--
143 .ENABL LSB
144
145 000002 RINCTL::MAP C.BUF(R5) ;MAP TO MESSAGE
146 000010 016504 000024 MOV C.BUF2(R5),R4 ;MESSAGE POINTER [DESTADDR]
147 000014 016503 000032 MOV C.FLG2(R5),R3 ;GET POINTER TO SOURCE NODE NAME
148 000020 016502 000022 MOV C.FLG1(R5),R2 ;MSGFLGS
149 000024 016500 000030 MOV C.CNT2(R5),R0 ;GET POINTER TO DESTINATION NODE NAME
150 000030 006002 ROR R2 ;MAKE SUBTYPE INTO WORD INDEX
151 000032 006002 ROR R2
152 000034 006002 ROR R2
153 000036 042702 177761 BIC #^C<14.>,R2 ;ISOLATE SUBTYPE BITS
154 000042 SAVRG <R0,R2,R3,R4>
155 000052 CALL @RCTLTB(R2) ;DISPATCH
156 000056 RESRG <R4,R3,R2,R0>
157 000066 103422 BCS 10$ ;TOSS MSG..RELEASE BUFFER
158 000070 005705 TST R5 ;IS THE BUFFER STILL AROUND ?
159 000072 001426 BEQ 20$ ;IF EQ, NO - DON'T FORWARD OR RELEASE IT
160
161 000074 RDICTL::CALL @XCTLTB(R2) ;DISPATCH TO PROPER FORWARDING ROUTINE
162 000100 103415 BCS 10$ ;TOSS MSG..RELEASE RESOURCE
163 000102 016504 000016 MOV C.BUF+2(R5),R4 ;RESTORE MSG POINTER TO MSGFLGS
164 000106 016002 000006 MOV I.REM(R0),R2 ;GET POINTER TO SOURCE NODE NAME
165 000112 016003 000042 MOV I.IREM(R0),R3 ;GET POINTER TO DESTINATION NODE NAME
166 000116 105260 000005 INCB I.TIPD(R0) ;BUMP TRANSFER COUNT ;LW0002
167 000122 CALLC SNDICF ;FORWARD CONTROL MESSAGE ;LW0002
168 ;**-1
169 .IF DF N$$CNC
170 MOV $NSADB,R2 ;CHARGE THE USE OF A LARGE DATA BUFFER
171 DECB N$POL(R2) ;...
172 .ENDC
173
174 000132 000406 BR 20$
175
176 000134 005705 10$: TST R5 ;WAS BUFFER USED TO SEND DC?
177 000136 001404 BEQ 20$ ;YES..RELEASE BUFFER @ XCMPLT
178 000140 CALLC UNSPWN ;RELEASE RESOURCE
179
180 000150 20$: RECMAP ;RECOVER PROPER ACP MAPPING
181 000156 RETURN
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 4-1
RINCTL
182
183 .DSABL LSB
184
185 000160 000220' RCTLTB: .WORD TOSS ;TOSS MESSAGE
186 000162 000224' .WORD RINCI
187 000164 001032' .WORD RINCC
188 000166 001210' .WORD RINDI
189 000170 001414' .WORD RINDC
190 000172 000220' .WORD TOSS ;TOSS MESSAGE
191 000174 000220' .WORD TOSS ;TOSS MESSAGE
192 000176 000220' .WORD TOSS ;TOSS MESSAGE
193
194
195 000200 000220' XCTLTB: .WORD TOSS ;TOSS MESSAGE
196 000202 001640' .WORD XINCI
197 000204 001772' .WORD XINCC
198 000206 002112' .WORD XINDI
199 000210 002262' .WORD XINDC
200 000212 000220' .WORD TOSS ;TOSS MESSAGE
201 000214 000220' .WORD TOSS ;TOSS MESSAGE
202 000216 000220' .WORD TOSS ;TOSS MESSAGE
203
204 000220 000261 TOSS: SEC ;MARK ERROR CONDITION
205 000222 RETURN ;RETURN TO CALLER
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 5
RINCI
207 .SBTTL RINCI
208 ;+
209 ; **-RINCI-PROCESS CONNECT INITIATE FOR INTERCEPTED NODE
210 ;
211 ; THIS ROUTINE PROCESSES A CONNECT INITIATE REQUEST FROM AN INTERCEPTED
212 ; NODE WHEN THE DESTINATION NODE IS NOT THE INTERCEPT NODE.
213 ;
214 ; INPUTS:
215 ;
216 ; R0 = POINTER TO THE DESTINATION NODE NAME OR A FREE ENTRY ;JS0001
217 ; R3 = POINTER TO THE SOURCE NODE NAME OR A DIFFERENT FREE ENTRY ;JS0001
218 ; R4 = POINTER TO 'DESTADDR' ;JS0001
219 ; R5 = ADDRESS OF MESSAGE CCB ;**-7
220 ;
221 ; OUTPUTS:
222 ;
223 ; XXX
224 ;
225 ;-
226
227 000224 010046 RINCI: MOV R0,-(SP) ;SAVE POINTER TO DESTINATION NODE NAME
228 000226 CALLC PRODS ;GET DEST AND SRC ADDR
229 000236 012602 MOV (SP)+,R2 ;RECOVER POINTER TO DESTINATION NODE NAME ;AP0020
230 000240 016701 000000G MOV $NSADB,R1 ;POINT TO NSP DATA BASE ;JS0001
231 000244 032712 030000 BIT #DF$ADJ!DF$REM,(R2) ;IS DESTINATION ADJACENT OR REMOTE? ;JS0001
232 000250 001024 BNE 12$ ;IF NE, YES. ;JS0001
233 ; ;JS0001
234 ; DESTINATION IS NEITHER ADJACENT NOR REMOTE. IT MUST BE UNKNOWN. ;JS0001
235 ; IF THE SOURCE IS ADJACENT THEN THIS LINK WILL GO THROUGH THE OTHER ;JS0001
236 ; INTERCEPT NODE. IF THE DESTINATION CANNOT BE REACHED THROUGH THE ;JS0001
237 ; OTHER INTERCEPT NODE, WE WILL GET A DC BACK FROM IT. ;JS0001
238 ; IF THE SOURCE IS NOT ADJACENT THEN THIS MESSAGE MUST HAVE COME ;JS0001
239 ; THROUGH THE OTHER INTERCEPT NODE, IN WHICH CASE THE DESTINATION ;JS0001
240 ; IS UNREACHABLE. ;JS0001
241 ; ;JS0001
242 000252 032713 020000 BIT #DF$ADJ,(R3) ;SOURCE ADJACENT MUST BE ADJACENT ;JS0001
243 000256 001446 BEQ 30$ ;AND ;AP0021
244 000260 016100 000006 MOV N$ICF(R1),R0 ;THERE MUST BE AN INTERCEPT NODE ;AP0021
245 000264 001443 BEQ 30$ ;AND ;AP0021
246 000266 122710 000005 CMPB #PS$UP,(R0) ;THE LINK MUST BE UP ;AP0021
247 000272 001040 BNE 30$ ;OTHERWISE CAN'T GO - SEND DC WITH ER$COM ;AP0021
248 000274 010246 MOV R2,-(SP) ;SAVE R2 ;LW0008
249 000276 CALL CFRNOD ;COUNT FREE NODE NAME SLOTS ;JS0001
250 000302 010200 MOV R2,R0 ;SAVE SLOT COUNT ;LW0008
251 000304 012602 MOV (SP)+,R2 ; AND RESTORE R2 ;LW0008
252 000306 020027 000003 CMP R0,#3 ;HAVE WE ENOUGH TO RETURN A BAD CI? ;LW0010
253 000312 103433 BLO 31$ ;IF NOT ENOUGH, SEND DC WITH ER$TCN ;AP0021
254 000314 CALL ADDDST ;ADD DESTINATION TO NODE DATA BASE ;JS0001
255 000320 000441 BR 40$ ;CREATE THE LOGICAL LINK ;JS0001
256 ; ;JS0001
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 6
RINCI
258 ; ;JS0001
259 ; HERE IF THE DESTINATION IS ADJACENT OR REMOTE. ;JS0001
260 ; ;JS0001
261 000322 032712 020000 12$: BIT #DF$ADJ,(R2) ;IS DESTINATION ADJACENT? ;JS0001
262 000326 001004 BNE 13$ ;IF NE, YES. ;JS0001
263 ; ;JS0001
264 ; HERE IF THE DESTINATION IS REMOTE. THIS IS JUST LIKE THE CASE ABOVE ;JS0001
265 ; EXCEPT THE DESTINATION NODE IS ALREADY IN THE NODE DATA BASE. ;JS0001
266 ; ;JS0001
267 000330 032713 020000 BIT #DF$ADJ,(R3) ;IS SOURCE ADJACENT? ;JS0001
268 000334 001417 BEQ 30$ ;IF NOT, SEND DC WITH ER$COM ;AP0021
269 000336 000432 BR 40$ ;YES, CREATE THE LOGICAL LINK. ;JS0001
270 ; ;JS0001
271 ; HERE IF THE DESTINATION IS ADJACENT. IF THE SOURCE IS ADJACENT ;JS0001
272 ; THEN THE LINK DOESN'T GO THROUGH THE OTHER INTERCEPT NODE. ;JS0001
273 ; (THIS IS THE NORMAL INTERCEPT CASE.) IF THE SOURCE IS NOT ;JS0001
274 ; ADJACENT THEN IT WILL. IF THIS IS THE FIRST TIME WE HAVE HEARD ;JS0001
275 ; ABOUT THE SOURCE NODE THEN IT WILL BE ENTERED INTO THE NODE ;JS0001
276 ; DATA BASE. ;JS0001
277 ; ;JS0001
278 000340 032713 030000 13$: BIT #DF$ADJ!DF$REM,(R3) ;IS SOURCE KNOWN? ;JS0001
279 000344 001027 BNE 40$ ;IF NE, YES: CREATE LINK. ;JS0001
280 ; (NORMAL INTERCEPT CASE.) ;JS0001
281 000346 010246 MOV R2,-(SP) ;SAVE DESTINATION NODE ENTRY ;AP0020
282 000350 CALL CFRNOD ;COUNT FREE NAME SLOTS ;LW0018
283 000354 010200 MOV R2,R0 ;SAVE THE COUNT ;AP0020
284 000356 012602 MOV (SP)+,R2 ;AND RECOVER DESTINATION NODE NAME. ;AP0020
285 000360 020027 000003 CMP R0,#3 ;ENOUGH FREE TO RETURN A BAD CI? ;LW0018
286 000364 103406 BLO 31$ ;YEP ;AP0021
287 000366 CALL ADDSRC ;ADD IN THE SOURCE NODE NAME ;LW0018
288 000372 000414 BR 40$ ; AND CONTINUE ;LW0018
289 ;LW0018
290 ; ;JS0001
291 ; HERE WHEN WE MUST SEND A DC IN RESPONSE TO THE CI. ;JS0001
292 ; THE ERROR CODE IS IN R0. THERE IS A POINTER TO THE DATA BASE IN R1. ;JS0001
293 ; EITHER DESTINATION OR SOURCE OR BOTH MAY NOT BE IN THE NODE NAME ;JS0001
294 ; DATA BASE. ;JS0001
295 ; ;JS0001
296 000374 012700 000047 30$: MOV #ER$COM,R0 ;UNABLE TO COMMUNICATE ;AP0021
297 000400 000402 BR 38$ ;AP0021
298 000402 012700 000040 31$: MOV #ER$TCN,R0 ;TOO MANY CONNECTS ;AP0021
299 ;AP0021
300 000406 010061 000020 38$: MOV R0,N$TMP+6(R1) ;STORE ERROR CODE ;JS0001
301 000412 CALLC DODCR ;DO DC AND RELEASE ANY TEMPORARY NODE ENTRIES ;AP0021
302 000422 RETURN ;RETURN WITH C CLEAR AND R5 = 0. ;AP0021
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 7
RINCI
304 ; ;AP0021
305 ; HERE IF WE DECIDE WE CAN BUILD THE LOGICAL LINK. ;AP0021
306 ; ;AP0021
307 000424 010246 40$: MOV R2,-(SP) ;SAVE DESTINATION LINK POINTER ;AP0020
308 000426 012701 000001 MOV #ER$RES,R1 ;ASSUME A RESOURCE LIMITED STATE ;JS0001
309 .IF DF N$$CNC ;JS0001
310 MOV $NSADB,R2 ;ARE THERE ENOUGH LARGE DATA BUFFERS TO ;JS0001
311 CMPB N$POL(R2),N$LBN(R2) ;...ALLOW THIS LOGICAL LINK TO BE BUILT ? ;**-9
312 BLOS 90$ ;IF LOS, NO - RETURN A RESOURCE ERROR
313 .ENDC
314
315 ;
316 ; BOTH LOGICAL LINK TABLE ENTRIES ARE ALLOCATED AT THIS TIME IN ORDER
317 ; TO AVOID THE PROCESSING NECESSARY TO HANDLE THE ALLOCATION FAILURE
318 ; WHEN FORWARDING THE CONNECT MESSAGE TO THE OTHER INTERCEPTED NODE
319 ;
320 000432 CALL ADDLNK ;ALLOCATE A LOGICAL LINK TABLE
321 000436 103441 BCS 90$ ;IF CS, ALLOCATION FAILURE - SEND A DC
322 000440 010067 177334 MOV R0,TMPLNK ;SAVE THE ADDRESS OF THE ALLOCATED LLT
323 000444 CALL ADDLNK ;ALLOCATE A SECOND LOGICAL LINK TABLE
324 000450 103426 BCS 80$ ;IF CS, ALLOCATION FAILURE - SEND A DC
325 000452 012710 000401 MOV #LF.INT!ST$CIS,(R0) ;SETUP INITIAL LINK STATE AND MARK AS INTERCEPT LINK
326 000456 010360 000042 MOV R3,I.IREM(R0) ;SOURCE OF CONNECTION
327 000462 105263 000004 INCB D$USE(R3) ;THE USE OF THIS LINK IS CHARGED TO THE INTERCEPTED NODE
328 000466 011660 000006 MOV (SP),I.REM(R0) ;DESTINATION OF CONNECTION
329 000472 016701 000000G MOV $NSADB,R1 ;GET THE ADDRESS OF THE DATA DESCRIPTOR BLOCK
330 000476 016160 000014 000040 MOV N$TMP+2(R1),I.ILA(R0) ;...AND STORE THE INTERCEPTED LINK ADDRESS
331 000504 124444 CMPB -(R4),-(R4) ;ADJUST MSG PTR TO SRCADDR
332 000506 016001 000002 MOV I.LLA(R0),R1 ;WE ARE SOURCE FOR THIS PART OF THE LINK
333 000512 CALLC PUTBIN ;MODIFY MSG SO THAT DESTINATION NODE WILL
334 000522 005726 TST (SP)+ ;...KNOW WHO TO RESPOND TO (CLEAR C-BIT)
335 000524 RETURN ;RETURN TO CALLER
336
337 ;
338 ; ;**-24
339 000526 016700 177246 80$: MOV TMPLNK,R0 ;GET THE ADDRESS OF THE FIRST LLT
340 000532 CALLC REMLKA ;DEALLOCATE THE LINK TABLE
341
342 ;
343 ; COMMON PROCESSING TO SEND A DC MESSAGE
344 ;
345 000542 016702 000000G 90$: MOV $NSADB,R2 ;STORE THE ERROR CODE IN THE SCRATCH
346 000546 010162 000020 MOV R1,N$TMP+6(R2) ;...STORAGE AREA FOR THE DC MESSAGE
347 000552 012602 MOV (SP)+,R2 ;USE THE DESTINATION NODE AS THE SOURCE ;AP0026
348 000554 CALLC DODCR ;SEND DC AND RELEASE TEMPORARY NODE ENTRIES ;AP0021
349 000564 RETURN ;RETURN TO CALLER (C-BIT CLEAR & R5=0) ;**-4
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 8
ADDSRC & ADDDST
351 .SBTTL ADDSRC & ADDDST
352 ;+ ;JS0001
353 ; **-ADDSRC-ADD SOURCE NODE NAME TO NODE TABLE ;JS0001
354 ; **-ADDDST-ADD DESTINATION NODE NAME TO NODE TABLE ;JS0001
355 ; ;JS0001
356 ; THIS ROUTINE ADDS SOURCE AND DESTINATION NAMES FROM THE ;LW0018
357 ; CONNECT INITIATE MESSAGE TO THE NODE NAME TABLE. THE ;JS0001
358 ; PHYSICAL LINK USED TO COMMUNICATE WITH THESE NODES IS ;JS0001
359 ; THE CHANNEL ON WHICH IT WAS RECEIVED FOR ADDSRC, OTHERWISE ;AP0021
360 ; THE PHYSICAL LINK THAT LEADS TO THE OTHER INTERCEPT NODE. ;JS0001
361 ; ;JS0001
362 ; INPUTS: ;JS0001
363 ; ;JS0001
364 ; R2 (FOR ADDDST) OR R3 (FOR ADDSRC) POINTS TO A FREE ;LW0018
365 ; ENTRY IN THE NODE NAME TABLE ;JS0001
366 ; R5 POINTS TO THE CCB, WITH C.STS POINTING TO THE ;JS0001
367 ; CI MESSAGE, AS SET UP BY PRODS. ;JS0001
368 ; ;JS0001
369 ; OUTPUTS: ;JS0001
370 ; ;JS0001
371 ; PRESERVES ALL REGISTERS ;JS0001
372 ; ;JS0001
373 ;- ;JS0001
374 ; ;JS0001
375 .ENABL LSB ;LW0018
376 000566 005067 000236 ADDSRC: CLR ADDFLG ;FLAG "SOURCE INSERTION" ;LW0018
377 000572 000402 BR 10$ ; ;LW0018
378 ;LW0018
379 000574 010667 000230 ADDDST: MOV SP,ADDFLG ;FLAG "DESTINATION INSERTION" ;AP0020
380 ;LW0018
381 000600 10$: SAVRG <R5,R3,R1,R0,R2> ;AP0021
382 000612 016500 000012 MOV C.STS(R5),R0 ;POINT R0 AT MESSAGE ;AP0021
383 000616 005200 INC R0 ; AND BYPASS MSGFLG ;AP0021
384 000620 005767 000204 TST ADDFLG ;SOURCE ;LW0018
385 000624 001003 BNE 20$ ; INSERTION - ;LW0018
386 000626 112001 MOVB (R0)+,R1 ; PICK UP NAME LENGTH ;AP0021
387 000630 060100 ADD R1,R0 ; AND POINT AT SOURCE DESCRIPTOR ;AP0021
388 000632 010302 MOV R3,R2 ; SAVE THE NODE ENTRY ;AP0021
389 000634 112001 20$: MOVB (R0)+,R1 ;WITH LENGTH IN R1 ;AP0020
390 000636 010703 MOV PC,R3 ;CHECK OUT ;LW0014
391 000640 CALLC SRNOD ; THE NODE NAME AGAIN ;LW0014
392 000650 032712 070000 BIT #DF$FRE,(R2) ;IF WE DIDN'T COME IN WITH A FREE ENTRY, ;AP0024
393 000654 001064 BNE 101$ ; CRASH ABOUT IT ;AP0024
394 000656 032713 070000 BIT #DF$FRE,(R3) ;IF THE NAME GOT FOUND THIS TIME, ;LW0014
395 000662 001033 BNE 60$ ; DON'T ADD IT AGAIN ;LW0014
396 000664 020203 CMP R2,R3 ;IF THE NODE ENTRIES ARE THE SAME, ;LW0014
397 000666 001457 BEQ 101$ ; CRASH ABOUT IT ;LW0014
398 000670 CALLC RMNOD ; ENTRY WE JUST GOT ;LW0014
399 000700 010203 MOV R2,R3 ;POINT R3 TO ENTRY IN NAME TABLE ;JS0001
400 000702 016702 000000G MOV $NSADB,R2 ;GET NSP DATA BASE. ;AP0023
401 000706 116505 000006 MOVB C.LIN(R5),R5 ;EXTRACT THE LINE ;AP0023
402 000712 042705 177400 BIC #^C377,R5 ;WITHOUT SIGN EXTENSION ;AP0023
403 000716 070527 000014 MUL #P$LEN,R5 ;AND INDEX TO ;AP0023
404 000722 066205 000030 ADD N$PLD+2(R2),R5 ;THE SOURCE LINE BLOCK ;AP0023
405 000726 005767 000076 TST ADDFLG ;BUT IF DESTINATION INSERTION ;AP0021
406 000732 001402 BEQ 40$ ;THEN ;AP0021
407 000734 016205 000006 MOV N$ICF(R2),R5 ;USE THE INTERCEPT BLOCK ;AP0023
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 8-1
ADDSRC & ADDDST
408 000740 012702 010000 40$: MOV #DF$REM,R2 ;NODE IS REMOTE FROM US ;JS0001
409 000744 CALL ADNOD ;ENTER NAME IN TABLE ;JS0001
410 000750 000420 BR 100$ ;LW0014
411 ;LW0014
412 000752 005767 000052 60$: TST ADDFLG ;IF WE ARE ADDING ;LW0018
413 000756 001007 BNE 70$ ; A SOURCE NODE, ;LW0018
414 000760 010366 000006 MOV R3,6(SP) ; UPDATE SOURCE POINTER ;LW0018
415 000764 016700 000000G MOV $NSADB,R0 ; GET DATA BASE ;AP0021
416 000770 010360 000012 MOV R3,N$TMP(R0) ; TO UPDATE SOURCE NODE POINTER THERE ;AP0021
417 000774 000401 BR 80$ ;LW0018
418 000776 010316 70$: MOV R3,(SP) ;UPDATE DESTINATION POINTER FOR CALLER ;LW0018
419 001000 010203 80$: MOV R2,R3 ;KILL THE NODE NAME ;LW0018
420 001002 CALLC RMNOD ; IN WITH ;LW0014
421 001012 100$: RESRG <R2,R0,R1,R3,R5> ;AP0021
422 001024 RETURN ;JS0001
423 ;LW0014
424 001026 101$: CRASH ;LW0014
425 .DSABL LSB ;LW0018
426 ;LW0018
427 001030 000000 ADDFLG: .WORD 0 ;LW0018
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 9
RINCC
429 .SBTTL RINCC
430
431 ;++
432 ;RINCC
433
434 ;INPUTS:
435 ; R5=CCB ADDRESS
436 ; R4=MESSAGE POINTER [DESTADDR]
437 ; R3=SOURCE NODE INDEX
438 ; R0=DESTINATION NODE INDEX
439 ;OUTPUTS:
440 ; R1=DESTINATION LINE NUMBER
441
442 ; THIS ROUTINE WILL TAKE A CC MESSAGE FROM A INTERCEPTED NODE
443 ;VALIDATE ITS FOR A CORRECT LINK, IF NOT IT WILL SEND A DC,
444 ;THE LINK WILL NOT GO DIRECTLY TO RUN STATE, BUT WILL WAIT FOR THE
445 ;CC MSG TO BE ACK'D. ANY DATA MESSAGES RECEIVED FROM THE INTERCEPTED
446 ;LINK WHILE IN THE CC STATE WILL BE NAK'D WHEN THE LINK GOES TO THE RUN STATE.
447
448 ;--
449
450 001032 010046 RINCC: MOV R0,-(SP) ;SAVE POINTER TO DESTINATION NODE NAME
451 001034 010602 MOV SP,R2 ;MESSAGE CAME FROM INTERCEPTED LINK
452 001036 CALLC PRODS ;GET DEST AND SRC ADDRESS, VERIFY LINK
453 001046 012602 MOV (SP)+,R2 ;RECOVER POINTER TO DESTINATION NODE NAME
454 001050 103451 BCS 20$ ;LINK DOESN'T EXIST
455 001052 032710 000400 BIT #LF.INT,(R0) ;IS THIS AN INTERCEPTED LINK?
456 001056 001446 BEQ 20$ ;NO..MSG IS FOR IDLE LINK
457 001060 122710 000003 CMPB #ST$CIR,(R0) ;VALID TO RECV CC?
458 001064 001043 BNE 20$ ;NO
459 001066 010160 000040 MOV R1,I.ILA(R0) ;INTERCEPTED LINKS ADDRESS
460 001072 CALLC SENDIT ;IS PATH TO DESTINATION AVAILABLE?
461 001102 103440 BCS 30$ ;IF CS, NO PATH - IGNORE MESSAGE
462 001104 032760 002000 000012 BIT #IF.NTS,I.FLG(R0) ;WAS DATA OF I/LS ALREADY RECVD?
463 001112 001406 BEQ 10$ ;NO
464 001114 016003 000042 MOV I.IREM(R0),R3 ;ADDRESS ADJACENT NODE ENTRY ;LW0003
465 001120 CALLC NAKICF ;NAK SEGMENT 0 ON BOTH SUBCHANNELS ;LW0003
466 001130 112710 000005 10$: MOVB #ST$DAT,(R0) ;READY TO RECV/XMIT DATA ;**-4
467 001134 162704 000004 SUB #4,R4 ;ADJUST MSG PTR TO DESTADDR
468 001140 016001 000010 MOV I.RLA(R0),R1 ;NEW DESTADDR..2ND PART OF LINK
469 001144 CALLC PUTBIN ;MODIFY MSG
470 001154 016001 000002 MOV I.LLA(R0),R1 ;AS FAR AS DESTINATION KNOWS..WE ARE SOURCE OF CONNECT
471 001160 CALLC PUTBIN ;MODIFY MSG
472 001170 000241 CLC ;INDICATE SUCCESS
473 001172 000405 BR 40$ ;...AND RETURN
474
475 001174 20$: CALLC DODCR ;SEND DC AND RELEASE ANY TEMPORARY NODE ENTRIES ;AP0021
476 001204 000261 30$: SEC ;TOSS MSG ;**-1
477 001206 40$: RETURN
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 10
RINDI
479 .SBTTL RINDI
480
481 ;++
482 ;RINDI
483
484 ;INPUTS:
485 ; R5=CCB ADDRESS
486 ; R4=MESSAGE POINTER [DESTADDR]
487 ; R3=SOURCE NODE INDEX
488 ; R0=DESTINATION NODE INDEX
489 ;OUTPUTS:
490 ; R1=DESTINATION LINE NUMBER
491
492 ; THIS ROUTINE WILL PROCESS A DISCONNECT REQUEST BY THE INTERCEPTED
493 ;NODE. IF A VALID DI IS RECEIVED THE LINK WILL GO TO DISCONNECT
494 ;STATE, STOP ANY DATA TIMERS, AND WILL WAIT FOR A DC FROM THE NET
495 ;BEFORE REMOVING THE LINK. OTHERWISE A DC IS RETURNED TO THE INTERCEPTED
496 ;NODE.
497
498 ;--
499
500 001210 010046 RINDI: MOV R0,-(SP) ;SAVE POINTER TO DESTINATION NODE NAME
501 001212 010602 MOV SP,R2 ;MESSAGE IS FROM INTERCEPT NODE
502 001214 CALLC PRODS ;GET DEST AND SRC ADDRS, VERIFY LINK
503 001224 012602 MOV (SP)+,R2 ;RECOVER POINTER TO DESTINATION NODE NAME
504 001226 103464 BCS 30$ ;LINK DOESN'T EXIST
505 001230 032710 000400 BIT #LF.INT,(R0) ;INTERCEPT LINK?
506 001234 001461 BEQ 30$ ;NO..TREAT AS IDLE LINK
507 001236 122710 000003 CMPB #ST$CIR,(R0) ;WAITING FOR CCC FROM I'D NODE?
508 001242 001002 BNE 10$ ;NO
509 001244 010160 000040 MOV R1,I.ILA(R0) ;YES..FINISH SETTING UP ILT
510 001250 020160 000040 10$: CMP R1,I.ILA(R0) ;MSG FOR CORRECT LINK?
511 001254 001051 BNE 30$ ;NO
512 001256 122710 000001 CMPB #ST$CIS,(R0) ;SENT A CONNECT REQUEST?
513 001262 001446 BEQ 30$ ;YES. INVALID
514 001264 CALLC SENDIT ;IS PATH TO DESTINATION AVAILABLE?
515 001274 103445 BCS 40$ ;IF CS, NO - JUST TOSS THE MESSAGE
516 001276 122710 000006 CMPB #ST$DIP,(R0) ;DISCONNECTION STARTED?
517 001302 001426 BEQ 20$ ;YES
518 001304 112760 000014 000025 MOVB #ST$DIS,I.NSTA(R0) ;DISC GOING INTO NET
519 001312 112760 000006 000000 MOVB #ST$DIP,I.STA(R0) ;DISCONNECTING
520 001320 162704 000004 SUB #4,R4 ;ADJUST MSG PTR TO DESTADDR
521 001324 016001 000010 MOV I.RLA(R0),R1 ;DEST IS REMOTE NODE
522 001330 CALLC PUTBIN ;MODIFY MSG
523 001340 016001 000002 MOV I.LLA(R0),R1 ;FOR END NODE WE ARE SOURCE
524 001344 CALLC PUTBIN ;MODIFY SRCADDR
525 001354 000241 CLC ;INDICATE SUCCESS
526 001356 000415 BR 50$ ;...AND RETURN
527
528 001360 016701 000000G 20$: MOV $NSADB,R1 ;GET THE ADDRESS OF THE DATA DESCRIPTOR BLOCK
529 001364 012761 000052 000020 MOV #ER$CDI,N$TMP+6(R1) ;...AND STORE THE REASON CODE
530 001372 112760 000013 000024 MOVB #ST$UDI,I.USTA(R0) ;ALL DONE WITH INTERCEPTED NODE
531 001400 30$: CALLC DODCR ;SEND DC AND RELEASE ANY TEMPORARY NODE ENTRIES ;AP0021
532 001410 000261 40$: SEC ;TOSS MSG ;**-1
533 001412 50$: RETURN ;RETURN TO CALLER
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 11
RINDC
535 .SBTTL RINDC
536
537 ;++
538 ;RINDC
539
540 ;INPUTS:
541 ; R5=CCB ADDRESS
542 ; R4=MESSAGE POINTER [DESTADDR]
543 ; R3=SOURCE NODE INDEX
544 ; R0=DESTINATION NODE INDEX
545 ;
546 ; THIS ROUTIEN PROCESSES A DC MESSAGE FROM THE INTERCEPTED NODE.
547 ;IF THE STATE IS CIR THEN THIS A CONNECT REJECT. THE MESSAGE WILL BE
548 ;CHANGED TO A DI. ON RECEIPT OF THE DC THE INTERCEPT LINK WILL
549 ;GO AWAY BUT THE MESSAGE WILL NOT BE FORWARDED.
550 ;OTHERWISE THE MESSAGE WILL BE FORWARDED AND THE LINK WILL GO AWAY
551 ;NORMALLY
552
553 ;--
554
555 001414 RINDC:
556 001414 005046 CLR -(SP) ;RESERVE ROOM ON STACK FOR LLA
557 ;LLA NEEDS TO BE ZERO IF DC IS RESPONSE TO CI
558 001416 010602 MOV SP,R2 ;MESSAGE IS FROM INTERCEPTED NODE
559 001420 CALLC PRODS ;GET DEST AND SRC ADDRS, VERIFY LINK
560 001430 103500 BCS 50$ ;LINK DOESN'T EXIST..TOSS IT
561
562 ;
563 ; AT THIS POINT WE DON'T CARE IF THE PATH TO THE DESTINATION NODE IS
564 ; AVAILABLE BECAUSE 'XINDC' WILL CLEAN UP THE LOGICAL LINK AND FOR
565 ; WARD THE DC IF NECESSARY.
566 ;
567 001432 032710 000400 BIT #LF.INT,(R0) ;INTERCEPT LINK?
568 001436 001475 BEQ 50$ ;NO..TOSS MSG
569 001440 122710 000003 CMPB #ST$CIR,(R0) ;IS THIS A CONNECT REJECT?
570 001444 001435 BEQ 30$ ;YES..LINK GOES AWAY
571 ;IF TALKING TO A LEVEL 2 NET THEN DC
572 ;MUST BE CHANGED TO A DI
573
574 001446 016016 000002 MOV I.LLA(R0),(SP) ;NOT RESPONSE TO CI
575 001452 026001 000040 CMP I.ILA(R0),R1 ;MSG FOR CORRECT LINK?
576 001456 001065 BNE 50$ ;NO..TOSS IT
577 001460 122710 000001 CMPB #ST$CIS,(R0) ;HAVE WE SENT A CONNECT REQUEST?
578 001464 001462 BEQ 50$ ;YES..TOSS IT
579 001466 122710 000002 CMPB #ST$CC,(R0) ;WAITING FOR ACK OF CC?
580 001472 001422 BEQ 30$ ;YES..LINK GOES AWAY
581 001474 122710 000005 CMPB #ST$DAT,(R0) ;IS LINK ESTABLISHED?
582 001500 001417 BEQ 30$ ;YES..LINK GOES AWAY
583 001502 122710 000006 CMPB #ST$DIP,(R0) ;ARE WE IN PROCESS OF DISCONNECTING?
584 001506 001051 BNE 50$ ;NO..TOSS MSG
585 001510 122760 000014 000025 CMPB #ST$DIS,I.NSTA(R0) ;HAS DISC MSG BEEN SENT TO NET YET?
586 001516 001442 BEQ 45$ ;YES..DC FROM NET
587 001520 122760 000012 000025 CMPB #ST$DIR,I.NSTA(R0) ;RECV DI FROM NET?
588 001526 001041 BNE 50$ ;NO.TOSS MSG
589 001530 112760 000015 000025 MOVB #ST$DID,I.NSTA(R0) ;DONE WITH NET
590 001536 000406 BR 40$ ;FORWARD DC
591
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 11-1
RINDC
592 001540 112760 000006 000000 30$: MOVB #ST$DIP,I.STA(R0) ;DISCONNECTING
593 001546 112760 000015 000025 MOVB #ST$DID,I.NSTA(R0) ;ALL DONE WITH NET..NO RESPONSE NECESSARY
594 001554 112760 000013 000024 40$: MOVB #ST$UDI,I.USTA(R0) ;ALL DONE WITH INTERCEPTED NODE
595 001562 162704 000004 SUB #4,R4 ;ADJUST MSG PTR TO DESTADDR
596 001566 016001 000010 MOV I.RLA(R0),R1 ;NEW DESTINATION
597 001572 CALLC PUTBIN ;MODIFY DESTADDR
598 001602 011601 MOV (SP),R1 ;NEW SRCADDR
599 001604 CALLC PUTBIN ;MODIFY SRCADDR
600 001614 CALL CLNLNK ;SEEM TO BE ALL DONE WITH THE LINK
601 ;TRY TO GET RID OF IT
602 001620 000241 CLC
603 001622 000404 BR 60$
604
605 001624 112760 000013 000024 45$: MOVB #ST$UDI,I.USTA(R0) ;ALL DONE WITH I'D NODE
606 001632 000261 50$: SEC ;TOSS MSG
607 001634 011626 60$: MOV (SP),(SP)+ ;CLEAN STACK AND PRESERVE C-BIT
608 001636 RETURN
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 12
XINCI
610 .SBTTL XINCI
611
612 ;++
613 ;XINCI
614
615 ;INPUTS:
616 ; R5=CCB ADDRESS
617 ; R4=MESSAGE POINTER [DESTADDR]
618 ; R3=SOURCE NODE INDEX
619 ; R0=DESTINATION NODE INDEX
620 ;OUTPUTS:
621 ; NONE
622
623 ; THIS ROUTINE WILL PROCESS A REQUEST FOR A CONNECTION, FROM THE NET
624 ;TO A INTERCEPTED NODE. THE INCOMING MESSAGE WILL BE VALIDATED, AGAINST
625 ;ITS DATA BASE. IF VALID A ACK WILL BE SENT, THE LINK WILL BE SETUP,
626 ;AND THE MESSAGE WILL BE FORWARDED TO THE CORRECT INTERCEPTED NODE. IF
627 ;INVALID A DC WILL BE SENT IN RESPONSE.
628
629 ;--
630
631 001640 XINCI:
632 001640 010046 MOV R0,-(SP) ;SAVE DEST NODE INDEX
633 001642 CALLC PRODS ;GET DEST AND SRC ADDRS
634 001652 011602 MOV (SP),R2 ;RECOVER POINTER TO DESTINATION NODE NAME
635 001654 122772 000005 000002 CMPB #PS$UP,@D$CHN(R2) ;IS THE DESTINATION NODE AVAILABLE ?
636 001662 001040 BNE 80$ ;IF NE, NO
637 001664 016702 000000G MOV $NSADB,R2 ;IS THE DESTINATION LINK ADDRESS ZERO ?
638 001670 005762 000016 TST N$TMP+4(R2) ;...
639 001674 001033 BNE 80$ ;NO..INVALID CI
640 001676 016700 176076 MOV TMPLNK,R0 ;GET THE ADDRESS OF THE LLT ALLOCATED IN RINCI
641 001702 012710 000403 MOV #LF.INT!ST$CIR,(R0) ;SET LINK TYPE FLAGS AND INITIAL STATE
642 001706 010160 000010 MOV R1,I.RLA(R0) ;REMOTE LINKS ADDRESS
643 001712 010360 000006 MOV R3,I.REM(R0) ;STORE POINTER TO THE SOURCE NODE NAME
644 001716 012601 MOV (SP)+,R1 ;RECOVER POINTER TO DESTINATION NODE NAME
645 001720 010160 000042 MOV R1,I.IREM(R0) ;...AND STORE IT IN THE LLT
646 001724 105261 000004 INCB D$USE(R1) ;CHARGE THE USE OF THE LINK TO THE INTERCEPTED NODE
647 001730 124444 CMPB -(R4),-(R4) ;ADJUST MSG PTR TO SRCADDR
648 001732 016001 000002 MOV I.LLA(R0),R1 ;WE ARE SOURCE FOR LAST PART OF LINK
649 001736 CALLC PUTBIN ;MODIFY MSG
650 001746 000241 CLC
651 001750 000401 BR 70$
652
653 001752 000261 60$: SEC ;TOSS MSG
654 001754 112765 000024 000011 70$: MOVB #NT$IND,C.MOD(R5) ;SET UP SUB FUNC CODE FOR XCMPLT
655 001762 RETURN
656
657 001764 80$: CRASH ;SPOT FOR DIAGNOSTIC CRASH ;LW0012
658 001766 CALLR DCICF ;SEND A DC ACROSS THE NET ;LW0004
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 13
XINCC
660 .SBTTL XINCC
661
662 ;++
663 ;XINCC
664
665 ;INPUTS:
666 ; R5=CCB ADDRESS
667 ; R4=MESSAGE POINTER [DESTADDR]
668 ; R3=SOURCE NODE INDEX
669 ; R0=DESTINATION NODE INDEX
670 ;OUTPUTS:
671 ; NONE
672
673 ; THIS ROUTINE WILL PROCESS A RECEIVED CC FROM THE NET.
674 ;IF THE CC IS VALID, WE WILL GO TO THE RUN STATE AND FORWARD THE MESSAGE TO
675 ;THE INTERCEPTED NODE. ALSO AN ACK WILL BE SENT WHICH WILL
676 ;CAUSE THE OTHER SIDE OF THE LINK TO GO TO RUN STATE. OTHERWISE A DC WILL BE BUILT IN
677 ;THE INCOMING BUFFER AND SENT.
678
679
680 ;--
681
682 001772 XINCC:
683 001772 005002 CLR R2 ;MESSAGE CAME FROM NET
684 001774 CALLC PRODS ;GET SRC AND DEST ADDR'S, VERIFY LINK
685 002004 103437 BCS 80$ ;LINK DOESN'T EXIST
686 002006 032710 000400 BIT #LF.INT,(R0) ;INTERCEPT LINK?
687 002012 001434 BEQ 80$ ;NO..MSG IS FOR IDLE LINK
688 002014 122710 000001 CMPB #ST$CIS,(R0) ;SENT A CON REQUEST?
689 002020 001024 BNE 50$ ;IF NE, NO - JUST IGNORE THE MESSAGE
690 002022 112710 000005 MOVB #ST$DAT,(R0) ;READY TO SEND/RECV DATA
691 002026 010160 000010 MOV R1,I.RLA(R0) ;FINISH DATA BASE..REMOTE LINKS ADDRESS
692 002032 162704 000004 SUB #4,R4 ;ADJUST MSG PTR TO DESTADDR
693 002036 016001 000040 MOV I.ILA(R0),R1 ;INTERCEPTED NODE IS DESTINATION
694 002042 CALLC PUTBIN ;MODIFY MSG
695 002052 016001 000002 MOV I.LLA(R0),R1 ;TO I'D NODE WE ARE END OF LINK
696 002056 CALLC PUTBIN ;MODIFY MSG
697 002066 000241 CLC
698 002070 000401 BR 70$
699
700 002072 000261 50$: SEC ;TOSS MSG
701 002074 112765 000024 000011 70$: MOVB #NT$IND,C.MOD(R5) ;SET UP SUB FUNC CODE FOR XCMPLT
702 002102 RETURN
703
704 002104 000240 80$: NOP ;SPOT FOR DIAGNOSTIC CRASH ;LW0006
705 002106 CALLR DCICF ;SEND DC ACROSS NET ;LW0004
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 14
XINDI
707 .SBTTL XINDI
708
709 ;++
710 ;XINDI
711
712 ;INPUTS:
713 ; R5=CCB ADDRESS
714 ; R4=MESSAGE POINTER [DESTADDR]
715 ; R3=SOURCE NODE INDEX
716 ; R0=DESTINATION NODE INDEX
717 ;OUTPUTS:
718 ; NONE
719
720 ; THIS ROUTINE PROCESSES A DISCONNECT REQUEST FROM THE REMOTE
721 ;LINK. THE MESSAGE IS VALIDATED AND PASSED ON TO THE INTERCEPTED LINK.
722 ;OTHERWISE A DC IS SENT BACK THRU THE NET.
723
724 ;--
725
726 002112 XINDI:
727 002112 005002 CLR R2 ;MESSAGE CAME FROM THE NET
728 002114 CALLC PRODS ;GET DEST AND SRC ADDRS, VERIFY LINK
729 002124 103453 BCS 60$ ;LINK DOESN'T EXIST
730 002126 032710 000400 BIT #LF.INT,(R0) ;INTERCEPT LINK?
731 002132 001450 BEQ 60$ ;NO..TREAT AS IDLE LINK
732 002134 122710 000003 CMPB #ST$CIR,(R0) ;WAITING FOR CONFIRMATION BY INTERCEPTED NODE?
733 002140 001440 BEQ 40$ ;YES..INVALID MSG TO RECV..TOSS IT
734 002142 122710 000001 CMPB #ST$CIS,(R0) ;CON REQUEST SENT?
735 002146 001002 BNE 5$ ;NO
736 002150 010160 000010 MOV R1,I.RLA(R0) ;YES..CONNECT REJECT
737 002154 020160 000010 5$: CMP R1,I.RLA(R0) ;MSG FOR CORRECT LINK?
738 002160 001035 BNE 60$ ;NO..SAME AS IDLE LINK
739 002162 122710 000006 CMPB #ST$DIP,(R0) ;HAS DISCONNECT PROCESSING ALREADY STARTED?
740 002166 001432 BEQ 60$ ;YES..SEND DC
741 002170 112710 000006 MOVB #ST$DIP,(R0) ;STARTING DISCCONNECTION
742 002174 112760 000012 000025 MOVB #ST$DIR,I.NSTA(R0) ;DISC RECVD FROM NET
743 002202 162704 000004 SUB #4,R4 ;ADJUST MSG PTR TO DESTADDR
744 002206 016001 000040 MOV I.ILA(R0),R1 ;NEW SRCADDR
745 002212 CALLC PUTBIN ;MODIFY DESTADDR
746 002222 016001 000002 MOV I.LLA(R0),R1 ;NEW DESTADDR
747 002226 CALLC PUTBIN ;MODIFY SRCADDR
748 002236 000241 CLC
749 002240 000401 BR 50$
750
751 002242 000261 40$: SEC ;TOSS MSG
752 002244 112765 000024 000011 50$: MOVB #NT$IND,C.MOD(R5) ;SET UP SUB FUNC CODE FOR XCMPLT
753 002252 RETURN
754
755 002254 000240 60$: NOP ;SPOT FOR DIAGNOSTIC CRASH ;LW0006
756 002256 CALLR DCICF ;SEND DC ACROSS NET ;LW0004
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 15
XINDC
758 .SBTTL XINDC
759
760 ;++
761 ;XINDC
762
763 ;INPUTS:
764 ; R5=CCB ADDRESS
765 ; R4=MESSAGE POINTER [DESTADDR]
766 ; R3=SOURCE NODE INDEX
767 ; R0=DESTINATION NODE INDEX
768 ;OUTPUTS:
769 ; NONE
770
771 ; THIS ROUTINE WILL PROCESS THE RESPONSE TO A DI.
772 ;IF WE ARE ALREADY DONE WITH OUR INTERCEPTED LINK THEN THE
773 ;LINK WILL GO AWAY HERE. OTHERWISE IF THE MESSAGE IS VALID
774 ;THEN IT WILL BE FORWARDED TO OUR INTERCEPTED LINK.
775
776 ;--
777
778 002262 XINDC:
779 002262 005002 CLR R2 ;MESSAGE IS FROM THE NET
780 002264 CALLC PRODS ;GET SRC AND DEST ADDRS, VERIFY LINK
781 002274 103514 BCS 70$ ;LINK DOESN'T EXIST
782 002276 032710 000400 BIT #LF.INT,(R0) ;INTERCEPT LINK?
783 002302 001511 BEQ 70$ ;NO..TOSS MSG
784 002304 016003 000002 MOV I.LLA(R0),R3 ;GET SOURCE LINK ADDRESS TO BE TRANSMITTED
785 002310 122710 000003 CMPB #ST$CIR,(R0) ;WAITING FOR I'D NODE TO CONFIRM CONNECTION?
786 002314 001477 BEQ 50$ ;YES..TOSS MSG
787 002316 122710 000001 CMPB #ST$CIS,(R0) ;HAVE WE SENT A CONNECT REQUEST?
788 002322 001415 BEQ 5$ ;YES..TRY TO REMOVE LINK
789 002324 020160 000010 CMP R1,I.RLA(R0) ;MSG FOR CORRECT LINK?
790 002330 001076 BNE 70$ ;NO..TOSS MSG
791 002332 122710 000002 CMPB #ST$CC,(R0) ;WAITING FOR ACK OF CC?
792 002336 001410 BEQ 10$ ;YES..TRY TO GET RID OF LINK
793 002340 122710 000005 CMPB #ST$DAT,(R0) ;LINK ESTABLISHED?
794 002344 001405 BEQ 10$ ;YES..TRY TO GET RID OF LINK
795 002346 122710 000006 CMPB #ST$DIP,(R0) ;ALREADY DISCONNECTING?
796 002352 001060 BNE 50$ ;NO..TOSS MSG
797 002354 000407 BR 20$
798
799 002356 005003 5$: CLR R3 ;ZERO SOURCE LINK ADDRESS SINCE DC IS IN
800 ;RESPONSE TO A CONNECT INITIATE
801 002360 112710 000006 10$: MOVB #ST$DIP,(R0) ;STARTING TO DISCONNECT
802 002364 112760 000013 000024 MOVB #ST$UDI,I.USTA(R0) ;NO RESPONSE NECESSARY FROM USER
803 002372 000413 BR 30$
804
805 002374 122760 000013 000024 20$: CMPB #ST$UDI,I.USTA(R0) ;HAVE WE ALREADY RECV'D DC FROM INTERCEPTED NODE?
806 002402 001437 BEQ 40$ ;YES..TRY TO GET RID OF LINK
807 002404 122760 000012 000025 CMPB #ST$DIR,I.NSTA(R0) ;RECVD DI FROM NET?
808 002412 001440 BEQ 50$ ;YES..WATING FOR DC FROM I'D NODE
809 002414 112760 000013 000024 MOVB #ST$UDI,I.USTA(R0) ;ALL DONE WITH I'D NODE
810 002422 016001 000042 30$: MOV I.IREM(R0),R1 ;GET THE POINTER TO THE INTERCEPTED NODE
811 002426 122771 000005 000002 CMPB #PS$UP,@D$CHN(R1) ;IS THE INTERCEPTED NODE REACHABLE ?
812 002434 001022 BNE 40$ ;IF NE, NO - JUST TRY TO REMOVE THE LINK
813 002436 112760 000015 000025 MOVB #ST$DID,I.NSTA(R0) ;ALL DONE WITH NET
814 002444 162704 000004 SUB #4,R4 ;ADJUST MSG PTR TO DESTADDR
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 15-1
XINDC
815 002450 016001 000040 MOV I.ILA(R0),R1 ;INTERCEPTED NODE IS FINAL DESTINATION
816 002454 CALLC PUTBIN ;MODIFY DESTADDR
817 002464 010301 MOV R3,R1 ;SET SOURCE LINK ADDRESS (I.LLA OR ZERO)
818 002466 CALLC PUTBIN ;MODIFY SRCADDR
819 002476 000241 CLC
820 002500 000406 BR 60$
821
822 002502 112760 000015 000025 40$: MOVB #ST$DID,I.NSTA(R0) ;NOTHING MORE TO HEAR FROM NET
823 002510 CALL CLNLNK ;TRY TO REMOVE LINK GRACEFULLY
824 002514 000261 50$: SEC ;TOSS MSG
825 002516 112765 000024 000011 60$: MOVB #NT$IND,C.MOD(R5) ;SET UP SUB FUNC CODE FOR XCMPLT ;LW0016
826 002524 RETURN ;**-1
827
828 002526 000240 70$: NOP ;SPOT FOR DIAGNOSTIC CRASH ;LW0006
829 002530 000261 SEC ;LW0004
830 002532 RETURN ;LW0004
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 16
DCICF
832 .SBTTL DCICF ;LW0004
833 ;LW0004
834 ;++ ;LW0004
835 ;DCICF ;LW0004
836 ;LW0004
837 ;INPUTS: ;LW0004
838 ; R0->LLT ;LW0004
839 ;LW0004
840 ;OUTPUTS: ;LW0004
841 ; R5=0 (INDICATES DC SENT) ;LW0004
842 ; C-BIT SET ;LW0004
843 ;LW0004
844 ; THIS ROUTINE MAPS TO THE ILT FOR THE OTHER SIDE OF THE NET ;LW0004
845 ; (THROUGH I.RLA) AND SENDS A DC ON THE LOGICAL LINK TO THE ;LW0004
846 ; ADJACENT NODE FOR THAT LINK. ;LW0004
847 ;LW0004
848 ;-- ;LW0004
849 ;LW0004
850 002534 016000 000010 DCICF: MOV I.RLA(R0),R0 ;MAP TO OTHER ILT ;LW0004
851 002540 CALLC GETLNK ; FROM THE ONE WE WERE AT ;LW0004
852 002550 103440 BCS 100$ ;ILT NOT THERE - FORGET IT ;LW0017
853 002552 016002 000006 MOV I.REM(R0),R2 ;GET SOURCE NODE FOR DODC ;AP0022
854 002556 016701 000000G MOV $NSADB,R1 ;ADDRESS THE SCRATCH ;LW0007
855 002562 062701 000012 ADD #N$TMP,R1 ; STORAGE AREA IN THE DATA BASE ;LW0007
856 002566 016021 000042 MOV I.IREM(R0),(R1)+ ;MOVE IN THE ADJACENT NODE NAME ;LW0007
857 002572 016021 000040 MOV I.ILA(R0),(R1)+ ;MOVE IN THE REMOTE LLA ;AP0019
858 002576 016021 000002 MOV I.LLA(R0),(R1)+ ;MOVE IN THE SOURCE (HERE) LLA ;AP0019
859 002602 012711 000047 MOV #ER$COM,(R1) ;MOVE IN "NO PATH" ERROR CODE ;LW0007
860 002606 122710 000001 CMPB #ST$CIS,(R0) ;IF LINK IN CIS STATE ;AP0021
861 002612 001001 BNE 10$ ;THEN ;AP0021
862 002614 005041 CLR -(R1) ;MAKE SURE THE SOURCE IS ZERO. ;AP0021
863 002616 112710 000006 10$: MOVB #ST$DIP,(R0) ;MARK ILT AS DISCONNECTING ;AP0021
864 002622 012760 006413 000024 MOV #ST$DID*400!ST$UDI,L.USTA(R0) ;CLEAN UP LINK ;LW0015
865 002630 CALL CLNLNK ; IF IT IS OTHERWISE IDLE ;LW0015
866 002634 112765 000034 000011 MOVB #NT$IDC,C.MOD(R5) ;MARK CCB AS CONTAINING AN ICPT DC ;LW0013
867 002642 CALLC DODCI ;SEND A DC TO THE ADJACENT NODE ;AP0025
868 002652 000261 100$: SEC ;RETURN "DC SENT" ;LW0017
869 002654 RETURN ;TO CALLER'S CALLER ;LW0004
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 17
DCICF
871
872 .SBTTL HNGILT
873
874 ;++
875 ;HNGILT
876
877 ;INPUTS:
878 ; R0=ILT
879
880 ;OUTPUTS:
881
882 ; THIS ROUTINE WILL SEND A DC THRU THE NET TO INFORM THE END NODE
883 ;OF LINE FAILURE. IF THE DESTINATION LINE IS ALSO DOWN THEN THERE IS NO
884 ;NEED TO NOTIFY THAT NODE CAUSING THIS LINK TO GO AWAY IMMEDIATELY.
885
886 ;--
887
888 002656 HNGILT::CALL $SAVAL ;SAVE ALL THE REGISTERS (CO-ROUTINE)
889 002662 122710 000001 CMPB #ST$CIS,(R0) ;IS THE STATE CONNECT INITIATE SENT ?
890 002666 001437 BEQ 30$ ;IF EQ, YES - NO MESSAGES ARE REQUIRED
891 002670 122710 000006 CMPB #ST$DIP,(R0) ;IF WE ARE ;LW0013
892 002674 001004 BNE 10$ ; DISCONNECTING ;LW0013
893 002676 022760 004413 000024 CMP #ST$UNR*400!ST$UDI,I.USTA(R0) ;AND SENDING A DC, ;LW0013
894 002704 001432 BEQ 40$ ; SKIP DC IN OTHER DIRECTION ;LW0013
895 002706 112710 000006 10$: MOVB #ST$DIP,(R0) ;STARTING DISCONNECTION PROCEDURE ;LW0013
896 002712 112760 000013 000024 MOVB #ST$UDI,I.USTA(R0) ;NOTHING LEFT TO TELL INTERCEPTED NODE ;**-1
897 002720 112760 000011 000025 MOVB #ST$UNR,I.NSTA(R0) ;SENDING DISC THRU NET
898 002726 CALLC GETSMS ;ALLOCATE A BUFFER FOR THE DISCONNECT MESSAGE
899 002736 103423 BCS 60$ ;ALLOCATION FAILURE - RETRY LATER ;LW0004
900 002740 112760 000015 000025 MOVB #ST$DID,L.NSTA(R0) ;NEW STATE IS DONE WITH THE NET ;LW0009
901 002746 010046 MOV R0,-(SP) ;SEND A DC ;LW0009
902 002750 CALL DCICF ; OVER THE ;LW0009
903 002754 012600 MOV (SP)+,R0 ; NETWORK ;LW0009
904 002756 RECMAP ;RECOVER ACP PAGE 6 MAPPING ;LW0011
905 002764 000402 BR 40$ ; ;**-30
906
907 002766 112710 000006 30$: MOVB #ST$DIP,(R0) ;SET STATE TO DISCONNECTING
908 002772 012760 006413 000024 40$: MOV #ST$DID*400!ST$UDI,I.USTA(R0) ;...AND COMPLETED SUBSTATES ;LW0013
909 003000 CALLR CLNLNK ;ATTEMPT TO GET RID OF LINK AND RETURN ;LW0013
910 ;**-2
911 003004 50$: RETURN ;RETURN TO CALLER ;LW0004
912 ;LW0004
913 003006 60$: CRASH ;***TEMPORARY DEBUGGING AID*** ;LW0004
914 ;**-1
915
916 000000 .PSECT
917
918 000001 .END
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 17-1
SYMBOL TABLE
ACKMAS= 170000 C$$CKP= 000000 ER$NOD= 000002 G$$TSS= 000000 LF.FPN= 000010
ACKPRE= 100000 C$$MPT= 000000 ER$NSD= 000003 G$$TTK= 000000 LF.HF0= 001000
ACKRES= 060000 C$$ORE= 000400 ER$RES= 000001 G$$WRD= 000000 LF.HMF= 020000
ACKWRA= 010000 C$$RSH= 177564 ER$SSR= 000000 HNGILT 002656RG 002 LF.HSF= 010000
ADDDST 000574R 002 C.BID 000003 ER$SSS= 000045 IF.INS= 040000 LF.INR= 000100
ADDFLG 001030R 002 C.BUF 000014 ER$STA= 000051 IF.NKS= 000400 LF.INT= 000400
ADDLNK= ****** GX C.BUF1 000014 ER$TCN= 000040 IF.NRD= 000200 LF.LCL= 040000
ADDSRC 000566R 002 C.BUF2 000024 ER$TCO= 000041 IF.NRI= 100000 LF.MMF= 100000
ADNOD = ****** GX C.CNT 000020 ER$TPA= 000010 IF.NTS= 002000 LF.MSF= 040000
A$$CHK= 000000 C.CNT1 000020 ER$UOB= 000004 IF.SND= 000004 LF.NKR= 000200
A$$CPS= 000000 C.CNT2 000030 E$$XPR= 000000 IF.SNL= 000002 LF.NKS= 000400
A$$PRI= 000000 C.FLG 000022 FC.CCP= 000020 I$$RAR= 000000 LF.NPN= 000001
A$$TRP= 000000 C.FLG1 000022 FC.CTL= 000006 I$$RDN= 000000 LF.NTS= 002000
A.NAK = 010000 C.FLG2 000032 FC.KCP= 000016 I.FLG = 000012 LF.RSU= 100000
CB.CCB= 000002 C.FNC 000010 FC.KIL= 000004 I.ILA = 000040 LS.DLS= 000200
CB.RDB= 000004 C.LIN 000006 FC.RCE= 000002 I.IREM= 000042 LS.FCC= 000004
CE.ABO= 100362 C.LNK 000000 FC.RCP= 000014 I.LDA = 000024 LS.FC0= 000001
CE.DIS= 100366 C.MOD 000011 FC.TIM= 000010 I.LIA = 000026 LS.FC1= 000002
CE.ERR= 100370 C.NSP 000004 FC.XCP= 000012 I.LLA = 000002 LS.ILS= 000200
CE.MOP= 100372 C.RSV 000002 FC.XME= 000000 I.LNO = 000022 LS.MAK= 000020
CE.NTE= 100361 C.STA 000007 FE.CAL= 000040 I.LSA = 000032 LS.MNK= 000040
CE.RTE= 100376 C.STS 000012 FE.DRV= 000010 I.LVL = 000001 LS.RES= 000360
CE.SRC= 100364 DCICF 002534R 002 FE.EXP= 000200 I.NDA = 000034 LS.RSV= 000300
CE.TMO= 100374 DF$ADJ= 020000 FE.EXT= 000001 I.NIN = 000016 L$$ASG= 000000
CFRNOD= ****** GX DF$DWN= 001000 FE.EXV= 000004 I.NLA = 000036 L$$DRV= 000000
CF.EOM= 000004 DF$FRE= 070000 FE.LSI= 000400 I.NSTA= 000025 L$$P11= 000001
CF.HDR= 000020 DF$LCL= 040000 FE.MUP= 000002 I.NXN = 000014 L$$11R= 000000
CF.LB = 100000 DF$LNK= 004000 FE.MXT= 040000 I.REM = 000006 L.CIQ 000026
CF.SOM= 000010 DF$REM= 010000 FE.NLG= 100000 I.RLA = 000010 L.DCR 000036
CF.SYN= 000040 DF$RES= 002000 FE.PKT= 000100 I.RNO = 000020 L.FLG 000012
CF.TRN= 000100 DF$TMP= 100000 FE.PLA= 000020 I.STA = 000000 L.LDA 000024
CLNLNK= ****** GX DODCI = ****** GX FS.AST= 000000 I.TIPD= 000005 L.LIA 000026
CL$ACK= 000040 DODCR = ****** GX FS.CIB= 002000 I.TIPI= 000004 L.LLA 000002
CL$MFL= 000010 D$CHN 000002 FS.CRA= 001000 I.USA = 000030 L.LNG1 000054
CL$NRM= 000020 D$FLG 000000 FS.DIS= 013000 I.USTA= 000024 L.LNO 000022
CL$SFL= 000004 D$LEN 000014 FS.DVC= 001000 KDSAR0= 172360 L.LSA 000032
CL$TYP= 000001 D$LNG 000005 FS.ENB= 012000 KDSDR0= 172320 L.LSF 000044
CL.MU1= 000001 D$NAM 000006 FS.GET= 006000 KISAR0= 172340 L.LVL 000001
CL.MU2= 000002 D$USE 000004 FS.INI= 000000 KISAR5= 172352 L.NDA 000034
CL.RES= 177774 D$$BUG= 177514 FS.KIL= 000000 KISAR6= 172354 L.NIN 000016
CMODE = 140000 D$$ISK= 000000 FS.LTM= 001000 KISAR7= 172356 L.NLA 000036
CS.ABO= 000100 D$$L11= 000001 FS.MNT= 004000 KISDR0= 172300 L.NSTA 000025
CS.BUF= 000200 D$$YNC= 000000 FS.MSN= 014000 KISDR6= 172314 L.NXN 000014
CS.DCR= 000400 D$$YNM= 000000 FS.RNG= 011000 KISDR7= 172316 L.PDV 000041
CS.DEV= 000002 ER$ABO= 000046 FS.RTN= 001000 K$$CNT= 177546 L.REM 000006
CS.DIS= 000040 ER$ABT= 000011 FS.SET= 005000 K$$CSR= 177546 L.RLA 000010
CS.ENB= 000020 ER$ACC= 000042 FS.STM= 000000 K$$LDC= 000000 L.RNO 000020
CS.EOF= 000001 ER$ACT= 000044 FS.STP= 002000 K$$TPS= 000074 L.STA 000000
CS.ERR= 100000 ER$CDI= 000052 FS.STR= 001000 LA.ACK= 100000 L.TC 000042
CS.HFE= 002000 ER$COM= 000047 FS.TRM= 003000 LA.MSK= 170000 L.TIC 000043
CS.LST= 040000 ER$FCF= 000050 FS.XKL= 002000 LA.NAK= 110000 L.TIPD 000005
CS.MTL= 004000 ER$FMT= 000005 FS.XOF= 010000 LA.NMS= 010000 L.TIPI 000004
CS.RNG= 000010 ER$GEN= 000007 FS.XON= 007000 LA.RES= 060000 L.UDQ 000034
CS.ROV= 000004 ER$IFC= 000030 F$$LVL= 000001 LD$LP = 000000 L.ULA 000040
CS.RSN= 010000 ER$ILS= 000043 GETLNK= ****** GX LF.DFL= 000060 L.USA 000030
CS.SUC= 000001 ER$IMG= 000053 GETSMS= ****** GX LF.DSP= 000040 L.USTA 000024
CS.TMO= 020000 ER$MLB= 000006 G$$TPP= 000000 LF.DST= 000020 L.XQ1 000046
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 17-2
SYMBOL TABLE
L.XQ2 000050 NS.SOL= 000140 N$$ICF= 000001 PR6 = 000300 ST$CIR= 000003
L.XQ3 000052 NS.SUC= 000001 N$$INT= 000020 PR7 = 000340 ST$CIS= 000001
MA.DA = 000000 NT$ABO= 000022 N$$LDV= 000001 PS = 177776 ST$DAT= 000005
MA.IL = 000020 NT$ACC= 000002 N$$MOV= 000010 PS$NTI= 000003 ST$DID= 000015
MC.CC = 000040 NT$ADS= 000000 N$$OPT= 000020 PS$OFF= 000000 ST$DIP= 000006
MC.CI = 000020 NT$AKD= 000016 N$$OVR= 000042 PS$STR= 000001 ST$DIR= 000012
MC.DC = 000100 NT$AKI= 000020 N$$SYS= 000001 PS$UP = 000005 ST$DIS= 000014
MC.DI = 000060 NT$CC = 000012 N$$USR= 000001 PS$VER= 000004 ST$UDI= 000013
MC.NO = 000000 NT$CON= 000000 N.ACNT 000116 PS$WT = 000002 ST$UNR= 000011
MC.ST = 000120 NT$DAT= 000002 N.ACTL 000114 PUTBIN= ****** GX SWR = 177570
MD.BM = 000040 NT$DIS= 000010 N.DDL1 000012 P$CHN 000004 S$EMR 000006
MD.EM = 000100 NT$IDC= 000034 N.DDL2 000016 P$CNT 000005 S$FMT 000012
MD.ILS= 000040 NT$IDN= 000030 N.DDS1 000014 P$FRQ 000012 S$LEN 000040
MD.IM = 000020 NT$ILN= 000032 N.DDS2 000020 P$FSP 000013 S$LNK 000022
MF.ACK= 000004 NT$IND= 000024 N.DFMT 000010 P$LCD 000002 S$MLK 000024
MF.CTL= 000010 NT$INL= 000026 N.DGRP 000012 P$LEN 000014 S$NKS 000010
MF.DAT= 000000 NT$INT= 000004 N.DOBJ 000011 P$LST 000000 S$RES 000014
MPAR = 172100 NT$LS = 000014 N.DUSR 000014 P$NOD 000010 S$SEC 000000
MPCSR = 177746 NT$MOD= 000012 N.LGTH= 000160 P$PFQ 000006 S$SNI 000016
MSGHDR= 000007 NT$NAK= 000022 N.NODE 000000 P$TIM 000003 S$UMR 000004
M$$CRB= 000124 NT$OFF= 000026 N.OPDL 000136 P$$PRI= 000000 S$UMS 000002
M$$CRX= 000000 NT$ON = 000002 N.OPTD 000140 P$$P45= 000000 S$UNI 000020
M$$FCS= 000000 NT$QRY= 000014 N.PASL 000102 P$$WRD= 000000 S$$WRG= 000000
M$$MGE= 000000 NT$REJ= 000004 N.PASS 000104 Q$$OPT= 000010 S$$YSZ= 007600
M$$OVR= 000000 NT$ROU= 000022 N.RQDL 000060 RCTLTB 000160R 002 TMPLNK 000000R 002
NAKICF= ****** GX NT$RTI= 000010 N.RQID 000062 RDICTL 000074RG 002 TOSS 000220R 002
NC.FM0= 000000 NT$RTN= 000000 N.RSRV= 000030 REMLKA= ****** GX TPS = 177564
NC.FM1= 000001 NT$SNG= 000006 N.SDL1 000036 RF.CLN= 000000 T$$KMG= 000000
NC.FM2= 000002 NT$STP= 000004 N.SDL2 000042 RF.CTL= 000003 T$$MIN= 000000
NETTIM= 000005 NT$XOF= 000020 N.SDS1 000040 RF.TIM= 177400 UBMPR = 170200
NE.ABO= 177776 NT$XON= 000016 N.SDS2 000056 RF.TM0= 000400 UDSAR0= 177660
NE.ACT= 177771 NT.ACK= 000001 N.SEG 000006 RF.WTD= 000020 UDSDR0= 177620
NE.CLS= 177767 NT.BOM= 000040 N.SFMT 000034 RF.WTM= 000030 UISAR0= 177640
NE.DIS= 177777 NT.EOM= 000100 N.SGRP 000036 RF.WTS= 000010 UISAR4= 177650
NE.FMT= 177770 NT.FCN= 037400 N.SOBJ 000035 RH.CNT= 000001 UISAR5= 177652
NE.NDT= 177766 NT.MD1= 000420 N.SUSR 000040 RH.EFM= 000020 UISAR6= 177654
NE.NOD= 177774 NT.MFL= 000002 PD$NSP= ****** GX RH.HDR= 000002 UISAR7= 177656
NE.REJ= 177775 NT.MOD= 000020 PF$EIP= 000100 RH.PRI= 000014 UISDR0= 177600
NE.RES= 177773 NT.MOM= 000000 PF$ENB= 000200 RH.PR1= 000004 UISDR4= 177610
NE.TIM= 177772 NT.NAK= 000002 PF$OFF= 000000 RH.RFM= 000100 UISDR5= 177612
NI.FLI= 000002 NT.NFL= 000000 PF$RLI= 000002 RINCC 001032R 002 UISDR6= 177614
NI.FRI= 000004 NT.SFL= 000001 PF$RRI= 000004 RINCI 000224R 002 UISDR7= 177616
NI.FRT= 000001 NT.SOL= 000140 PF$RVE= 000001 RINCTL 000002RG 002 UNSPWN= ****** GX
NI.FUB= 000010 NT.XOF= 000004 PF$RVR= 000040 RINDC 001414R 002 VF$RCV= 100000
NI.INI= 000001 NT.XON= 000010 PF$SLI= 000002 RINDI 001210R 002 VF$XMT= 040000
NI.RLI= 000002 N$ACQ 000000 PF$SRI= 000004 RMNOD = ****** GX V$FLG 000000
NI.RRI= 000004 N$ICF 000006 PF$SRT= 000001 R$$DER= 000000 V$LEN 000022
NI.RVE= 000001 N$LNI 000010 PF$STA= 000003 R$$K11= 000001 V$RCV 000002
NI.VER= 000002 N$LVC 000022 PF$SUB= 000010 R$$SND= 000000 V$XMT 000012
NP$RTR= 000003 N$NOD 000032 PF$UP = 000001 R$$11M= 000000 V$$CTR= 001000
NS.BOM= 000040 N$PLD 000026 PIRQ = 177772 SENDIT= ****** GX WINDOW= 004000
NS.EOM= 000100 N$STS 000042 PMODE = 030000 SISDR0= 172200 XCTLTB 000200R 002
NS.MFL= 000003 N$TCB 000004 PRODS = ****** GX SNDICF= ****** GX XINCC 001772R 002
NS.MOM= 000000 N$TMP 000012 PR0 = 000000 SRNOD = ****** GX XINCI 001640R 002
NS.NFL= 000001 N$VER 000036 PR1 = 000040 SR0 = 177572 XINDC 002262R 002
NS.SET= 000002 N$$DAT= 000030 PR4 = 000200 SR3 = 172516 XINDI 002112R 002
NS.SFL= 000002 N$$DIS= 000020 PR5 = 000240 ST$CC = 000002 X$$DBT= 000000
NSPIFA MACRO M1110 06-NOV-79 10:06 PAGE 17-3
SYMBOL TABLE
$CALLX= ****** GX $NSADB= ****** GX $SAVAL= ****** GX
. ABS. 000160 000
000000 001
NSPIFA 003010 002
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 19164 WORDS ( 75 PAGES)
DYNAMIC MEMORY: 20620 WORDS ( 79 PAGES)
ELAPSED TIME: 00:00:59
NSPIFA,[131,34]NSPIFA/CR/-SP=[130,10]NETLIB/ML,RSXMCI/PA:1,[131,10]NSPIFA
NSPIFA CREATED BY MACRO ON 6-NOV-79 AT 10:07 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ADDDST 000574 R 5-254 #8-379
ADDFLG 001030 R *8-376 *8-379 8-384 8-405 8-412 #8-427
ADDLNK = ****** GX 7-320 7-323
ADDSRC 000566 R 6-287 #8-376
ADNOD = ****** GX 8-409
CFRNOD = ****** GX 5-249 6-282
CLNLNK = ****** GX 11-600 15-823 16-865 17-909
C.BUF 000014 4-145 4-163
C.BUF2 000024 4-146
C.CNT2 000030 4-149
C.FLG1 000022 4-148
C.FLG2 000032 4-147
C.LIN 000006 8-401
C.MOD 000011 *12-654 *13-701 *14-752 *15-825 *16-866
C.STS 000012 8-382
DCICF 002534 R 12-658 13-705 14-756 #16-850 17-902
DF$ADJ = 020000 5-231 5-242 6-261 6-267 6-278
DF$FRE = 070000 8-392 8-394
DF$REM = 010000 5-231 6-278 8-408
DODCI = ****** GX 16-867
DODCR = ****** GX 6-301 7-348 9-475 10-531
D$CHN 000002 12-635 15-811
D$USE 000004 *7-327 *12-646
ER$CDI = 000052 10-529
ER$COM = 000047 6-296 16-859
ER$RES = 000001 7-308
ER$TCN = 000040 6-298
GETLNK = ****** GX 16-851
GETSMS = ****** GX 17-898
HNGILT 002656 RG #17-888
IF.NTS = 002000 9-462
I.FLG = 000012 9-462
I.ILA = 000040 *7-330 *9-459 *10-509 10-510 11-575 13-693 14-744 15-815 16-857
I.IREM = 000042 4-165 *7-326 9-464 *12-645 15-810 16-856
I.LLA = 000002 7-332 9-470 10-523 11-574 12-648 13-695 14-746 15-784 16-858
I.NSTA = 000025 *10-518 11-585 11-587 *11-589 *11-593 *14-742 15-807 *15-813 *15-822
*17-897
I.REM = 000006 4-164 *7-328 *12-643 16-853
I.RLA = 000010 9-468 10-521 11-596 *12-642 *13-691 *14-736 14-737 15-789 16-850
I.STA = 000000 *10-519 *11-592
I.TIPD = 000005 *4-166
I.USTA = 000024 *10-530 *11-594 *11-605 *15-802 15-805 *15-809 17-893 *17-896 *17-908
KISAR6 = 172354 *4-145 *4-180 *17-904
LF.INT = 000400 7-325 9-455 10-505 11-567 12-641 13-686 14-730 15-782
L.NSTA 000025 *17-900
L.USTA 000024 *16-864
M$$MGE = 000000 4-145 4-167 4-167 4-178 4-178 4-180 5-228 5-228 6-301
6-301 7-333 7-333 7-340 7-340 7-348 7-348 8-391 8-391
8-398 8-398 8-420 8-420 9-452 9-452 9-460 9-460 9-465
9-465 9-469 9-469 9-471 9-471 9-475 9-475 10-502 10-502
10-514 10-514 10-522 10-522 10-524 10-524 10-531 10-531 11-559
11-559 11-597 11-597 11-599 11-599 12-633 12-633 12-649 12-649
NSPIFA CREATED BY MACRO ON 6-NOV-79 AT 10:07 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
13-684 13-684 13-694 13-694 13-696 13-696 14-728 14-728 14-745
14-745 14-747 14-747 15-780 15-780 15-816 15-816 15-818 15-818
16-851 16-851 16-867 16-867 17-898 17-898 17-904
NAKICF = ****** GX 9-465
NT$IDC = 000034 16-866
NT$IND = 000024 12-654 13-701 14-752 15-825
N$ICF 000006 5-244 8-407
N$PLD 000026 8-404
N$TMP 000012 *6-300 7-330 *7-346 *8-416 *10-529 12-638 16-855
N$$CNC = ****** 4-169 7-309
PD$NSP = ****** GX 4-167 4-178 5-228 6-301 7-333 7-340 7-348 8-391 8-398
8-420 9-452 9-460 9-465 9-469 9-471 9-475 10-502 10-514
10-522 10-524 10-531 11-559 11-597 11-599 12-633 12-649 13-684
13-694 13-696 14-728 14-745 14-747 15-780 15-816 15-818 16-851
16-867 17-898
PRODS = ****** GX 5-228 9-452 10-502 11-559 12-633 13-684 14-728 15-780
PS$UP = 000005 5-246 12-635 15-811
PUTBIN = ****** GX 7-333 9-469 9-471 10-522 10-524 11-597 11-599 12-649 13-694
13-696 14-745 14-747 15-816 15-818
P$LEN 000014 8-403
RCTLTB 000160 R 4-155 #4-185
RDICTL 000074 RG #4-161
REMLKA = ****** GX 7-340
RINCC 001032 R 4-187 #9-450
RINCI 000224 R 4-186 #5-227
RINCTL 000002 RG #4-145
RINDC 001414 R 4-189 #11-555
RINDI 001210 R 4-188 #10-500
RMNOD = ****** GX 8-398 8-420
RSX11D = ****** 4-167 4-167 4-178 4-178 5-228 5-228 6-301 6-301 7-333
7-333 7-340 7-340 7-348 7-348 8-391 8-391 8-398 8-398
8-420 8-420 9-452 9-452 9-460 9-460 9-465 9-465 9-469
9-469 9-471 9-471 9-475 9-475 10-502 10-502 10-514 10-514
10-522 10-522 10-524 10-524 10-531 10-531 11-559 11-559 11-597
11-597 11-599 11-599 12-633 12-633 12-649 12-649 13-684 13-684
13-694 13-694 13-696 13-696 14-728 14-728 14-745 14-745 14-747
14-747 15-780 15-780 15-816 15-816 15-818 15-818 16-851 16-851
16-867 16-867 17-898 17-898
SENDIT = ****** GX 9-460 10-514
SNDICF = ****** GX 4-167
SRNOD = ****** GX 8-391
ST$CC = 000002 11-579 15-791
ST$CIR = 000003 9-457 10-507 11-569 12-641 14-732 15-785
ST$CIS = 000001 7-325 10-512 11-577 13-688 14-734 15-787 16-860 17-889
ST$DAT = 000005 9-466 11-581 13-690 15-793
ST$DID = 000015 11-589 11-593 15-813 15-822 16-864 17-900 17-908
ST$DIP = 000006 10-516 10-519 11-583 11-592 14-739 14-741 15-795 15-801 16-863
17-891 17-895 17-907
ST$DIR = 000012 11-587 14-742 15-807
ST$DIS = 000014 10-518 11-585
ST$UDI = 000013 10-530 11-594 11-605 15-802 15-805 15-809 16-864 17-893 17-896
17-908
NSPIFA CREATED BY MACRO ON 6-NOV-79 AT 10:07 PAGE 3
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ST$UNR = 000011 17-893 17-897
TMPLNK 000000 R #3-123 *7-322 7-339 12-640
TOSS 000220 R 4-185 4-190 4-191 4-192 4-195 4-200 4-201 4-202 #4-204
UISAR6 = 177654 4-180 17-904
UNSPWN = ****** GX 4-178
XCTLTB 000200 R 4-161 #4-195
XINCC 001772 R 4-197 #13-682
XINCI 001640 R 4-196 #12-631
XINDC 002262 R 4-199 #15-778
XINDI 002112 R 4-198 #14-726
$CALLX = ****** GX 4-167 4-178 5-228 6-301 7-333 7-340 7-348 8-391 8-398
8-420 9-452 9-460 9-465 9-469 9-471 9-475 10-502 10-514
10-522 10-524 10-531 11-559 11-597 11-599 12-633 12-649 13-684
13-694 13-696 14-728 14-745 14-747 15-780 15-816 15-818 16-851
16-867 17-898
$NSADB = ****** GX 5-230 7-329 7-345 8-400 8-415 10-528 12-637 16-854
$SAVAL = ****** GX 17-888
NSPIFA CREATED BY MACRO ON 6-NOV-79 AT 10:07 PAGE 4
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
CALL 4-155 4-161 5-249 5-254 6-282 6-287 7-320 7-323 8-409 11-600
15-823 16-865 17-888 17-902
CALLC #3-112 #4-167 #4-178 #5-228 #6-301 #7-333 #7-340 #7-348 #8-391 #8-398
#8-420 #9-452 #9-460 #9-465 #9-469 #9-471 #9-475 #10-502 #10-514 #10-522
#10-524 #10-531 #11-559 #11-597 #11-599 #12-633 #12-649 #13-684 #13-694 #13-696
#14-728 #14-745 #14-747 #15-780 #15-816 #15-818 #16-851 #16-867 #17-898
CALLR #12-658 #13-705 #14-756 #17-909
CALLX #3-112 4-167 4-178 5-228 6-301 7-333 7-340 7-348 8-391 8-398
8-420 9-452 9-460 9-465 9-469 9-471 9-475 10-502 10-514 10-522
10-524 10-531 11-559 11-597 11-599 12-633 12-649 13-684 13-694 13-696
14-728 14-745 14-747 15-780 15-816 15-818 16-851 16-867 17-898
CCBDF$ #3-113 3-114
CRASH #8-424 #12-657 #17-913
HWDDF$ #4-145 #4-145 #4-180 #4-180 #17-904 #17-904
MAP #3-111 4-145
NSPSY$ #3-113 #3-115
RECMAP #3-111 4-180 17-904
RESMAP #3-111
RESRG #3-110 #4-156 #8-421
RETURN #4-181 #4-205 #6-302 #7-335 #7-349 #8-422 #9-477 #10-533 #11-608 #12-655
#13-702 #14-753 #15-826 #15-830 #16-869 #17-911
SAVMAP #3-111
SAVRG #3-110 #4-154 #8-381