Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/mcb/nspcp.lst
There are no other files named nspcp.lst in the archive.
NSPCP MACRO M1110 13-OCT-79 10:02
TABLE OF CONTENTS
4- 113 RCVCMP - RECEIVED MESSAGE PROCESSING
5- 234 BLDRTH - BUILD A ROUTE HEADER TO A MESSAGE
6- 316 RENABL
7- 345 XENABL
8- 377 XMCMP
9- 551 RELIEF
10- 612 NAKINT
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 3
1 .IIF DF N$$ICF, .TITLE NSPCPI
2 .IIF NDF N$$ICF, .TITLE NSPCP
3 .IDENT /V01.22/
4
5 ;
6 ; COPYRIGHT (C) 1978 BY
7 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
8 ;
9 ;
10 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
11 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
12 ; INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
13 ; COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
14 ; OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
15 ; TRANSFERRED.
16 ;
17 ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
18 ; AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
19 ; CORPORATION.
20 ;
21 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
22 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
23 ;
24 ;
25 ; MODULE DESCRIPTION
26 ;
27 ; NSP RECEIVE AND TRANSMET COMPLETION DISPATCHER
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 ;
39 ; JS0001 12-APR-78 JOHN SAUTER
40 ; TO PASS MESSAGES TO THE ACP (IN INTERCEPT MODE)
41 ; EVEN IF THE SOURCE NODE IS UNKNOWN.
42 ; LW0002 1-MAY-78 LEE WEBBER
43 ; MODIFY "XMCTBL" DISPATCH VECTORS FOR INTERCEPT
44 ; TO POINT TO NEW ACK/NAK ROUTINES
45 ; LW0003 7-MAY-78 LEE WEBBER
46 ; SET FLAG TO INDICATE THERE IS NO SOURCE NODE NAME
47 ; SPECIFIED BECAUSE THERE IS NO ROUTING HEADER ON
48 ; THE MESSAGE BEING PROCESSED
49 ; LW0004 17-MAY-78 LEE WEBBER
50 ; ADD CODE TO TRANSMIT COMPLETE TO CLEAN UP AN ILT
51 ; ON COMPLETION OF AN INTERCEPTED DC
52 ; AP0005 21-DEC-77 ALAN D. PECKHAM
53 ; TO ENABLE USE OF THE SYSTEM INTERFACE.
54 ; AP0006 23-MAR-78 ALAN D. PECKHAM
55 ; REDIRECT DISPATCH FROM USRMOD TO SYSMOD
56 ; MN0007 6-JUN-78 MAYNARD
57 ; FIX SDC SYSTEM FOR END-NODE SYSTEM
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 3-1
58 ; AP0008 9-JUN-78 ALAN D. PECKHAM
59 ; ADD CODING TO DISPATCH NAK COMPLETE TO SYSTEM USER.
60 ; LW0009 10-OCT-78 LEE WEBBER
61 ; MODIFY FIX #8 FOR INTERCEPT
62 ; AP0010 24-OCT-78 ALAN D. PECKHAM
63 ; DELAY BUFFER READJUSTMENT FOR DATA MESSAGES.
64 ; AP0011 25-OCT-78 ALAN D. PECKHAM
65 ; CORRECT SOURCE NODE INDICATOR IN CASE OF LOCAL LINK SOURCE
66 ; LW0012 08-JAN-79 LEE WEBBER
67 ; FALSE NODE INIT MODIFICATIONS
68 ; 22-JAN-79 LEE WEBBER
69 ; CONDITIONALIZED FOR INTERCEPT ONLY
70 ; AP0013 25-FEB-79 ALAN D. PECKHAM
71 ; NO ROUTING HEADERS ON LOCAL LINK MESSAGES, PLEASE!
72 ; LW0014 9-MAR-79 LEE WEBBER
73 ; MODIFY INTERFACE TO "GTNOD". ELIMINATE CODE TO HANDLE AN
74 ; UNKNOWN SOURCE NODE.
75 ; LW0015 15-MAR-79 LEE WEBBER
76 ; FIX SMALL LOGIC PROBLEM IN #14
77 ; LW0016 11-APR-79 LEE WEBBER
78 ; TAKE THE LINK CLEANUP FUNCTION OUT OF THE "IDC" SUBFUNCTION
79 ; TO TRANSMIT COMPLETE (THIS REPEALS #4) AND ADD IT TO THE "IND"
80 ; AND "INL" SUBFUNCTIONS
81 ; AP0017 22-MAY-79 ALAN D. PECKHAM
82 ; INTERCEPT TRANSMIT COMPLETES SHOULD NOT CALL SNDAKD OR SNDAKI
83 ; LW0018 25-JUN-79 LEE WEBBER
84 ; DON'T GO INTO "XMCIND/INL" CLEANUP CODE UNLESS LINK IS 'DIP'
85 ; LW0019 11-JUL-79 LEE WEBBER
86 ; BACK OUT OF SOME OF FIX #14; ADD BACK "UNKNOWN SOURCE"
87 ; AP0020 10-AUG-79 ALAN D. PECKHAM
88 ; ALLOW INTERCEPT SERVICE FOR ALL MESSAGES WITH ROUTING HEADERS
89 ; THAT HAVE UNKNOWN SOURCE NODES.
90 ; AP0021 22-AUG-79 ALAN D. PECKHAM
91 ; BLEW A CONDITIONAL ON THE LAST FIX (V1.20)
92 ; AP0022 31-AUG-79 ALAN D. PECKHAM
93 ; FIX NON-INTERCEPT CODING TO USE CREATED NODE ENTRY WHEN A
94 ; ROUTING HEADER IS GIVEN WITH AN UNKNOWN SOURCE.
95 ;
96 ;
97 ; EXTERNAL MACRO DEFINITIONS
98 ;
99 .MCALL SAVRG,MAP,RESRG
100 .MCALL CCBDF$,NSPSY$
101 000000 CCBDF$ ;DEFINE THE CCB OFFSETS
102 000000 NSPSY$ ;DEFINE THE NSP SYMBOLS
103
104 .IF NDF N$$SYS&N$$USR
105
106 N$$SYS=1 ;IF NEITHER INTERFACE IS SPECIFIED
107 ;DEFAULT TO SYSTEM INTERFACE
108
109 .ENDC
110
111 000000 .PSECT NSPCP
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 4
RCVCMP - RECEIVED MESSAGE PROCESSING
113 .SBTTL RCVCMP - RECEIVED MESSAGE PROCESSING
114
115 ;+
116 ; **-RCVCMP-RECEIVED MESSAGE PROCESSING
117 ;
118 ; THIS ROUTINE PROCESSES MESSAGES RECEIVED FROM THE DLC LEVEL OF THE
119 ; SYSTEM. A SINGLE CCB DESCRIBES ONLY A SINGLE MESSAGE.
120 ;
121 ; INPUTS:
122 ; R4 = ADDRESS OF CCB
123 ;
124 ; OUTPUTS:
125 ;
126 ;-
127
128 000000 RCVCMP:: ; REFERENCE LABEL
129 000000 RCVBLK:: ; TEMPORARY
130 000000 010405 MOV R4,R5 ; COPY CCB ADDRESS
131 000002 MAP C.BUF(R5) ; MAP TO MESSAGE BUFFER
132 000010 016504 000016 MOV C.BUF+2(R5),R4 ; POINTER TO START OF MESSAGE
133 000014 132714 000002 BITB #RH.HDR,(R4) ; IS THERE A ROUTE HEADER?
134 000020 001422 BEQ 20$ ; IF EQ, NO ROUTE HEADER
135 000022 132714 177661 BITB #^C<RH.HDR!RH.RFM!RH.PRI>,(R4) ; ANY RESERVED BITS SET ?
136 000026 001040 BNE 50$ ; IF NE, YES - INVALID HEADER
137 000030 132724 000100 BITB #RH.RFM,(R4)+ ; IS THIS AN ASCII FORMAT ROUTE HEADER ?
138 000034 001435 BEQ 50$ ; IF EQ, NO - TOSS THE MESSAGE
139
140 000036 010703 MOV PC,R3 ; SEARCH FOR DESTINATION ;LW0014
141 000040 CALL GTNOD ; NODE NAME ;LW0014
142 ;**-1
143 .IF NDF N$$ICF
144
145 000044 103431 BCS 50$ ; IF CS, NO NODE NAME MATCH - TOSS MESSAGE
146 000046 032713 040000 BIT #DF$LCL,(R3) ; OTHERWISE, CHECK IF LOCAL NODE IS DESTINATION
147 000052 001426 BEQ 50$ ; IF EQ, NO - TOSS THE MESSAGE
148
149 .IFTF
150
151 000054 010346 MOV R3,-(SP) ; SAVE POINTER TO DESTINATION NODE
152 000056 CALL GTNOD ; SEARCH FOR THE SOURCE NODE NAME
153 000062 012600 MOV (SP)+,R0 ; RECOVER POINTER TO DESTINATION NODE
154
155 .IFT
156
157 000064 000415 BR 40$ ; GO PROCESS THE MESSAGE ;AP0022
158 ;**-5
159 .IFF
160
161 10$: CMP R0,R3 ; ARE THE POINTERS THE SAME ? ;JS0001
162 BNE 15$ ; IF NE, NO. ;JS0001
163 BIT #DF$FRE,(R0) ; YES, NODE KNOWN? ;LW0014
164 BNE 15$ ; IF NE, YES. ;JS0001
165 CRASH ;**** SOURCE NOT KNOWN - DIE ****; ;LW0014
166 15$: BIT #DF$LCL,(R0) ; IS THE DESTINATION THE LOCAL NODE? ;JS0001
167 BNE 40$ ; IF NE, YES - START END NODE PROCESSING ;**-2
168 BR 30$ ; OTHERWISE, START INTERCEPT PROCESSING
169
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 4-1
RCVCMP - RECEIVED MESSAGE PROCESSING
170 20$: CALL BLDRTH ; BUILD A ROUTE HEADER IF ONE IS REQUIRED ;LW0012
171 BCC 30$ ; IF CC, ROUTE HEADER WAS BUILT ;LW0012
172 MOV R4,R2 ; SAVE THE POINTER TO MSGFLGS ;LW0012
173 CLR R3 ; INDICATE NO SOURCE NODE NAME SPECIFIED ;LW0003
174 MOVB (R4)+,R1 ; GET MESSAGE FLAGS AND CHECK FOR A CONTROL MESS;**-1
175 BMI 50$ ; IF MI, FIELD FORMAT ERROR - TOSS MESSAGE
176 BITB #MF.CTL,R1 ; IS THIS A CONTROL MSG?
177 BNE 35$ ; IF NE, YES - MUST BE FOR LOCAL NODE
178 CALL GETBIN ; GET DESTINATION LINK ADDRESS
179 MOV R2,R4 ; RECOVER MSG PTR TO MSGFLGS
180 MOV R1,R0 ; COPY DESTINATION LINK ADDRESS
181 CALL GETLNK ; GET THE LOGICAL LINK TABLE ADDRESS
182 BCS 35$ ; IF CS, NO LINK - START END NODE PROCESSING
183 BIT #LF.INT,(R0) ; IS THIS AN INTERRCEPT LINK ?
184 BEQ 35$ ; IF EQ, NO - DO END NODE PROCESSING
185
186 30$: CALL RINCPT ; PROCESS MSG FROM INTERCEPTED NODE
187 BCS 45$ ; TOSS MSG
188 ; OUTPUTS R1 AS DESTINATION LINE NUMBER
189 ; OUTPUTS R0 AS DESTINATION NODE INDEX
190 TST R5 ; HAS BUFFER BEEN PASSED OFF TO ACP?
191 BEQ 60$ ; YES..ACP WILL PROCESS CONTROL MESSAGE
192 CALL XINCPT ; PROCESS MESSAGE FROM NET
193 BCS 50$ ; TOSS MSG
194
195 .IF DF N$$CNC
196 MOV $NSDDB,R1 ; GET THE ADDRESS OF THE DATA DESCRIPTOR BLOCK
197 DECB N$POL(R1) ; ACCOUNT FOR ANOTHER BUFFER IN USE
198 .ENDC
199
200 BR 60$
201
202 35$: MOV R2,R4 ; INTERCEPT CONFIGURATION, NO ROUTE HEADER
203 TSTB C.LIN(R5) ; IF THIS IS FROM A LOCAL LINK ;AP0011
204 BNE 40$ ; THEN ;AP0011
205 MOV $NSDDB,R3 ; GET THE DESCRIPTOR ;AP0011
206 MOV N$PLD+2(R3),R3 ; OF LINE #0 ;AP0011
207 MOV P$NOD(R3),R3 ; TO GET THE LOCAL NODE DESCRIPTOR. ;AP0011
208 .IFT
209 000066 20$: ; END NODE CONFIGURATION, NO ROUTE HEADER
210 000066 005000 CLR R0 ; GET CHANNEL NUMBER WITHOUT SIGN EXTENTION
211 000070 156500 000006 BISB C.LIN(R5),R0 ; ...
212 000074 012701 000014 MOV #P$LEN,R1 ; SET LENGTH OF PHYSICAL LINK DATA BASE ENTRY
213
214 .IF DF R$$EIS
215 MUL R0,R1 ; COMPUTE OFFSET INTO DATA BASE
216 .IFF
217 000100 CALL $MUL ; COMPUTE OFFSET INTO DATA BASE
218 .ENDC
219
220 000104 016703 000000G MOV $NSDDB,R3 ; COMPUTE ADDRESS INTO DATA BASE
221 000110 066301 000030 ADD N$PLD+2(R3),R1 ; ...
222 000114 016103 000010 MOV P$NOD(R1),R3 ; GET POINTER TO ADJACENT NODE
223
224 .IFTF
225
226 000120 40$: CALL RCVMSG ; MESSAGE IS FOR ME..PROCESS
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 4-2
RCVCMP - RECEIVED MESSAGE PROCESSING
227 000124 005705 45$: TST R5 ; IS THERE A BUFFER TO RELEASE ?
228 000126 001402 BEQ 60$ ; IF EQ, NO - EXIT
229 000130 50$: CALL UNSPWN ; RELEASE THE BUFFER
230 000134 60$: RETURN ; EXIT TO THE SYSTEM
231
232 .ENDC
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 5
BLDRTH - BUILD A ROUTE HEADER TO A MESSAGE
234 .SBTTL BLDRTH - BUILD A ROUTE HEADER TO A MESSAGE
235 ;+ ;LW0012
236 ; **-BLDRTH-BUILD A ROUTE HEADER TO A MESSAGE ;LW0012
237 ; ;LW0012
238 ; THIS ROUTINE PREPROCESSES MESSAGES THAT ARE RECEIVED WITHOUT A ROUTE ;LW0012
239 ; HEADER. IF THE MESSAGE IS RECEIVED FROM THE 20XX SYSTEM, NO ACTION ;LW0012
240 ; IS TAKEN. OTHERWISE, IF THE MESSAGE (FROM THE OUTSIDE WORLD) IS A ;LW0012
241 ; CONTROL MESSAGE OTHER THAN A STARTUP CONTROL MESSAGE (NODE INIT OR VER- ;LW0012
242 ; IFICATION), A ROUTE HEADER IS BUILT. THE ROUTE HEADER CONTAINS THE NAME ;LW0012
243 ; OF THE 20XX SYSTEM AS THE DESTINATION AND THE NAME OF THE NODE ON THE WIRE ;LW0012
244 ; WHICH RECEIVED THE MESSAGE AS THE SOURCE. IN ORDER THAT THE ROUTE HEADER ;LW0012
245 ; NOT OVERWRITE A PREVIOUS BUFFER, THE MESSAGE IS MOVED 16 BYTES FURTHER INTO ;LW0012
246 ; THE BUFFER. ;LW0012
247 ; ;LW0012
248 ; INPUTS: ;LW0012
249 ; R4 = POINTER TO MSGFLGS ;LW0012
250 ; R5 = ADDRESS OF THE MESSAGE CCB ;LW0012
251 ; C.BUF+2 - POINTER TO THE START OF MESSAGE [MSGFLGS] ;LW0012
252 ; C.CNT - LENGTH OF THE MESSAGE (WITHOUT ROUTE HEADER) ;LW0012
253 ; ;LW0012
254 ; OUTPUTS: ;LW0012
255 ; C-BIT CLEAR ;LW0012
256 ; R0 = POINTER TO DESTINATION NODE NAME ;LW0012
257 ; R3 = POINTER TO SOURCE NODE NAME ;LW0012
258 ; R4 = POINTER TO MSGFLGS ;LW0012
259 ; R5 = ADDRESS OF MESSAGE CCB ;LW0012
260 ; C.BUF+2 - POINTER TO START OF MESSAGE [RTFLGS] ;LW0012
261 ; C.CNT - LENGTH OF MESSAGE (INCLUDING ROUTE HEADER) ;LW0012
262 ; ;LW0012
263 ; C-BIT SET ;LW0012
264 ; NO ROUTE HEADER BUILT ;LW0012
265 ; ;LW0012
266 ; REGISTERS MODIFIED: ;LW0012
267 ; R0,R1,R2,R3 ;LW0012
268 ; ;LW0012
269 ;- ;LW0012
270 ;LW0012
271 .IF DF N$$ICF ;LW0012
272 BLDRTH: ;LW0012
273 CMPB #1,C.LIN(R5) ; WAS MESSAGE RECEIVED FROM 20XX? ;LW0012
274 BHIS 20$ ; IF SO OR LOCAL LINK THEN RTHDR NOT REQUIRED ;AP0013
275 BITB #MF.CTL,(R4) ; IS THIS A CONTROL MESSAGE? ;LW0012
276 BEQ 20$ ; NOPE - RTHDR NOT REQUIRED ;LW0012
277 CMPB #MF.CTL!MC.ST,(R4) ; IS THIS A STARTUP CONTROL MESSAGE? ;LW0012
278 BEQ 20$ ; YEP - RTHDR NOT REQUIRED ;LW0012
279 ;LW0012
280 MOV C.CNT(R5),R3 ; GET LENGTH OF MESSAGE ;LW0012
281 ADD R3,R4 ; POINT TO EOM+1 ;LW0012
282 MOV R4,R2 ; COPY POINTER ;LW0012
283 ADD #16.,R4 ; POINT TO NEW ADDRESS OF EOM+1 ;LW0012
284 10$: MOVB -(R2),-(R4) ; SLIDE ENTIRE MESSAGE... ;LW0012
285 SOB R3,10$ ; ...UP THE BUFFER ;LW0012
286 MOV R4,C.BUF+2(R5) ; STORE POINTER TO NEW START OF MESSAGE ;LW0012
287 SAVRG <R4> ;LW0012
288 CLR R0 ; GET CHANNEL ;LW0012
289 BISB C.LIN(R5),R0 ; ...NUMBER ;LW0012
290 MOV #P$LEN,R1 ; GET LENGTH OF PLD ENTRY ;LW0012
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 5-1
BLDRTH - BUILD A ROUTE HEADER TO A MESSAGE
291 CALL $MUL ; COMPUTE OFFSET OF SOURCE PLD ;LW0012
292 MOV $NSDDB,R3 ; GET ADDRESS OF DDB ;LW0012
293 MOV N$PLD+2(R3),R3 ; ADDRESS PLD TABLE ;LW0012
294 ADD R3,R1 ; ADDRESS SOURCE PLD ENTRY ;LW0012
295 MOV P$NOD(R1),R2 ; GET POINTER TO SOURCE NODE NAME ;LW0012
296 MOV P$LEN+P$NOD(R3),R3 ; GET POINTER TO DESTINATION NODE (20XX) ;LW0012
297 SAVRG <R2,R3> ; SAVE NODE NAME POINTERS ;LW0012
298 CLR R0 ; INDICATE NO LLT ;LW0012
299 CALL RTHDR ; BUILD THE ROUTE HEADER ;LW0012
300 RESRG <R0> ; RECOVER POINTER TO DESTINATION NODE ;LW0012
301 RESRG <R3> ; RECOVER POINTER TO SOURCE NODE ;LW0012
302 RESRG <R4> ; RECOVER POINTER TO MSGFLGS ;LW0012
303 TST (PC)+ ; INDICATE ROUTE HEADER BUILT (SKIP NEXT) ;LW0012
304 20$: SEC ; INDICATE NO ROUTE HEADER ;LW0012
305 RETURN ;LW0012
306 .ENDC ;LW0012
307 ;LW0012
308 ;LW0012
309
310
311 ;
312 ; COMMON SYSTEM CRASH ENTRY
313 ;
314 000136 CRASH:: CRASH ;
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 6
RENABL
316 .SBTTL RENABL
317
318 ;++
319 ;RENABL
320
321 ;INPUTS:
322 ; R3 = SUBFUNCTION CODE
323 ; R4=CCB ADDR ;AP0005
324 ;OUTPUTS: ;**-1
325 ; R5=CCB ADDR ;AP0005
326
327 ; THIS ROUTINE PROCESSES A CCB WITH C.FNC=FC.RCE. IT THEN
328 ;DISPATCHES TO THE APPROPRIATE ROUTINE.
329
330 ;--
331 .IF DF N$$SYS
332
333 000140 RENABL:: ;AP0005
334 000140 010405 MOV R4,R5 ; COPY CCB ADDRESS ;AP0005
335 000142 CALLR @RENTBL(R3) ; DISPATCH ;**-1
336
337 000146 000000G RENTBL: .WORD USRRCV ; NT$RTN=0
338 000150 000000G .WORD QNSPA ; NT$ACC=2
339 000152 000000G .WORD QNSPA ; NT$REJ=4
340 000154 000136' .WORD CRASH ; RESERVED FOR SINGLE MESSAGE
341 000156 000000G .WORD USRRCI ; NT$RTI=10
342
343 .ENDC
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 7
XENABL
345 .SBTTL XENABL
346 ;++
347 ;XENABL
348
349 ;INPUTS:
350 ; R3 = SUBFUNCTION CODE
351 ; R4=CCB ADDR ;AP0005
352 ;OUTPUTS: ;AP0005
353 ; R5=CCB ADDR ;AP0005
354 ;**-2
355 ; THIS ROUTINE PROCESSES A CCB WITH FC.XME SET. IT THEN
356 ;DISPATCHES TO THE APPROPRIATE ROUTINE.
357 ;--
358 .IF DF N$$SYS
359
360 000160 XENABL:: ;AP0005
361 000160 010405 MOV R4,R5 ; COPY CCB ADDRESS ;AP0005
362 000162 CALLR @XENTBL(R3) ; DISPATCH ;**-1
363
364 000166 000000G XENTBL: .WORD QNSPA ; NT$CON=0 CONNECT INITIATE
365 000170 000000G .WORD USRDAT ; NT$DAT=2 DATA MESSAGE
366 000172 000000G .WORD USRINT ; NT$INT=4 INTERRUPT MESSAGE
367 000174 000136' .WORD CRASH ; RESERVED FOR SINGLE MESSAGE
368 000176 000000G .WORD QNSPA ; NT$DIS=10 DISCONNECT
369 000200 000000G .WORD SYSMOD ; NT$MOD=12 MOD FLOW CONTROL ;AP0006
370 000202 000000G .WORD USRQRY ; NT$QRY=14 QUERY ;**-1
371 000204 000000G .WORD USRXON ; NT$XON=16 RELEASE BACKPRESSURE
372 000206 000000G .WORD USRXOF ; NT$XOF=20 BACKPRESSURE
373 000210 000000G .WORD QNSPA ; NT$ABO=22 ABORT
374
375 .ENDC
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 8
XMCMP
377 .SBTTL XMCMP
378 ;+
379 ; **-XMCMP-TRANSMIT COMPLETE
380 ;
381 ; THIS ROUTINE IS ENTERED WHEN A A CCB WITH A TRANSMIT COMPLETE
382 ; FUNCTION CODE IS DEQUEUED FOR THIS PROCESS.
383 ;
384 ; INPUTS:
385 ;
386 ; R3 = SUBFUNCTION CODE FROM CCB
387 ; R4 = ADDRESS OF CCB
388 ;
389 ; OUTPUTS TO PROCESSING ROUTINES:
390 ;
391 ; R0 = ADDRESS OF LOGICAL LINK TABLE OR ZERO
392 ; R5 = ADDRESS OF CCB
393 ;
394 ;-
395 .ENABL LSB
396
397 000212 010405 XMCMP:: MOV R4,R5 ; COPY CCB ADDRESS
398 000214 016500 000004 MOV C.NSP(R5),R0 ; LLT ADDR/0
399 000220 CALLR @XMCTBL(R3) ; DISPATCH
400
401
402 000224 XMCACC: CALL FRBDAT ; DECREMENT THE TRANSMIT COUNT AND RELEASE THE BUFFER
403 000230 122710 000002 CMPB #ST$CC,(R0) ; HAVE WE CONFIRMED THE CONNECTION ?
404 000234 001071 BNE 40$ ; IF NE, NO - JUST IGNORE THE MESSAGE
405
406 .IF DF N$$LV2
407 BR 20$
408 .IFF
409 000236 CALL ENTDAT ; LINK WILL BE READY TO XMIT/RECV DATA
410 000242 000466 BR 40$ ;
411 .ENDC
412
413 000244 105360 000005 XMCDAT: DECB L.TIPD(R0) ; REDUCE DATA TRANSMITS IN PROGRESS
414
415 .IF DF N$$SYS&N$$USR
416 000250 105760 000041 TSTB L.PDV(R0) ; SYSTEM OR USER INTERFACE? ;AP0005
417 000254 001006 BNE 2$ ; SYSTEM ;**-1
418 .ENDC
419
420 .IF DF N$$USR
421 000256 016065 000040 000006 MOV L.ULA(R0),C.LIN(R5) ; GET ULA
422 000264 CALL $QXCP ; CALL QIO INTERFACE ROUTINE FOR XMIT COMPLETE
423 000270 000453 BR 40$ ; GO TO COMMON CODE
424 .ENDC
425
426 .IF DF N$$SYS
427 000272 2$: ;AP0010
428 000272 010003 MOV R0,R3 ; PUT CCB ON WAIT TO BE ACKD QUE ;**-4
429 000274 062703 000050 ADD #L.XQ2,R3
430 000300 CALL ADDQUE ; ADD CCB TO QUE
431 000304 CALL ACKDAT ; POST COMPLETION IF ALREADY ACK'D
432 000310 000443 BR 40$ ;
433 .ENDC
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 8-1
XMCMP
434
435 000312 XMCLS:
436 000312 XMCINT:
437 000312 105360 000004 DECB L.TIPI(R0) ; REDUCE I/LS TRANSMITS IN PROGRESS
438 000316 010003 MOV R0,R3 ; POINT TO WAIT TO BE ACKD QUE FOR INT/LS MESSAGES
439 000320 062703 000052 ADD #L.XQ3,R3
440 000324 CALL ADDQUE ; PUT INT/LS SEGMENT ONTO QUE
441 000330 CALL ACKILS ; POST COMPLETION IF ALREADY ACK'D
442 000334 000446 BR 50$ ;
443
444 000336 XMCCON: CALL FRBDAT ; DECREMENT TRANSMIT COUNT AND RELEASE THE DATA BUFFER
445 000342 000426 BR 40$ ; ...CONTINUE
446
447 .IF DF N$$LV2
448 20$: MOV R5,L.XQ2(R0) ; WAIT FOR ACK OF CI MESSAGE?
449 CALL STRTMD ; START TIMER FOR CONNECT MESSAGE
450 BR 30$
451 .ENDC
452
453 .IF DF N$$ICF
454
455 XMCIND: DECB I.TIPD(R0) ; REDUCE DATA TRANSMITS IN PROGRESS
456 BR 25$
457
458 XMCINL: DECB I.TIPI(R0) ; REDUCE I/LS TRANSMITS IN PROGRESS
459 25$: CMPB #ST$DIP,I.STA(R0) ; IF THE LINK IS ;LW0018
460 BNE XMCIDC ; DISCONNECTING, ;LW0018
461 CMP #ST$DID*400!ST$UDI,I.USTA(R0) ; AND IT IS ABOUT TO DIE, ;LW0016
462 BNE XMCIDC ; AND THERE ARE NO ;LW0016
463 TST I.TIPI(R0) ; MORE TRANSMITS ;LW0016
464 BNE XMCIDC ; OUTSTANDING, ;LW0016
465 CALL REMLNK ; TAKE OUT THE ILT ;LW0016
466 XMCIDC: CMPB #CB.RDB,C.BID(R5) ; IS THIS A RECEIVE DATA BUFFER? ;LW0016
467 BEQ 24$ ; IF EQ, YES - UNSPAWN IT & CHECK POOL USE ;**-1
468 CALL RLSSMS ; ELSE IT'S A SMALL DATA BUFFER, SO RELEASE IT
469 BR 26$ ; ...AND TRY TO RESUME DATA TRANSMISSION
470
471 24$: CALL UNSPWN ; RETURN LARGE DATA BUFFER
472
473 .IF DF N$$CNC
474 MOV $NSDDB,R1 ; GET THE ADDRESS OF THE DATA DESCRIPTOR BLOCK
475 DECB N$POL(R1) ; REDUCE THE NUMBER OF BUFFERS IN USE
476 CMPB N$POL(R1),N$UBN(R1) ; ARE THERE ENOUGH BUFFERS TO RESUME DATA ?
477 BLT 27$ ; NOT YET
478 .IFTF
479 26$: ;
480 .IFT
481 CALL RELIEF ; RESTART DATA FLOW ON LINKS WERE MSG'S WERE TOSSED
482 BCS 80$ ; RESOURCE ERROR
483 .ENDC
484 27$: BR 80$ ;
485 .ENDC
486
487
488 000344 XMCAKD: ; REFERENCE LABEL ;AP0008
489 ;AP0008
490 .IF DF N$$SYS ;AP0008
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 8-2
XMCMP
491 000344 MAP C.BUF(R5) ; MAP TO THE MESSAGE ;AP0008
492 000352 016504 000016 MOV C.BUF+2(R5),R4 ; AND GET ITS ADDRESS. ;AP0008
493 000356 112403 MOVB (R4)+,R3 ; GET MSGFLAGS ;AP0008
494 000360 142703 177767 BICB #^C10,R3 ; AND IF DATA OR ACK MESSAGE ;AP0008
495 000364 001013 BNE XMCDIS ; THEN ;AP0008
496 000366 116403 000005 MOVB 5(R4),R3 ; CHECK IF ACKNUM PRESENT. ;AP0008
497 000372 100010 BPL XMCDIS ; IF SO, ;AP0008
498 000374 042703 177617 BIC #^C160,R3 ; AND IT A NAK ;AP0008
499 000400 001405 BEQ XMCDIS ; THEN ;AP0008
500 .IF DF,N$$ICF ;LW0009
501 BIT #LF.INT,(R0) ; IF THIS IS A ;LW0009
502 BNE XMCDIS ; LOCAL LINK, THEN ;LW0009
503 .ENDC ;LW0009
504 000402 105760 000041 TSTB L.PDV(R0) ; CHECK IF SYSTEM OR USER. ;AP0008
505 000406 001402 BEQ XMCDIS ; IF SYSTEM USER ;AP0008
506 000410 CALL NAKUSR ; THEN SEND NAK COMPLETE. ;AP0008
507 .ENDC ;AP0008
508 ;AP0008
509 000414 XMCDIS: CALL FRBDAT ; DECREMENT DATA COUNT AND RELEASE BUFFER ;AP0008
510 000420 105760 000005 40$: TSTB L.TIPD(R0) ; ALL DATA TRANSMITS COMPLETED ? ;**-2
511 000424 001025 BNE 80$ ; IF NE, YES - JUST EXIT
512 000426 CALL SNDAKD ; CHECK AND SEND AN ACK IF NECESSARY
513 000432 032760 000200 000012 BIT #LF.NKR,L.FLG(R0) ; WAS RETRANSMISSION DELAYED ?
514 000440 001417 BEQ 80$ ; IF EQ, NO - JUST EXIT
515 000442 CALLR NAKNSP ; OTHERWISE INITIATE RETRANSMISSION
516
517 000446 XMCAKI: CALL FRBILS ; DECREMENT I/LS COUNT AND RELEASE BUFFER
518 000452 105760 000004 50$: TSTB L.TIPI(R0) ; HAVE ALL I/LS TRANSMITS COMPLETED ?
519 000456 001010 BNE 80$ ; IF NE, NO - JUST EXIT
520 000460 CALL SNDAKI ; CHECK AND SEND AN I/LS ACK IF NECESSARY
521 000464 032760 000100 000012 BIT #LF.INR,L.FLG(R0) ; WAS RETRANSMISSION DELAYED ?
522 000472 001402 BEQ 80$ ; IF EQ, NO - JUST EXIT
523 000474 CALLR RETLS ; OTHERWISE INITIATE RETRANSMISSION
524
525 000500 80$: RETURN ; RETURN TO CALLER
526
527 000502 000336' XMCTBL: .WORD XMCCON ; NT$CON=0 CONNECT INITIATE
528 000504 000244' .WORD XMCDAT ; NT$DAT=2 DATA MESSAGE
529 000506 000312' .WORD XMCINT ; NT$INT=4 INTERRUPT MESSAGE
530 000510 000136' .WORD CRASH ; RESERVED FOR SINGLE MESSAGE
531 000512 000414' .WORD XMCDIS ; NT$DIS=10 DISCONNECT
532 000514 000224' .WORD XMCACC ; NT$CC =12 CONNECT ACCEPT
533 000516 000312' .WORD XMCLS ; NT$LS =14 LINK STATUS
534 000520 000344' .WORD XMCAKD ; NT$AKD=16 DATA ACK/NAK MESSAGE
535 000522 000446' .WORD XMCAKI ; NT$AKI=20 I/LS ACK/NAK MESSAGE
536 000524 000000G .WORD UNSPWN ; NT$ROU=22 ROUTED MESSAGE
537
538 .IF DF N$$ICF
539
540 .WORD XMCIND ; NT$IND=24 DATA MESSAGE FORWARDED BY INTERCEPT NOD
541 ; ... ALSO CI,CC,DI,DC
542 .WORD XMCINL ; NT$INL=26 I/LS MESSAGE FORWARDED BY INTERCEPT NODE
543 .WORD FRBDAT ; NT$IDN=30 NAK SENT BY INT'CEPT NODE (DATA) ;AP0017
544 .WORD FRBILS ; NT$ILN=32 NAK SENT BY INT'CEPT NODE (I/LS) ;AP0017
545 .WORD XMCIDC ; NT$IDC=34 DC MESSAGE FORWARDED BY I'CPT ;LW0002
546 ;**-2
547 .ENDC
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 8-3
XMCMP
548
549 .DSABL LSB
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 9
RELIEF
551 .SBTTL RELIEF
552
553 ;++
554 ;RELIEF
555
556 ;INPUTS:
557 ; NONE
558 ;OUTPUTS:
559 ; C BIT SET IF RESOURCE ERROR
560
561 ; THIS ROUTINE WILL SEARCH ALL LINKS TO SEE IF A DATA OF I/LS
562 ;MESSAGE WAS TOSSED. IF SO THEN A NAK WILL BE SENT TO THAT LINK TO
563 ;RESUME DATA FLOW. IF A RESOURCE ERROR OCCURS THEN THE SEARCH WILL BE
564 ;STOPPED AND RESUMED AT THE NEXT ENTRY TO XCMPLT.
565
566 ;--
567
568
569 .IF DF N$$ICF
570 .IF DF N$$CNC
571
572 RELIEF:
573 SAVRG <R0,R1,R2>
574 MOV #N$$LNK,R1 ;MAX # OF LINKS
575 10$: MOV R1,R0
576 ASL R0 ;WORD INDEX
577 MOV $NTLVC(R0),R0 ;GET ILT
578 BEQ 30$ ;TRY NEXT ENTRY
579 BIT #IF.INT,I.FLG(R0) ;INTERCEPT LINK
580 BEQ 30$ ;NO..TRY NEXT ENTRY
581 CMPB #ST$DIP,I.STA(R0) ;ARE WE IN PROCESS OF DISCONNTECING LINK?
582 BEQ 30$ ;YES..NO SENNSE SENDING NAK
583 BIT #IF.SND,I.FLG(R0) ;WAS A DATA SEG TOSSED?
584 BEQ 20$ ;NO
585 MOV #100003,R2 ;NAK FOR DATA
586 CALL SNDAK1 ;SEND NAK
587 BCS 40$ ;RESOURCE ERROR
588 ; TEMPORARY DEBUG AID
589 INC L.XQ1(R0) ;KEEP TRACK OF NAKS SENT
590 ;
591 CALL NAKINT ;SEND NAK ON ITS WAY
592 BIC #IF.SND,I.FLG(R0) ;NAK HAS BEEN SENT
593 20$: BIT #IF.SNL,I.FLG(R0) ;WAS A I/LS SEG TOSSED?
594 BEQ 30$ ;NO
595 MOV #100004,R2 ;NAK I/LS
596 CALL SNDAKL ;SEND NAK
597 BCS 40$ ;RESOURCE ERROR
598 ; TEMPORARY DEBUG AID
599 INC L.XQ2(R0) ;KEEP TRACK OF NAKS SENT
600 ;
601 CALL NAKINT ;SEND NAK ON ITS WAY
602 BIC #IF.SNL,I.FLG(R0) ;NAK HAS BEEN SENT
603
604 30$: SOB R1,10$ ;LOOP
605 CLC
606 40$: RESRG <R2,R1,R0>
607 RETURN
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 9-1
RELIEF
608
609 .ENDC
610 .ENDC
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 10
NAKINT
612 .SBTTL NAKINT
613
614 ;++
615 ;NAKINT
616
617 ;INPUTS:
618 ; R5=CCB ADDRESS
619 ; R0=ILT ADDRESS
620 ;OUTPUTS:
621 ; NONE
622
623 ; THIS ROUTINE WILL FORWARD A NAK FOR A DATA OR I/LS MSG
624 ;THRU THE INTERCEPT CODE. THIS WILL ENABLE THE NAK TO GET TO THE PROPER
625 ;NODE AND PROPER LINK IN THE NODE.
626
627 ;--
628 .IF DF N$$ICF&N$$CNC
629
630 NAKINT:
631 SAVRG <R0,R1,R3,R4>
632 MAP C.BUF(R5) ;MAP TO MESSAGE JUST BUILT
633 MOV C.BUF+2(R5),R4 ;SET UP MSG PTR TO MSGFLGS
634 MOV I.IREM(R0),R3 ;SOURCE NODE INDEX
635 MOV I.REM(R0),R0 ;DESTINATION NODE INDEX
636 CALL XINCPT ;FORWARD NAK TO INTERCEPTED NODE
637 BCS 10$ ;TOSS MSG
638 RESRG <R4,R3,R1,R0>
639 RETURN
640
641 10$: CRASH
642
643 .ENDC
644
645 000001 .END
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 10-1
SYMBOL TABLE
ACKDAT= ****** GX C.BID 000003 ER$TCN= 000040 KDSAR0= 172360 L.LSA 000032
ACKILS= ****** GX C.BUF 000014 ER$TCO= 000041 KDSDR0= 172320 L.LSF 000044
ACKMAS= 170000 C.BUF1 000014 ER$TPA= 000010 KISAR0= 172340 L.LVL 000001
ACKPRE= 100000 C.BUF2 000024 ER$UOB= 000004 KISAR5= 172352 L.NDA 000034
ACKRES= 060000 C.CNT 000020 E$$XPR= 000000 KISAR6= 172354 L.NIN 000016
ACKWRA= 010000 C.CNT1 000020 FC.CCP= 000020 KISAR7= 172356 L.NLA 000036
ADDQUE= ****** GX C.CNT2 000030 FC.CTL= 000006 KISDR0= 172300 L.NSTA 000025
A$$CHK= 000000 C.FLG 000022 FC.KCP= 000016 KISDR6= 172314 L.NXN 000014
A$$CPS= 000000 C.FLG1 000022 FC.KIL= 000004 KISDR7= 172316 L.PDV 000041
A$$PRI= 000000 C.FLG2 000032 FC.RCE= 000002 K$$CNT= 177546 L.REM 000006
A$$TRP= 000000 C.FNC 000010 FC.RCP= 000014 K$$CSR= 177546 L.RLA 000010
A.NAK = 010000 C.LIN 000006 FC.TIM= 000010 K$$LDC= 000000 L.RNO 000020
CB.CCB= 000002 C.LNK 000000 FC.XCP= 000012 K$$TPS= 000074 L.STA 000000
CB.RDB= 000004 C.MOD 000011 FC.XME= 000000 LA.ACK= 100000 L.TC 000042
CE.ABO= 100362 C.NSP 000004 FE.CAL= 000040 LA.MSK= 170000 L.TIC 000043
CE.DIS= 100366 C.RSV 000002 FE.DRV= 000010 LA.NAK= 110000 L.TIPD 000005
CE.ERR= 100370 C.STA 000007 FE.EXP= 000200 LA.NMS= 010000 L.TIPI 000004
CE.MOP= 100372 C.STS 000012 FE.EXT= 000001 LA.RES= 060000 L.UDQ 000034
CE.NTE= 100361 DF$ADJ= 020000 FE.EXV= 000004 LD$LP = 000000 L.ULA 000040
CE.RTE= 100376 DF$DWN= 001000 FE.LSI= 000400 LF.DFL= 000060 L.USA 000030
CE.SRC= 100364 DF$FRE= 070000 FE.MUP= 000002 LF.DSP= 000040 L.USTA 000024
CE.TMO= 100374 DF$LCL= 040000 FE.MXT= 040000 LF.DST= 000020 L.XQ1 000046
CF.EOM= 000004 DF$LNK= 004000 FE.NLG= 100000 LF.FPN= 000010 L.XQ2 000050
CF.HDR= 000020 DF$REM= 010000 FE.PKT= 000100 LF.HF0= 001000 L.XQ3 000052
CF.LB = 100000 DF$RES= 002000 FE.PLA= 000020 LF.HMF= 020000 MA.DA = 000000
CF.SOM= 000010 DF$TMP= 100000 FRBDAT= ****** GX LF.HSF= 010000 MA.IL = 000020
CF.SYN= 000040 D$CHN 000002 FRBILS= ****** GX LF.INR= 000100 MC.CC = 000040
CF.TRN= 000100 D$FLG 000000 FS.AST= 000000 LF.INT= 000400 MC.CI = 000020
CL$ACK= 000040 D$LEN 000014 FS.CIB= 002000 LF.LCL= 040000 MC.DC = 000100
CL$MFL= 000010 D$LNG 000005 FS.CRA= 001000 LF.MMF= 100000 MC.DI = 000060
CL$NRM= 000020 D$NAM 000006 FS.DIS= 013000 LF.MSF= 040000 MC.NO = 000000
CL$SFL= 000004 D$USE 000004 FS.DVC= 001000 LF.NKR= 000200 MC.ST = 000120
CL$TYP= 000001 D$$BUG= 177514 FS.ENB= 012000 LF.NKS= 000400 MD.BM = 000040
CL.MU1= 000001 D$$ISK= 000000 FS.GET= 006000 LF.NPN= 000001 MD.EM = 000100
CL.MU2= 000002 D$$L11= 000001 FS.INI= 000000 LF.NTS= 002000 MD.ILS= 000040
CL.RES= 177774 D$$YNC= 000000 FS.KIL= 000000 LF.RSU= 100000 MD.IM = 000020
CMODE = 140000 D$$YNM= 000000 FS.LTM= 001000 LS.DLS= 000200 MF.ACK= 000004
CRASH 000136RG 002 ENTDAT= ****** GX FS.MNT= 004000 LS.FCC= 000004 MF.CTL= 000010
CS.ABO= 000100 ER$ABO= 000046 FS.MSN= 014000 LS.FC0= 000001 MF.DAT= 000000
CS.BUF= 000200 ER$ABT= 000011 FS.RNG= 011000 LS.FC1= 000002 MPAR = 172100
CS.DCR= 000400 ER$ACC= 000042 FS.RTN= 001000 LS.ILS= 000200 MPCSR = 177746
CS.DEV= 000002 ER$ACT= 000044 FS.SET= 005000 LS.MAK= 000020 MSGHDR= 000007
CS.DIS= 000040 ER$CDI= 000052 FS.STM= 000000 LS.MNK= 000040 M$$CRB= 000124
CS.ENB= 000020 ER$COM= 000047 FS.STP= 002000 LS.RES= 000360 M$$CRX= 000000
CS.EOF= 000001 ER$FCF= 000050 FS.STR= 001000 LS.RSV= 000300 M$$FCS= 000000
CS.ERR= 100000 ER$FMT= 000005 FS.TRM= 003000 L$$ASG= 000000 M$$MGE= 000000
CS.HFE= 002000 ER$GEN= 000007 FS.XKL= 002000 L$$DRV= 000000 M$$OVR= 000000
CS.LST= 040000 ER$IFC= 000030 FS.XOF= 010000 L$$P11= 000001 NAKNSP= ****** GX
CS.MTL= 004000 ER$ILS= 000043 FS.XON= 007000 L$$11R= 000000 NAKUSR= ****** GX
CS.RNG= 000010 ER$IMG= 000053 F$$LVL= 000001 L.CIQ 000026 NC.FM0= 000000
CS.ROV= 000004 ER$MLB= 000006 GTNOD = ****** GX L.DCR 000036 NC.FM1= 000001
CS.RSN= 010000 ER$NOD= 000002 G$$TPP= 000000 L.FLG 000012 NC.FM2= 000002
CS.SUC= 000001 ER$NSD= 000003 G$$TSS= 000000 L.LDA 000024 NETTIM= 000005
CS.TMO= 020000 ER$RES= 000001 G$$TTK= 000000 L.LIA 000026 NE.ABO= 177776
C$$CKP= 000000 ER$SSR= 000000 G$$WRD= 000000 L.LLA 000002 NE.ACT= 177771
C$$ORE= 000400 ER$SSS= 000045 I$$RAR= 000000 L.LNG1 000054 NE.CLS= 177767
C$$RSH= 177564 ER$STA= 000051 I$$RDN= 000000 L.LNO 000022 NE.DIS= 177777
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 10-2
SYMBOL TABLE
NE.FMT= 177770 NT$XOF= 000020 N.RQID 000062 Q$$OPT= 000010 S$UNI 000020
NE.NDT= 177766 NT$XON= 000016 N.RSRV= 000030 RCVBLK 000000RG 002 S$$WRG= 000000
NE.NOD= 177774 NT.ACK= 000001 N.SDL1 000036 RCVCMP 000000RG 002 S$$YSZ= 007600
NE.REJ= 177775 NT.BOM= 000040 N.SDL2 000042 RCVMSG= ****** GX TPS = 177564
NE.RES= 177773 NT.EOM= 000100 N.SDS1 000040 RENABL 000140RG 002 T$$KMG= 000000
NE.TIM= 177772 NT.FCN= 037400 N.SDS2 000056 RENTBL 000146R 002 T$$MIN= 000000
NI.FLI= 000002 NT.MD1= 000420 N.SEG 000006 RETLS = ****** GX UBMPR = 170200
NI.FRI= 000004 NT.MFL= 000002 N.SFMT 000034 RF.CLN= 000000 UDSAR0= 177660
NI.FRT= 000001 NT.MOD= 000020 N.SGRP 000036 RF.CTL= 000003 UDSDR0= 177620
NI.FUB= 000010 NT.MOM= 000000 N.SOBJ 000035 RF.TIM= 177400 UISAR0= 177640
NI.INI= 000001 NT.NAK= 000002 N.SUSR 000040 RF.TM0= 000400 UISAR4= 177650
NI.RLI= 000002 NT.NFL= 000000 PF$EIP= 000100 RF.WTD= 000020 UISAR5= 177652
NI.RRI= 000004 NT.SFL= 000001 PF$ENB= 000200 RF.WTM= 000030 UISAR6= 177654
NI.RVE= 000001 NT.SOL= 000140 PF$OFF= 000000 RF.WTS= 000010 UISAR7= 177656
NI.VER= 000002 NT.XOF= 000004 PF$RLI= 000002 RH.CNT= 000001 UISDR0= 177600
NP$RTR= 000003 NT.XON= 000010 PF$RRI= 000004 RH.EFM= 000020 UISDR4= 177610
NS.BOM= 000040 N$ACQ 000000 PF$RVE= 000001 RH.HDR= 000002 UISDR5= 177612
NS.EOM= 000100 N$ICF 000006 PF$RVR= 000040 RH.PRI= 000014 UISDR6= 177614
NS.MFL= 000003 N$LNI 000010 PF$SLI= 000002 RH.PR1= 000004 UISDR7= 177616
NS.MOM= 000000 N$LVC 000022 PF$SRI= 000004 RH.RFM= 000100 UNSPWN= ****** GX
NS.NFL= 000001 N$NOD 000032 PF$SRT= 000001 R$$DER= 000000 USRDAT= ****** GX
NS.SET= 000002 N$PLD 000026 PF$STA= 000003 R$$K11= 000001 USRINT= ****** GX
NS.SFL= 000002 N$STS 000042 PF$SUB= 000010 R$$SND= 000000 USRQRY= ****** GX
NS.SOL= 000140 N$TCB 000004 PF$UP = 000001 R$$11M= 000000 USRRCI= ****** GX
NS.SUC= 000001 N$TMP 000012 PIRQ = 177772 SISDR0= 172200 USRRCV= ****** GX
NT$ABO= 000022 N$VER 000036 PMODE = 030000 SNDAKD= ****** GX USRXOF= ****** GX
NT$ACC= 000002 N$$DAT= 000030 PR0 = 000000 SNDAKI= ****** GX USRXON= ****** GX
NT$ADS= 000000 N$$DIS= 000020 PR1 = 000040 SR0 = 177572 VF$RCV= 100000
NT$AKD= 000016 N$$INT= 000020 PR4 = 000200 SR3 = 172516 VF$XMT= 040000
NT$AKI= 000020 N$$LDV= 000001 PR5 = 000240 ST$CC = 000002 V$FLG 000000
NT$CC = 000012 N$$MOV= 000010 PR6 = 000300 ST$CIR= 000003 V$LEN 000022
NT$CON= 000000 N$$OPT= 000020 PR7 = 000340 ST$CIS= 000001 V$RCV 000002
NT$DAT= 000002 N$$OVR= 000042 PS = 177776 ST$DAT= 000005 V$XMT 000012
NT$DIS= 000010 N$$SYS= 000001 PS$NTI= 000003 ST$DID= 000015 V$$CTR= 001000
NT$IDC= 000034 N$$USR= 000001 PS$OFF= 000000 ST$DIP= 000006 WINDOW= 004000
NT$IDN= 000030 N.ACNT 000116 PS$STR= 000001 ST$DIR= 000012 XENABL 000160RG 002
NT$ILN= 000032 N.ACTL 000114 PS$UP = 000005 ST$DIS= 000014 XENTBL 000166R 002
NT$IND= 000024 N.DDL1 000012 PS$VER= 000004 ST$UDI= 000013 XMCACC 000224R 002
NT$INL= 000026 N.DDL2 000016 PS$WT = 000002 ST$UNR= 000011 XMCAKD 000344R 002
NT$INT= 000004 N.DDS1 000014 P$CHN 000004 SWR = 177570 XMCAKI 000446R 002
NT$LS = 000014 N.DDS2 000020 P$CNT 000005 SYSMOD= ****** GX XMCCON 000336R 002
NT$MOD= 000012 N.DFMT 000010 P$FRQ 000012 S$EMR 000006 XMCDAT 000244R 002
NT$NAK= 000022 N.DGRP 000012 P$FSP 000013 S$FMT 000012 XMCDIS 000414R 002
NT$OFF= 000026 N.DOBJ 000011 P$LCD 000002 S$LEN 000040 XMCINT 000312R 002
NT$ON = 000002 N.DUSR 000014 P$LEN 000014 S$LNK 000022 XMCLS 000312R 002
NT$QRY= 000014 N.LGTH= 000160 P$LST 000000 S$MLK 000024 XMCMP 000212RG 002
NT$REJ= 000004 N.NODE 000000 P$NOD 000010 S$NKS 000010 XMCTBL 000502R 002
NT$ROU= 000022 N.OPDL 000136 P$PFQ 000006 S$RES 000014 X$$DBT= 000000
NT$RTI= 000010 N.OPTD 000140 P$TIM 000003 S$SEC 000000 $MUL = ****** GX
NT$RTN= 000000 N.PASL 000102 P$$P45= 000000 S$SNI 000016 $NSDDB= ****** GX
NT$SNG= 000006 N.PASS 000104 P$$WRD= 000000 S$UMR 000004 $QXCP = ****** GX
NT$STP= 000004 N.RQDL 000060 QNSPA = ****** GX S$UMS 000002
. ABS. 000160 000
000000 001
NSPCP 000526 002
ERRORS DETECTED: 0
NSPCP MACRO M1110 13-OCT-79 10:02 PAGE 10-3
SYMBOL TABLE
VIRTUAL MEMORY USED: 18437 WORDS ( 73 PAGES)
DYNAMIC MEMORY: 19564 WORDS ( 75 PAGES)
ELAPSED TIME: 00:00:46
NSPCP,[131,34]NSPCP/CR/-SP=[130,10]NETLIB/ML,RSXMC4/PA:1,[131,10]NSPCP
NSPCP CREATED BY MACRO ON 13-OCT-79 AT 10:03 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ACKDAT = ****** GX 8-431
ACKILS = ****** GX 8-441
ADDQUE = ****** GX 8-430 8-440
CRASH 000136 RG #5-314 6-340 7-367 8-530
C.BUF 000014 4-131 4-132 8-491 8-492
C.LIN 000006 4-211 *8-421
C.NSP 000004 8-398
DF$LCL = 040000 4-146
ENTDAT = ****** GX 8-409
FRBDAT = ****** GX 8-402 8-444 8-509
FRBILS = ****** GX 8-517
GTNOD = ****** GX 4-141 4-152
KISAR6 = 172354 *4-131 *8-491
LF.INR = 000100 8-521
LF.NKR = 000200 8-513
L.FLG 000012 8-513 8-521
L.PDV 000041 8-416 8-504
L.TIPD 000005 *8-413 8-510
L.TIPI 000004 *8-437 8-518
L.ULA 000040 8-421
L.XQ2 000050 8-429
L.XQ3 000052 8-439
M$$MGE = 000000 4-131 8-491
NAKNSP = ****** GX 8-515
NAKUSR = ****** GX 8-506
N$PLD 000026 4-221
N$$CNC = ****** 10-628
N$$ICF = ****** 3-1 3-2 4-143 5-271 8-453 8-500 8-538 9-569 10-628
N$$LV2 = ****** 8-406 8-447
N$$SYS = 000001 3-104 6-331 7-358 8-415 8-426 8-490
N$$USR = 000001 3-104 8-415 8-420
P$LEN 000014 4-212
P$NOD 000010 4-222
QNSPA = ****** GX 6-338 6-339 7-364 7-368 7-373
RCVBLK 000000 RG #4-129
RCVCMP 000000 RG #4-128
RCVMSG = ****** GX 4-226
RENABL 000140 RG #6-333
RENTBL 000146 R 6-335 #6-337
RETLS = ****** GX 8-523
RH.HDR = 000002 4-133 4-135
RH.PRI = 000014 4-135
RH.RFM = 000100 4-135 4-137
R$$EIS = ****** 4-214
SNDAKD = ****** GX 8-512
SNDAKI = ****** GX 8-520
ST$CC = 000002 8-403
SYSMOD = ****** GX 7-369
UNSPWN = ****** GX 4-229 8-536
USRDAT = ****** GX 7-365
USRINT = ****** GX 7-366
USRQRY = ****** GX 7-370
NSPCP CREATED BY MACRO ON 13-OCT-79 AT 10:03 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
USRRCI = ****** GX 6-341
USRRCV = ****** GX 6-337
USRXOF = ****** GX 7-372
USRXON = ****** GX 7-371
XENABL 000160 RG #7-360
XENTBL 000166 R 7-362 #7-364
XMCACC 000224 R #8-402 8-532
XMCAKD 000344 R #8-488 8-534
XMCAKI 000446 R #8-517 8-535
XMCCON 000336 R #8-444 8-527
XMCDAT 000244 R #8-413 8-528
XMCDIS 000414 R 8-495 8-497 8-499 8-505 #8-509 8-531
XMCINT 000312 R #8-436 8-529
XMCLS 000312 R #8-435 8-533
XMCMP 000212 RG #8-397
XMCTBL 000502 R 8-399 #8-527
$MUL = ****** GX 4-217
$NSDDB = ****** GX 4-220
$QXCP = ****** GX 8-422
NSPCP CREATED BY MACRO ON 13-OCT-79 AT 10:03 PAGE 3
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
CALL 4-141 4-152 4-217 4-226 4-229 8-402 8-409 8-422 8-430 8-431
8-440 8-441 8-444 8-506 8-509 8-512 8-517 8-520
CALLR #6-335 #7-362 #8-399 #8-515 #8-523
CCBDF$ #3-100 3-101
CRASH #5-314
HWDDF$ #4-131 #4-131 #8-491 #8-491
MAP #3-99 #4-131 #8-491
NSPSY$ #3-100 3-102
RESRG #3-99
RETURN 4-230 8-525
SAVRG #3-99