Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/mcb/nssub.list
There are no other files named nssub.list in the archive.
NSSUB MACRO M1110 13-OCT-79 10:26
TABLE OF CONTENTS
4- 81 IOFLS,IOSUC,IODUN,IODUN1 - I/O COMPLETION POSTING
5- 148 $IFCER - ILLEGAL QIO FUNCTION PROCESSOR
6- 176 IOREDO - PUT I/O PACKET BACK IN ACP'S S/R QUEUE
7- 208 MAPHDR - GET TASK HEADER ADDRESS
8- 235 MAPLUN - GET 2ND LUN WORD ADDRESS
9- 265 GETWB - GET POINTER TO WINDOW BLOCK
9- 266 GETWBA - ALTERNATE ENTRY
10- 300 REMULA - REMOVE USER LINK CONTEXT
11- 346 SCNQUE,REMQUE - QUEUE SCANNING AND REMOVAL
12- 386 SCNLUN - SCAN TASK LOGICAL UNIT TABLE
13- 432 ADDGEN,ADDGN1 - ADD AN EVENT TO GENERAL DELIVERY QUEUE
14- 459 ADDEVT - ADD AN EVENT TO USER'S NETWORK DATA MAILBOX
15- 503 SPRAST - SPRING USER'S NETWORK DATA AST
16- 547 FLSHIO - FLUSH PENDING I/O PACKETS FROM WINDOW BLOCK
17- 587 FLSHMB - FLUSH EVENTS FROM MAILBOX
18- 637 RMCON - FLUSH PENDING CONNECT
19- 667 RMINT - FLUSH INTERRUPT MESSAGE
20- 687 RMDIS - FLUSH DISCONNECT NOTIFICATION
21- 712 RMMOP - FLUSH MOP EVENT
22- 738 BLXIT - MOVE CONNECT DATA
23- 772 BLXIO - MOVE DATA BLOCK
23- 773 BLXI1 - ALTERNATE ENTRY
24- 820 CCBREJ - FORM CONNECT REJECT CCB AND REJECT CONNECTION
25- 846 TLACHK - TEMPORARY LINK ADDRESS CHECKING
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 3
1 .IIF NDF V$$ER1 .TITLE NSSUB
2 .IIF DF V$$ER1 .TITLE NSSUB1
3 .IDENT /V01.02/
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 USER INTERFACE SUBROUTINES
28 ;
29 ;
30 ;
31 ; DISTRIBUTED SYSTEMS SOFTWARE ENGINEERING
32 ;
33 ; IDENT HISTORY:
34 ;
35 ; 1.00 10-FEB-78
36 ; VERSION 2.0 RELEASE
37 ; 1.01 2-NOV-78 BUREN HOFFMAN
38 ; MODIFIED RMMOP ROUTINE TO USE NEW CCB CLEANUP ROUTINE.
39 ; 1.02 22-JAN-79 ALAN D. PECKHAM
40 ; ADD DISPATCH TABLE ENTRY TO "TDISP" FOR NT.LOG
41 ;
42 ;
43
44 ; LIBRARY MACROS
45 ;
46
47 .MCALL CCBDF$,NSPSY$,SAVRG,RESRG,MAP,$MVTBF,CALLC,CALLX
48 000000 CCBDF$ ;DEFINE CCB OFFSETS
49 000000 NSPSY$ ;DEFINE NSP INTERNAL SYMBOLS
50
51 .MCALL MBXDF$,LLWDF$,DVBDF$,NSSYM$
52 000000 MBXDF$ ;DEFINE MAILBOX OFFSETS
53 000000 LLWDF$ ;DEFINE WINDOW BLOCK OFFSETS
54 000000 DVBDF$ ;DEFINE VCB OFFSETS
55 000000 NSSYM$ ;DEFINE NETWORK RETURN VALUES
56
57 ;
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 3-1
58 ; LOCAL MACRO DEFINITIONS
59 ;
60 ;
61 ; PUSH AND POP STACK INSTRUCTIONS
62 ;
63
64 .MACRO PUSH S
65 .IRP SS,<S>
66 MOV SS,-(SP)
67 .ENDR
68 .ENDM PUSH
69
70 .MACRO POP D
71 .IRP DD,<D>
72 MOV (SP)+,DD
73 .ENDR
74 .ENDM POP
75
76 .MACRO MOVBNS X,Y
77 CLR Y
78 BISB X,Y
79 .ENDM
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 4
IOFLS,IOSUC,IODUN,IODUN1 - I/O COMPLETION POSTING
81 .SBTTL IOFLS,IOSUC,IODUN,IODUN1 - I/O COMPLETION POSTING
82
83 ;+
84 ; ** - IOFLS - POST ABORTED COMPLETION
85 ; ** - IOSUC - POST SUCCESSFUL COMPLETION
86 ; ** - IODUN1 - CLEAR SECOND STATUS WORD AND POST COMPLETION
87 ; ** - IODUN - POST COMPLETION
88 ;
89 ; THESE ROUTINES POST I/O REQUEST COMPLETIONS TO THE USER TASK AND
90 ; CLEAR ANY LUN ACCESS INTERLOCK (EXCEPT FOR IOFLS).
91 ;
92 ; NOTE: ACP MUST BE IN SYSTEM STATE
93 ;
94 ; INPUTS:
95 ;
96 ; R0 = FIRST STATUS WORD (IODUN1 AND IODUN ONLY)
97 ; R1 = SECOND STATUS WORD (IODUN ONLY)
98 ; R3 -> I/O PACKET
99 ;
100 ; OUTPUTS:
101 ;
102 ; THE USER TASK SECOND LUN WORD ACCESS INTERLOCK BIT IS CLEARED
103 ; (EXCEPT FOR IOFLS) AND $IOFIN IS CALLED TO COMPLETE THE SPECIFIED
104 ; I/O REQUEST.
105 ;
106 ; R0-R3 MAY BE DESTROYED.
107 ;-
108
109 000000 .PSECT $NSACP
110
111 .ENABL LSB
112 000000 012700 000000C IOFLS:: MOV #IE.ABO&377,R0 ;;SET ABORT STATUS IN FIRST STATUS WORD
113 000004 005001 CLR R1 ;;CLEAR SECOND STATUS WORD
114 000006 000406 BR 10$ ;;CONTINUE
115
116 000010 012700 000000C IOSUC:: MOV #IS.SUC&377,R0 ;;SET SUCCESS STATUS IN FIRST STATUS WORD
117
118 000014 005001 IODUN1::CLR R1 ;;CLEAR SECOND STATUS WORD
119
120 000016 042773 000001 000000G IODUN:: BIC #1,@I.LN2(R3) ;;CLEAR ACCESS IF SET
121
122 000024 005063 000016G 10$: CLR I.PRM+16(R3) ;;CLEAR EIGHT PARAMETER WORD (FOR RECORD LOCKING)
123 000030 PUSH <R4,R5> ;;SAVE NON-VOLATILE REGISTERS
124
125 .IF DF V$$ER1
126
127 MOV I.TCB(R3),R2 ;;GET TCB ADDRESS
128 BIT #T3.NET,T.ST3(R2) ;;IS THIS A VERSION 1 LINK ?
129 BEQ 20$ ;;IF EQ, NO - CONTINUE
130 MOV T.PCB(R2),R2 ;;CHAIN THROUGH TO GET THE TASK HEADER
131 MOV P.HDR(R2),R2 ;;...
132 MOV I.LN2(R3),R4 ;;COMPUTE THE LUN NUMBER BY SUBTRACTING THE
133 SUB R2,R4 ;;...BASE ADDRESS OF THE LUN TABLE FROM THE
134 SUB #H.LUN-2,R4 ;;...ADDRESS OF THE SECOND LUN WORD AND
135 ASR R4 ;;...DIVIDING BY FOUR
136 ASR R4 ;;...
137 SWAB R4 ;;COPY LUN TO THE HIGH BYTE
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 4-1
IOFLS,IOSUC,IODUN,IODUN1 - I/O COMPLETION POSTING
138 BIS R4,R0 ;;...AND MERGE WITH THE FIRST STATUS WORD
139 20$: ;;
140 .ENDC
141
142 000034 016305 000000G MOV I.UCB(R3),R5 ;;GET UNIT CONTROL BLOCK ADDRESS
143 000040 CALL $IOFIN ;;POST COMPLETION TO USER
144 000044 POP <R5,R4> ;;RECOVER NON-VOLATILE REGISTERS
145 000050 RETURN ;;RETURN
146 .DSABL LSB
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 5
$IFCER - ILLEGAL QIO FUNCTION PROCESSOR
148 .SBTTL $IFCER - ILLEGAL QIO FUNCTION PROCESSOR
149
150 ;+
151 ; ** - $IFCER - ILLEGAL QIO FUNCTION CODE PROCESSOR
152 ;
153 ; THIS ROUTINE SHOULD NEVER BE USED SINCE ALL FUNCTION CODE VALIDATING
154 ; SHOULD BE DONE IN $DRQIO AND THE (NS:) DRIVER. ANY REQUEST DISPATCHED
155 ; HERE WILL BE COMPLETED WITH AN ILLEGAL FUNCTION CODE ERROR.
156 ;
157 ; INPUT:
158 ;
159 ; R3 -> I/O PACKET
160 ;
161 ; OUTPUT:
162 ;
163 ; THE ILLEGAL FUNCTION CODE STATUS IS SET AND THE I/O REQUEST
164 ; COMPLETED.
165 ;
166 ; ALL REGISTERS MAY BE DESTROYED.
167 ;-
168
169 000052 $IFCER::SWSTK$ 10$ ;SWITCH TO SYSTEM STATE
170
171 000056 012700 000000C MOV #IE.IFC&377,R0 ;;SET ILLEGAL FUNCTION CODE STATUS CODE
172 000062 000754 BR IODUN1 ;;POST COMPLETION TO USER
173
174 000064 10$: RETURN ;RETURN TO CALLER
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 6
IOREDO - PUT I/O PACKET BACK IN ACP'S S/R QUEUE
176 .SBTTL IOREDO - PUT I/O PACKET BACK IN ACP'S S/R QUEUE
177
178 ;+
179 ; ** - IOREDO - PUT I/O PACKET BACK IN ACP'S SEND/RECEIVE QUEUE
180 ;
181 ; THIS SUBROUTINE REQUEUES AN I/O PACKET WHICH ENCOUNTERED A RESOURCE
182 ; ERROR, BACK INTO THE ACP'S SEND/RECEIVE QUEUE FOR REPROCESSING
183 ; LATER.
184 ;
185 ; INPUTS:
186 ;
187 ; R3 -> I/O PACKET (TO BE REQUEUED)
188 ;
189 ; OUTPUTS:
190 ;
191 ; THE I/O PACKET IS QUEUED TO THE END OF THE ACP SEND/RECEIVE
192 ; QUEUE. IF THE QUEUE WAS EMPTY, A FLAG IS SET TO STOP QUEUE
193 ; PROCESSING UNTIL THE NEXT TIME THE ACP RUNS.
194 ;
195 ; R0 IS DESTROYED.
196 ;-
197
198 000066 016700 000000G IOREDO::MOV $TKTCB,R0 ;;GET THE ACP'S TCB ADDRESS
199 000072 062700 000000G ADD #T.RCVL,R0 ;;ADD OFFSET TO SEND/RECEIVE QUEUE
200 000076 010370 000002 MOV R3,@2(R0) ;;LINK I/O PACKET BACK INTO QUEUE
201 000102 010360 000002 MOV R3,2(R0) ;;...
202 000106 005013 CLR (R3) ;;CLEAR LINK POINTER IN I/O PACKET
203 000110 020310 CMP R3,(R0) ;;WAS QUEUE EMPTY BEFORE WE PUT THIS PACKET IN?
204 000112 001002 BNE 10$ ;;IF NE, NO
205 000114 105267 000000G INCB $NSQUF ;;OTHERWISE TURN RECEIVE QUEUE PROCESSING OFF
206 000120 10$: RETURN ;;RETURN TO CALLER
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 7
MAPHDR - GET TASK HEADER ADDRESS
208 .SBTTL MAPHDR - GET TASK HEADER ADDRESS
209
210 ;+
211 ; ** - MAPHDR - GET POINTER TO TASK HEADER
212 ;
213 ; THIS ROUTINE GETS THE HEADER ADDRESS OF THE USER TASK WHICH
214 ; ISSUED THE SPECIFIED I/O REQUEST.
215 ;
216 ; NOTE: THE USER TASK MUST BE IN MEMORY
217 ;
218 ; INPUT:
219 ;
220 ; R3 -> I/O PACKET
221 ;
222 ; OUTPUTS:
223 ;
224 ; R2 -> USER TASK HEADER
225 ; R3 -> I/O PACKET
226 ;-
227
228 000000 .PSECT
229
230 000000 016302 000000G MAPHDR::MOV I.TCB(R3),R2 ;GET TASK CONTROL BLOCK ADDRESS,
231 000004 016202 000000G MOV T.PCB(R2),R2 ; PARTITION CONTROL BLOCK ADDRESS AND
232 000010 016202 000000G MOV P.HDR(R2),R2 ; TASK HEADER ADDRESS
233 000014 RETURN ;RETURN TO CALLER
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 8
MAPLUN - GET 2ND LUN WORD ADDRESS
235 .SBTTL MAPLUN - GET 2ND LUN WORD ADDRESS
236
237 ;+
238 ; ** - MAPLUN - GET POINTER TO 2ND LUN WORD
239 ;
240 ; THIS ROUTINE GETS THE ADDRESS IN THE USER TASK HEADER OF THE SPECIFIED
241 ; LUN.
242 ;
243 ; NOTE: THE USER TASK MUST BE IN MEMORY.
244 ;
245 ; INPUTS:
246 ;
247 ; R0 = LUN
248 ; R2 -> USER TASK HEADER
249 ;
250 ; OUTPUTS:
251 ;
252 ; R0 -> 2ND LUN WORD
253 ;
254 ; R1-R5 ARE PRESERVED.
255 ;-
256
257 000122 .PSECT $NSACP
258
259 000122 006300 MAPLUN::ASL R0 ;MAKE LUN INTO DOUBLE
260 000124 006300 ASL R0 ; WORD INDEX
261 000126 062700 177776G ADD #H.LUN-2,R0 ;ADD OFFSET TO START OF LOGICAL UNIT TABLE
262 000132 060200 ADD R2,R0 ;ADD TASK HEADER ADDRESS
263 000134 RETURN
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 9
GETWB - GET POINTER TO WINDOW BLOCK
265 .SBTTL GETWB - GET POINTER TO WINDOW BLOCK
266 .SBTTL GETWBA - ALTERNATE ENTRY
267
268 ;+
269 ; ** - GETWB - GET POINTER TO WINDOW BLOCK
270 ; ** - GETWBA - ALTERNATE ENTRY
271 ;
272 ; INPUTS:
273 ;
274 ; GETWB:
275 ; R5 = USER LINK ADDRESS (INDEX)
276 ;
277 ; GETWBA:
278 ; R4 = ADDRESS OF CCB WITH ULA IN C.LIN
279 ;
280 ; OUTPUTS:
281 ;
282 ; C-BIT CLEAR (SUCCESSFUL)
283 ; R5 -> WINDOW BLOCK
284 ; C-BIT SET (FAILED TO FIND WINDOW BLOCK)
285 ;-
286
287 000136 010504 GETWBA::MOV R5,R4 ;COPY ADDRESSS OF CCB
288 000140 MOVBNS C.LIN(R4),R5 ;GET THE USER LINK ADDRESS
289
290 000146 006305 GETWB:: ASL R5 ;MAKE ULA A WORD INDEX
291 000150 SAVRG <R5> ;SAVE ULA
292 000152 016705 000000G MOV $NSVCB,R5 ;GET VCB ADDRESS
293 000156 016505 000006 MOV V.ULT(R5),R5 ;GET ADDRESS OF ULT
294 000162 062605 ADD (SP)+,R5 ;INDEX TO ADJACENT SLOT IN ULT
295 000164 014505 MOV -(R5),R5 ;GET POINTER TO WINDOW BLOCK
296 000166 001001 BNE 10$ ;IF NE, VALID WINDOW BLOCK
297 000170 000261 SEC ;ELSE, HAS ALREADY GONE AWAY
298 000172 10$: RETURN ;RETURN
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 10
REMULA - REMOVE USER LINK CONTEXT
300 .SBTTL REMULA - REMOVE USER LINK CONTEXT
301
302 ;+
303 ; ** - REMULA - REMOVE USER LINK CONTEXT
304 ;
305 ; THE DATA STRUCTURE COMPOSED OF THE USER LUN, USER LINK ADDRESS
306 ; AND LOGICAL LINK WINDOW BLOCK IS DISASSOCIATED.
307 ;
308 ; NOTE: USER TASK MUST BE IN MEMORY AND ACP IN SYSTEM STATE
309 ;
310 ; INPUTS:
311 ;
312 ; R5 -> WINDOW BLOCK (TO BE DEALLOCATED)
313 ;
314 ; OUTPUTS:
315 ;
316 ; THE USER'S SECOND LUN WORD IS CLEARED, USER LINK TABLE ENTRY
317 ; CLEARED AND WINDOW BLOCK DEALLOCATED.
318 ;
319 ; ALL REGISTERS ARE PRESERVED.
320 ;-
321
322 000174 REMULA::CALL $SAVAL ;;SAVE ALL REGISTERS
323
324 .IF DF V$$ER1
325 BIT #WS.DIC,W.STAT(R5) ;;HAS THE USER'S 2ND LUN WORD ALREADY BEEN CLEARED
326 BNE 10$ ;;IF NE, YES - DON'T DO IT AGAIN
327 .ENDC
328
329 000200 016502 000002 MOV W.TASK(R5),R2 ;;GET TASK CONTROL BLOCK ADDRESS,
330 000204 016202 000000G MOV T.PCB(R2),R2 ;; PARTITION CONTROL BLOCK ADDRESS AND
331 000210 016202 000000G MOV P.HDR(R2),R2 ;; TASK HEADER ADDRESS
332 000214 MOVBNS W.LUN(R5),R0 ;;GET LUN
333 000222 CALL MAPLUN ;;GET POINTER TO 2ND LUN WORD
334 000226 005010 CLR (R0) ;;CLEAR SECOND LUN WORD
335 000230 10$: MOVBNS W.ULA(R5),R2 ;;GET ULA
336 000236 006302 ASL R2 ;;MAKE IT A WORD INDEX
337 000240 016700 000000G MOV $NSVCB,R0 ;;GET ADDRESS OF VCB
338 000244 066002 000006 ADD V.ULT(R0),R2 ;;ADD STARTING ADDRESS OF ULT TO ULA INDEX
339 ;; TO GET NEXT WINDOW BLOCK'S SLOT
340 000250 005042 CLR -(R2) ;;REMOVE CORRECT WINDOW BLOCK FROM ULT
341 000252 010500 MOV R5,R0 ;;GET ADDRESS OF WINDOW BLOCK
342 000254 012701 000040 MOV #W.WBL,R1 ;;GET WINDOW BLOCK LENGTH
343 000260 CALL $DEACB ;;DEALLOCATE WINDOW BLOCK
344 000264 RETURN ;;RETURN TO CALLER
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 11
SCNQUE,REMQUE - QUEUE SCANNING AND REMOVAL
346 .SBTTL SCNQUE,REMQUE - QUEUE SCANNING AND REMOVAL
347 ;+
348 ; ** - SCNQUE - QUEUE SCANNING CO-ROUTINE
349 ; ** - REMQUE - COMPANION ENTRY REMOVAL ROUTINE
350 ;
351 ; THIS IS A GENERAL CO-ROUTINE TO SCAN A QUEUE OF CCBS.
352 ;
353 ; INPUTS:
354 ;
355 ; R4 = ADDRESS OF THE QUEUE LISTHEAD
356 ;
357 ; OUTPUTS:
358 ;
359 ; C-BIT CLEAR:
360 ; R5 = ADDRESS OF THE NEXT ELEMENT ON THE QUEUE
361 ; C-BIT SET:
362 ; NO MORE ELEMENTS ON THE QUEUE
363 ;
364 ;-
365 .ENABL LSB
366 000266 SCNQUE::PUSH (SP) ;COPY CO-ROUTINE ADDRESS
367 000270 010466 000002 MOV R4,2(SP) ;SAVE LISTHEAD ADDRESS
368
369 000274 000261 10$: SEC ;ASSUME END OF QUEUE
370 000276 011405 MOV (R4),R5 ;GET NEXT ITEM ON LIST
371 000300 001414 BEQ 30$ ;IF EQ, END OF QUEUE
372 000302 000241 CLC ;VALID ITEM
373 000304 CALL @(SP)+ ;CALL CO-ROUTINE
374 000306 010504 MOV R5,R4 ;COPY CURRENT ITEM ADDRESS
375 000310 000771 BR 10$ ;GO SCAN NEXT ITEM
376
377 000312 011514 REMQUE::MOV (R5),(R4) ;UNLINK ITEM
378 000314 001005 BNE 20$ ;IF NE, NOT LAST ITEM ON LIST
379 000316 062766 000002 000004 ADD #2,4(SP) ;COMPUTE LISTTAIL ADDRESS
380 000324 010476 000004 MOV R4,@4(SP) ;POINT LISTTAIL TO NEW ITEM
381 000330 20$: POP (SP) ;COPY RETURN OVER CO-ROUTINE ADDRESS
382 000332 30$: POP (SP) ;COPY RETURN OVER LISTHEAD
383 000334 RETURN ;RETURN TO CALLER
384 .DSABL LSB
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 12
SCNLUN - SCAN TASK LOGICAL UNIT TABLE
386 .SBTTL SCNLUN - SCAN TASK LOGICAL UNIT TABLE
387
388 ;+
389 ; ** - SCNLUN - SCAN TASK LUT
390 ;
391 ; COROUTINE TO SCAN A TASK'S LOGICAL UNIT TABLE FOR ACTIVE LOGICAL
392 ; LINKS.
393 ;
394 ; INPUTS:
395 ;
396 ; R4 = USER TASK HEADER ADDRESS
397 ; R5 = " " CONTROL BLOCK ADDRESS
398 ;
399 ; OUTPUTS:
400 ;
401 ; R1 = ADDRESS OF HTE SECOND LUN WORD
402 ; R4 = USER TASK HEADER ADDRESS
403 ; R5 = 2ND LUN WORD CONTENTS
404 ;
405 ; R0, R1, R2 AND R3 ARE DESTROYED
406 ;-
407
408 000336 011603 SCNLUN::MOV (SP),R3 ;PRESERVE COROUTINE RETURN ADDRESS
409 000340 005016 CLR (SP) ;ZERO STACK CELL FOR LUN-1 NUMBER
410
411 000342 011601 10$: MOV (SP),R1 ;GET LUN-1 VALUE
412 000344 005216 INC (SP) ;INCREMENT LUN-1 VALUE
413 000346 026416 000000G CMP H.NLUN(R4),(SP) ;ANY MORE LUNS TO CHECK ?
414 000352 103417 BLO 20$ ;IF LO, NO - GO RETURN (C-BIT SET)
415 000354 CALL $MPLNE ;MAP TO LUN
416 000360 103770 BCS 10$ ;IF CS, LUN NOT ASSIGNED
417 000362 020067 000000G CMP R0,$NSUCB ;IS DEVICE NS: ?
418 000366 001365 BNE 10$ ;IF NE, NO
419 000370 011100 MOV (R1),R0 ;GET 2ND LUN WORD
420 000372 001763 BEQ 10$ ;IF EQ, NO LINK OPEN
421 000374 121664 000000G CMPB (SP),H.NML(R4) ;IS THIS THE ACCESS LINK ?
422 000400 001760 BEQ 10$ ;IF EQ, YES - IGNORE
423 000402 000241 CLC ;CLEAR C-BIT TO INDICATE LINK FOUND
424 000404 CALL (R3) ;CALL BACK THE CALLER
425 000406 012603 MOV (SP)+,R3 ;GET THE COROUTINE RETURN ADDRESS
426 000410 000754 BR 10$ ;CONTINUE
427
428 000412 010316 20$: MOV R3,(SP) ;SET RETURN ADDRESS (C-BIT SET FROM 'CMP')
429 000414 RETURN
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 13
SCNLUN - SCAN TASK LOGICAL UNIT TABLE
431
432 .SBTTL ADDGEN,ADDGN1 - ADD AN EVENT TO GENERAL DELIVERY QUEUE
433
434 ;+
435 ; ** - ADDGEN - ADD AN EVENT TO GENERAL DELIVERY QUEUE AND SET REQUEST FLAG
436 ; ** - ADDGN1 - " " " " " " "
437 ;
438 ; INPUTS:
439 ;
440 ; R4 -> CCB
441 ;
442 ; OUTPUTS:
443 ;
444 ; R3 IS DESTROYED.
445 ;-
446
447 000416 152764 000002 000011 ADDGEN::BISB #CX.REQ,C.MOD(R4) ;SET TASK NEEDS REQUESTING CCB STATUS
448 000424 105267 000000G INCB $NSRQF ;SET GENERAL DELIVERY REQUEST FLAG
449 000430 152764 000001 000011 ADDGN1::BISB #CX.GDQ,C.MOD(R4) ;SET CCB IN GENERAL DELIVERY CCB STATUS
450 000436 016703 000000G MOV $NSVCB,R3 ;GET NETWORK VOLUME CONTROL BLOCK ADDRESS
451 000442 010473 000020 MOV R4,@V.GENQ+2(R3) ;ADD CCB TO END OF GENERAL
452 000446 010463 000020 MOV R4,V.GENQ+2(R3) ; QUEUE
453 000452 005014 CLR (R4) ;CLEAR LINK POINTER (END OF QUEUE)
454 000454 105763 000002 TSTB V.TIMR(R3) ;IS THE QUEUE TIMER GOING ?
455 000460 001003 BNE 10$ ;IF NE, YES
456 000462 116363 000003 000002 MOVB V.TIME(R3),V.TIMR(R3) ;ELSE, START IT UP
457 000470 10$: RETURN ;RETURN TO CALLER
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 14
ADDEVT - ADD AN EVENT TO USER'S NETWORK DATA MAILBOX
459 .SBTTL ADDEVT - ADD AN EVENT TO USER'S NETWORK DATA MAILBOX
460
461 ;+
462 ; ** - ADDEVT - ADD EVENT TO USER'S NETWORK DATA MAILBOX
463 ;
464 ; ADD AN EVENT (CONNECT, INTERRUPT, DISCONNECT) CCB TO THE USER TASK'S
465 ; MAILBOX NETWORK DATA QUEUE. THEN TRY TO SPRING A NETWORK DATA AST FOR
466 ; ALL EVENTS WHICH REQUIRE ONE.
467 ;
468 ; INPUTS:
469 ;
470 ; R3 -> MAILBOX
471 ; R4 -> CCB (FOR EVENT)
472 ;
473 ; OUTPUTS:
474 ;
475 ; C-BIT SET - EVENT QUEUED
476 ; THE CCB IS LINKED TO THE NETWORK DATA QUEUE AND, IF A
477 ; NETWORK DATA AST HAS BEEN SPECIFIED, SPRAST IS ENTERED
478 ; TO SPRING THE AST.
479 ; C-BIT SET - EVENT NOT QUEUED
480 ; THE TASK IS CLOSING HIS NETWORK ACTIVITY OR IS ABORTING
481 ;
482 ; R0, R1 AND R2 ARE DESTROYED.
483 ;-
484
485 .ENABL LSB
486 000472 000261 ADDEVT::SEC ;;ASSUME ERROR STATUS
487 000474 132763 000200 000004 BITB #MS.CIP,M.STAT(R3) ;;CLOSE IN PROGRESS ?
488 000502 001051 BNE 30$ ;;IF NE, YES - RETURN WITH C-BIT SET
489
490 000504 005014 CLR (R4) ;;CLEAR LINK POINTER
491 000506 010473 000014 MOV R4,@M.MAIL+2(R3) ;;LINK EVENT CCB INTO MAILBOX QUEUE
492 000512 010463 000014 MOV R4,M.MAIL+2(R3) ;;...
493
494 000516 005763 000010 TST M.SPA(R3) ;;ANY AST SERVICE SPECIFIED ?
495 000522 001441 BEQ 30$ ;;IF EQ, NO - JUST GO RETURN
496
497 000524 016300 000002 MOV M.TASK(R3),R0 ;;GET USER TASK TCB ADDRESS
498 000530 052763 000010 000004 BIS #MS.AST,M.STAT(R3) ;;SET AST NEEDED ON ASSUMPTION THAT
499 000536 105263 000005 INCB M.NAST(R3) ;; RESOURCES NOT AVAILABLE
500 ;;FALL THRU AND TRY TO SPRING A NETWORK
501 ;; DATA AST
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 15
SPRAST - SPRING USER'S NETWORK DATA AST
503 .SBTTL SPRAST - SPRING USER'S NETWORK DATA AST
504
505 ;+
506 ;** - SPRAST - SPRING USER'S NETWORK DATA AST
507 ;
508 ; INPUTS:
509 ;
510 ; R0-> TCB
511 ; R3-> MAILBOX
512 ;
513 ; OUTPUTS:
514 ;
515 ; ONE AST FOR EACH COUNT IN THE TASK'S MAILBOX (W.NAST) IS
516 ; SPRUNG ON THE USER. IF THE COUNT GOES TO ZERO, THE AST NEEDED
517 ; STATUS OF THE MAILBOX IS CLEARED. IF A RESOURCE FAILURE OCCURS
518 ; IN ALLOCATING THE AST BLOCK, THE AST NEEDED STATUS IS LEFT SET.
519 ;
520 ; R1 AND R2 ARE DESTROYED.
521 ;-
522
523 000542 SPRAST::SAVRG <R0> ;;SAVE TCB ADDRESS
524 000544 012701 000012 10$: MOV #5*2,R1 ;;SET LENGTH OF AST BLOCK
525 000550 CALL $ALOCB ;;ALLOCATE AST BLOCK
526 000554 103422 BCS 20$ ;;IF CS, ALLOCATION FAILURE
527 000556 010002 MOV R0,R2 ;;SAVE ADDRESS OF AST BLOCK
528 000560 005720 TST (R0)+ ;;SKIP PAST LINK WORD
529 000562 010120 MOV R1,(R0)+ ;;STORE SIZE OF AST BLOCK
530 000564 012720 000016 MOV #7*2,(R0)+ ;;SAVE # OF BYTES TO ALLOCATE ON STACK
531 000570 016320 000010 MOV M.SPA(R3),(R0)+ ;;SAVE AST TRAP ADDRESS
532 000574 005010 CLR (R0) ;;CLEAR PARAMETER COUNT
533 000576 011600 MOV (SP),R0 ;;RECOVER TCB ADDRESS
534 000600 010201 MOV R2,R1 ;;COPY ADDRESS OF AST BLOCK
535 000602 CALL $QASTT ;;SPRING USER'S NETWORK DATA AST
536
537 000606 105363 000005 DECB M.NAST(R3) ;;DECREMENT AST NEEDED COUNT
538 000612 001354 BNE 10$ ;;IF NE, GO SPRING ANOTHER AST
539 000614 042763 000010 000004 BIC #MS.AST,M.STAT(R3) ;;ELSE, CLEAR AST NEEDED STATUS
540
541 000622 20$: RESRG <R0> ;;RECOVER TCB ADDRESS
542 000624 000241 CLC ;;MAKE SURE C-BIT IS CLEAR
543
544 000626 30$: RETURN ;;RETURN TO CALLER
545 .DSABL LSB
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 16
FLSHIO - FLUSH PENDING I/O PACKETS FROM WINDOW BLOCK
547 .SBTTL FLSHIO - FLUSH PENDING I/O PACKETS FROM WINDOW BLOCK
548
549 ;+
550 ; ** - FLSHIO - FLUSH PENDING I/O PACKETS FROM WINDOW BLOCK
551 ;
552 ; THIS SUBROUTINE FLUSHES ANY PENDING I/O PACKETS (SND$,REC$,XMI$) THAT
553 ; ARE QUEUED IN THE WINDOW BLOCK BACK TO THE USER WITH ABORT ERROR CODES.
554 ;
555 ; INPUT:
556 ;
557 ; R5 -> WINDOW BLOCK
558 ;
559 ; OUTPUTS:
560 ;
561 ; ALL PENDING SEND, RECEIVE AND TRANSMIT INTERRUPT I/O PACKETS ARE
562 ; RETURNED TO THE USER WITH AN ABORT ERROR CODE.
563 ;
564 ; ALL REGISTERS ARE PRESERVED.
565 ;-
566
567 000630 FLSHIO::CALL $SAVAL ;;SAVE ALL REGISTERS
568 000634 062705 000020 ADD #W.CSND,R5 ;;ADD OFFSET TO CURRENT XMIT REQUEST I/O PACKET
569 000640 005025 CLR (R5)+ ;;CLEAR POINTER TO CURRENT TRANSMIT I/O PACKET
570 000642 CALL 10$ ;;FLUSH TRANSMIT REQUEST QUEUE
571 000646 CALL 10$ ;;FLUSH RECEIVE REQUEST QUEUE
572 000652 005025 CLR (R5)+ ;;CLEAR POINTER TO CURRENT INTERRUPT I/O PACKET
573 ;;FLUSH INTERRUPT REQUEST QUEUE AND RETURN
574
575 000654 011504 10$: MOV (R5),R4 ;;SAVE POINTER TO FIRST ITEM ON QUEUE
576 000656 010403 15$: MOV R4,R3 ;;GET (NEXT) I/O PACKET FROM QUEUE
577 000660 001404 BEQ 20$ ;;IF EQ, QUEUE IS EMPTY
578 000662 011304 MOV (R3),R4 ;;SAVE POINTER TO NEXT I/O PACKET
579 000664 CALL IOFLS ;;FLUSH THE I/O REQUEST (ABORT, BUT LEAVE ACCESS INTERLO
580 000670 000772 BR 15$ ;;LOOP TILL QUEUE IS EMPTY
581
582 000672 010504 20$: MOV R5,R4 ;;SAVE ADDRESS
583 000674 005025 CLR (R5)+ ;;RESET LISTHEAD AND POINT TO NEXT CELL
584 000676 010425 MOV R4,(R5)+ ;;...
585 000700 RETURN ;;RETURN TO CALLER
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 17
FLSHMB - FLUSH EVENTS FROM MAILBOX
587 .SBTTL FLSHMB - FLUSH EVENTS FROM MAILBOX
588
589 ;+
590 ; ** - FLSHMB - FLUSH EVENTS FROM MAILBOX
591 ;
592 ; THIS SUBROUTINE FLUSHES EITHER ALL EVENTS FROM THE MAILBOX QUEUE OR
593 ; ALL EVENTS FOR A PARTICULAR LOGICAL LINK.
594 ;
595 ; INPUTS:
596 ;
597 ; R0 = LOGICAL UNIT NUMBER
598 ; <> 0 FLUSH ALL EVENTS FOR A PARTICULAR LOGICAL LINK
599 ; = 0 FLUSH ENTIRE MAILBOX
600 ; R4 -> MAILBOX BLOCK
601 ;-
602
603 000702 FLSHMB::CALL $SAVAL ;;SAVE ALL REGISTERS
604 000706 010403 MOV R4,R3 ;;COPY MAILBOX
605 000710 010305 MOV R3,R5 ;; ADDRESS
606 000712 062705 000012 ADD #M.MAIL,R5 ;;ADD OFFSET TO MAILBOX QUEUE
607 000716 011504 10$: MOV (R5),R4 ;;GET (NEXT) EVENT FROM QUEUE
608 000720 001430 BEQ 50$ ;;IF EQ, QUEUE IS EMPTY
609 000722 005700 TST R0 ;;ARE WE FLUSHING THE ENTIRE QUEUE?
610 000724 001405 BEQ 20$ ;;IF EQ, YES - DON'T BOTHER MATCHING ON A LUN
611 000726 120064 000011 CMPB R0,C.MOD(R4) ;;OTHERWISE IS THIS EVENT FOR THE PROPER LOGICAL LINK
612 000732 001402 BEQ 20$ ;;IF EQ, YES (NEVER MATCHES CONNECT OR MOP)
613 000734 010405 15$: MOV R4,R5 ;;MOVE TO NEXT EVENT IN QUEUE
614 000736 000767 BR 10$ ;;LOOP TILL DONE
615
616 000740 011415 20$: MOV (R4),(R5) ;;REMOVE EVENT FROM QUEUE
617 000742 001002 BNE 25$ ;;IF NE, IT WAS NOT THE LAST EVENT ON THE QUEUE
618 000744 010563 000014 MOV R5,M.MAIL+2(R3) ;;RESET END OF LIST POINTER
619 000750 25$: MOVBNS C.FNC(R4),R1 ;;GET EVENT TYPE CODE
620 000756 SAVRG <R0,R3,R5> ;;SAVE REGISTERS
621 000764 006301 ASL R1 ;;MAKE TYPE CODE A WORD INDEX
622 000766 CALL @TDISP-2(R1) ;;DISPATCH TO PROPER ROUTINE TO RELEASE RESOURCE
623 000772 RESRG <R5,R3,R0> ;;RESTORE REGISTERS
624 001000 000746 BR 10$ ;;LOOP TILL DONE
625
626 001002 50$: RETURN ;;RETURN TO CALLER
627
628 001004 001026' TDISP: RMCON ;1 - CONNECT PENDING
629 001006 001060' RMINT ;2 - INTERRUPT MESSAGE
630 001010 001074' RMDIS ;3 - USER DISCONNECT NOTICE
631 001012 001074' RMDIS ;4 - USER ABORT NOTICE
632 001014 001074' RMDIS ;5 - NETWORK ABORT NOTICE
633 001016 000000G 000000G .WORD $CCBRT,$CCBRT ;6 AND 7 ARE RESERVED
634 001022 001116' RMMOP ;10 - MOP EVENT REPORTING
635 001024 001116' RMMOP ;11 - EVENT LOG RECORD (SAME AS MOP) ;AP0002
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 18
RMCON - FLUSH PENDING CONNECT
637 .SBTTL RMCON - FLUSH PENDING CONNECT
638
639 ;+
640 ; ** - RMCON - FLUSH PENDING CONNECT
641 ;
642 ; THIS SUBROUTINE WILL EITHER PLACE THE CONNECT ON THE GENERAL DELIVERY
643 ; QUEUE, IF IT WAS NEVER IN THE G.D. QUEUE, OR IT REJECTS THE CONNECTION
644 ; IF THE CONNECT HAD AT ONE TIME BEEN IN THE GENERAL DELIVERY QUEUE.
645 ;
646 ; INPUT:
647 ;
648 ; R3 = MAILBOX ADDRESS
649 ; R4 = CONNECT CCB
650 ;
651 ; OUTPUT:
652 ;
653 ; ALL REGISTERS MAY BE DESTROYED.
654 ;-
655
656 001026 105363 000006 RMCON:: DECB M.USE(R3) ;;DECREMENT ACTIVE LINK COUNT
657 001032 132764 000001 000011 BITB #CX.GDQ,C.MOD(R4) ;;HAS THIS CONNECT EVER BEEN IN THE GENERAL DELIVERY Q
658 001040 001405 BEQ 10$ ;;IF EQ, NO - GO PUT IT ON THE GENERAL DELIVERY QUEUE
659 ;;OTHERWISE REJECT THE CONNECTION
660 001042 010405 MOV R4,R5 ;;CHANGE REGISTER CONVENTIONS
661 001044 012703 000046 MOV #ER$ABO,R3 ;;GET REJECT ERROR CODE
662 001050 CALLR CCBREJ ;;REJECT THE CONNECTION
663
664 001054 10$: CALLR ADDGEN ;;PUT CONNECT CCB IN GENERAL DELIVERY QUEUE AND
665 ;; SET REQUEST FLAG
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 19
RMINT - FLUSH INTERRUPT MESSAGE
667 .SBTTL RMINT - FLUSH INTERRUPT MESSAGE
668
669 ;+
670 ; ** - RMINT - FLUSH INTERRUPT MESSAGE
671 ;
672 ; INPUT:
673 ;
674 ; R4 = INTERRUPT MESSAGE CCB
675 ;
676 ; OUTPUT:
677 ;
678 ; THE INTERRUPT MESSAGE IS RETURNED TO NSP.
679 ;
680 ; ALL REGISTERS MAY BE DESTROYED.
681 ;-
682
683 001060 010405 RMINT:: MOV R4,R5 ;;CHANGE REGISTER CONVENTIONS
684 001062 CALLC USRRCI ;;CALL NSP TO RETURN INTERRUPT MESSAGE
685 001072 RETURN ;;RETURN TO CALLER
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 20
RMDIS - FLUSH DISCONNECT NOTIFICATION
687 .SBTTL RMDIS - FLUSH DISCONNECT NOTIFICATION
688
689 ;+
690 ; ** - RMDIS - FLUSH DISCONNECT NOTIFICATION
691 ;
692 ; INPUT:
693 ;
694 ; R3 -> MAILBOX
695 ; R4 -> DISCONNECT/ABORT NOTIFICATION CCB
696 ;
697 ; OUTPUT:
698 ;
699 ; THE DISCONNECT CCB AND POSSIBLE USER DATA CCB ARE
700 ; RETURNED TO THE COMM EXEC.
701 ;
702 ; ALL REGISTERS ARE PRESERVED.
703 ;-
704
705 001074 RMDIS:: PUSH R4 ;;SAVE DISCONNECT CCB ADDRESS
706 001076 016404 000016 MOV C.BUF+2(R4),R4 ;;GET USER DATA CCB ADDRESS
707 001102 001402 BEQ 10$ ;;IF EQ, NO USER DATA
708 001104 CALL $CCBRT ;;ELSE, RETURN USER DATA CCB
709 001110 10$: POP R4 ;;RESTORE DISCONNECT CCB ADDRESS
710 001112 CALLR $CCBRT ;;RETURN CCB TO CEX AND RETURN TO CALLER
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 21
RMMOP - FLUSH MOP EVENT
712 .SBTTL RMMOP - FLUSH MOP EVENT
713
714 ;+
715 ; ** - RMMOP - FLUSH MOP EVENT
716 ;
717 ; INPUT:
718 ;
719 ; R4 -> MOP CCB
720 ;
721 ; OUTPUT:
722 ;
723 ; EITHER THE MOP EVENT IS PLACED ON THE GENERAL DELIVERY QUEUE, IF
724 ; IT WAS NEVER THERE BEFORE, OR THE CCB IS RETURNED TO THE
725 ; COMMUNICATION POOL, IF IT HAS BEEN ON THE GENERAL DELIVERY QUEUE
726 ; PREVIOUSLY.
727 ;-
728
729 001116 132764 000001 000011 RMMOP:: BITB #CX.GDQ,C.MOD(R4) ;;HAS THIS MOP EVENT EVER BEEN IN GENERAL DELIVERY ?
730 001124 001402 BEQ 10$ ;;IF EQ, NO - PUT IN GENERAL DELIVERY
731
732 001126 CALLR $CCBCL ;;RETURN CCB & BUFFER TO COMM POOL, AND ;BH0001
733 ;; RETURN TO CALLER ;**-1
734
735 001132 10$: CALLR ADDGEN ;;PUT CCB IN GENERAL DELIVERY QUEUE , SET
736 ;; REQUEST FLAG AND RETURN TO CALLER
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 22
BLXIT - MOVE CONNECT DATA
738 .SBTTL BLXIT - MOVE CONNECT DATA
739
740 ;+
741 ; BLXIT - MOVE DATA AREA FROM CONBLOK TO USER BUFFER
742 ;
743 ; INPUTS:
744 ;
745 ; R0=BYTE COUNT
746 ; R1=NUMBER OF BYTES REMAINING IN THE USER BUFFER
747 ; R2=CONBLOK OFFSET (BLXIT)
748 ; R2=VIRTUAL ADDRESS (BLXI2)
749 ; R3=USER BUFFER APR6 BIAS (MAPPED SYSTEMS ONLY)
750 ; R4=USER BUFFER ADDRESS
751 ; R5=CCB ADDRESS WITH CONBLOK (BLXIT ONLY)
752 ;
753 ; THE CONBLOK DESCRIBED IN C.BUF+2 OF THE CCB MUST BE MAPPED IN
754 ; THE VIRTUAL ADDRESS SPACE OF THE SYSTEM.
755 ;
756 ; OUTPUTS:
757 ;
758 ; THE NUMBER OF BYTES REMAINING IN THE USER BUFFER MAY BE TESTED
759 ; WITH A SIGNED CONDITIONAL BRANCH. IF 'BLE', NO SPACE REMAINS.
760 ;-
761 000016 .PSECT
762
763 000016 066502 000016 BLXIT:: ADD C.BUF+2(R5),R2 ;POINT TO AREA IN CONBLOK
764 000022 BLXI2:: PUSH R0 ;SAVE BYTE COUNT
765 000024 020100 CMP R1,R0 ;ENOUGH ROOM IN USER BUFFER ?
766 000026 002001 BGE 10$ ;IF GE, YES - USE FULL COUNT
767 000030 010100 MOV R1,R0 ;ELSE, USE REMAINING BUFFER COUNT
768 000032 10$: CALL BLXI1 ;MOVE DATA
769 000036 162601 SUB (SP)+,R1 ;ADJUST REMAINING BUFFER COUNT
770 000040 RETURN ;RETURN TO CALLER
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 23
BLXIO - MOVE DATA BLOCK
772 .SBTTL BLXIO - MOVE DATA BLOCK
773 .SBTTL BLXI1 - ALTERNATE ENTRY
774
775 ;+
776 ; ** - BLXIO - MOVE DATA BLOCK
777 ; ** - BLXI1 - ALTERNATE ENTRY
778 ;
779 ; INPUT:
780 ;
781 ; R0=BYTE COUNT
782 ; R1=SOURCE APR6 BIAS (MAPPED SYSTEMS ONLY) (BLXIO)
783 ; R2=SOURCE ADDRESS/DISPLACEMENT (BLXIO - REFERENCE THROUGH APR6)
784 ; (BLXI1 - REFERENCE THROUGH APR0-APR4)
785 ; R3=DESTINATION APR6 BIAS (MAPPED SYSTEMS ONLY)
786 ; R4=DESTINATION ADDRESS/DISPLACEMENT
787 ;
788 ; OUTPUT:
789 ;
790 ; THE BLOCK OF DATA IS TRANSFERRED FROM THE SOURCE BUFFER
791 ; TO THE DESTINATION BUFFER. ON MAPPED SYSTEMS, THE SOURCE
792 ; BIAS IS CONVERTED FOR APR5 AND THE SYSTEM ROUTINE $BLXIO
793 ; IS CALLED.
794 ;
795 ; R0-R4 MAY BE DESTROYED.
796 ;-
797
798 000042 BLXIO:: ;GLOBAL REFERENCE LABEL
799 .IF DF M$$MGE
800
801 000042 162702 020000 SUB #20000,R2 ;CONVERT SOURCE VIRTUAL ADDRESS TO REFERENCE APR5
802
803 .IFTF
804 000046 BLXI1: ;REFERENCE LABEL
805 .IFT
806
807 000046 SAVRG <R5> ;SAVE REGISTER
808 000050 CALL $BLXIO ;MOVE DATA BLOCK
809 000054 RESRG <R5> ;RESTORE REGISTER
810
811 .IFF
812
813 10$: MOVB (R2)+,(R4)+ ;MOVE DATA BLOCK
814 SOB R0,10$
815
816 .ENDC
817
818 000056 RETURN
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 24
CCBREJ - FORM CONNECT REJECT CCB AND REJECT CONNECTION
820 .SBTTL CCBREJ - FORM CONNECT REJECT CCB AND REJECT CONNECTION
821
822 ;+
823 ; CCBREJ - FORM CONNECT REJECT CCB AND REJECT CONNECTION
824 ;
825 ; A CONNECT REQUEST CCB IS RETURNED TO NSP INDICATING THE DESTINATION
826 ; PROCESS HAS ABORTED OR TIMED-OUT. FOR PENDING VERSION 2 LINKS, THE
827 ; CONNECTION HAS TIMED OUT IN THE GENERAL DELIVERY QUEUE. FOR PENDING
828 ; VERSION 1 LINKS, THE CONNECTION HAS TIMED OUT IN THE PENDING CONNECT
829 ; QUEUE.
830 ;
831 ; INPUT:
832 ;
833 ; R3 = NSP REASON CODE
834 ; R5 -> CONNECT CCB
835 ;
836 ; OUTPUT:
837 ;
838 ; THE CCB IS REFORMATED TO A CONNECT REJECT AND NSP IS CALLED
839 ; TO REJECT THE CONNECTION.
840 ; ALL REGISTERS MAY BE DESTROYED.
841 ;-
842
843 000060 005065 000020 CCBREJ::CLR C.CNT(R5) ;; NO OPTIONAL DATA
844 000064 CALLR USRCRJ ;;REJECT THE CONNECTION
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 25
TLACHK - TEMPORARY LINK ADDRESS CHECKING
846 .SBTTL TLACHK - TEMPORARY LINK ADDRESS CHECKING
847
848 ;+
849 ; TLACHK - CHECK TEMPORARY LINK ADDRESS AND DEQUEUE FROM MAILBOX
850 ; NETWORK DATA QUEUE.
851 ;
852 ; INPUTS:
853 ;
854 ; R3 -> I/O PACKET
855 ; I.FCN = ACC/REJ
856 ; R4 -> MAILBOX
857 ;
858 ; OUTPUTS:
859 ;
860 ; R1 = (NON-ZERO) CCB - VALID TLA
861 ; CI CCB IS UNLINKED FROM TASK MAILBOX NETWORK DATA
862 ; QUEUE.
863 ; R1 = 0
864 ; R0 = ERROR STATUS WORD
865 ; R0 AND R4 ARE DESTROYED.
866 ;-
867
868 000070 .PSECT
869
870 000070 TLACHK::PUSH R5 ;SAVE REGISTER
871 000072 016301 000016G MOV I.PRM+16(R3),R1 ;GET TEMPORARY LINK ADDRESS
872
873 000076 062704 000012 ADD #M.MAIL,R4 ;ADD OFFSET TO NETWORK DATA LISTHEAD
874 000102 PUSH #SCNQUE ;SETUP CO-ROUTINE CALL
875
876 000106 10$: CALL @(SP)+ ;GET NEXT ITEM ON QUEUE
877 000110 103416 BCS 20$ ;IF CS, END OF QUEUE
878 000112 020105 CMP R1,R5 ;THIS ITEM THE SAME AS THE TLA ?
879 000114 001374 BNE 10$ ;IF NE, NO - CONTINUE SCANNING QUEUE
880 000116 026365 000000G 000004 CMP I.TCB(R3),C.NSP(R5) ;TLA'S TCB SAME AS THE ISSUING TASK'S ?
881 000124 001370 BNE 10$ ;IF NE, NO - CONTINUE SCANNING QUEUE
882 000126 132765 000004 000011 BITB #CX.UNL,C.MOD(R5) ;TLA MARKED AS PENDING ?
883 000134 001764 BEQ 10$ ;IF EQ, NO - CONTINUE SCANNING QUEUE
884 ;ELSE, TLA MATCHES THIS CCB
885 000136 CALL REMQUE ;REMOVE THE CCB FROM THE QUEUE
886 000142 005011 CLR (R1) ;CLEAR LINK WORD IN TLA (CCB)
887 000144 000403 BR 30$
888
889 000146 012700 000000C 20$: MOV #IE.BAD&377,R0 ;BAD PARAMETER STATUS
890 000152 005001 CLR R1 ;CLEAR TLA ADDRESS
891 000154 30$: POP R5 ;RECOVER REGISTER AND STACK
892 000156 RETURN ;RETURN TO CALLER
893
894 000001 .END
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 25-1
SYMBOL TABLE
ACKMAS= 170000 CX.GDQ= 000001 ER$NSD= 000003 IE.NNT= 177660 L.DCR 000036
ACKPRE= 100000 CX.REQ= 000002 ER$RES= 000001 IE.NRJ= 177666 L.FLG 000012
ACKRES= 060000 CX.UNL= 000004 ER$SSR= 000000 IE.URJ= 177667 L.LDA 000024
ACKWRA= 010000 C$$CKP= 000000 ER$SSS= 000045 IODUN 000016RG 002 L.LIA 000026
ADDEVT 000472RG 002 C$$ORE= 000400 ER$STA= 000051 IODUN1 000014RG 002 L.LLA 000002
ADDGEN 000416RG 002 C$$RSH= 177564 ER$TCN= 000040 IOFLS 000000RG 002 L.LNG1 000054
ADDGN1 000430RG 002 C.BID 000003 ER$TCO= 000041 IOREDO 000066RG 002 L.LNO 000022
A$$CHK= 000000 C.BUF 000014 ER$TPA= 000010 IOSUC 000010RG 002 L.LSA 000032
A$$CPS= 000000 C.BUF1 000014 ER$UOB= 000004 IS.DAO= 000002 L.LSF 000044
A$$PRI= 000000 C.BUF2 000024 E$$XPR= 000000 IS.SUC= ****** GX L.LVL 000001
A$$TRP= 000000 C.CNT 000020 FC.CCP= 000020 I$$RAR= 000000 L.NDA 000034
A.NAK = 010000 C.CNT1 000020 FC.CTL= 000006 I$$RDN= 000000 L.NIN 000016
BLXIO 000042RG C.CNT2 000030 FC.KCP= 000016 I.LN2 = ****** GX L.NLA 000036
BLXIT 000016RG C.FLG 000022 FC.KIL= 000004 I.PRM = ****** GX L.NSTA 000025
BLXI1 000046R C.FLG1 000022 FC.RCE= 000002 I.TCB = ****** GX L.NXN 000014
BLXI2 000022RG C.FLG2 000032 FC.RCP= 000014 I.UCB = ****** GX L.PDV 000041
CB.CCB= 000002 C.FNC 000010 FC.TIM= 000010 K$$CNT= 177546 L.REM 000006
CB.RDB= 000004 C.LIN 000006 FC.XCP= 000012 K$$CSR= 177546 L.RLA 000010
CCBREJ 000060RG C.LNK 000000 FC.XME= 000000 K$$LDC= 000000 L.RNO 000020
CE.ABO= 100362 C.MOD 000011 FLSHIO 000630RG 002 K$$TPS= 000074 L.STA 000000
CE.DIS= 100366 C.NSP 000004 FLSHMB 000702RG 002 LA.ACK= 100000 L.TC 000042
CE.ERR= 100370 C.RSV 000002 FS.AST= 000000 LA.MSK= 170000 L.TIC 000043
CE.MOP= 100372 C.STA 000007 FS.CIB= 002000 LA.NAK= 110000 L.TIPD 000005
CE.NTE= 100361 C.STS 000012 FS.CRA= 001000 LA.NMS= 010000 L.TIPI 000004
CE.RTE= 100376 DF$ADJ= 020000 FS.DIS= 013000 LA.RES= 060000 L.UDQ 000034
CE.SRC= 100364 DF$DWN= 001000 FS.DVC= 001000 LD$LP = 000000 L.ULA 000040
CE.TMO= 100374 DF$FRE= 070000 FS.ENB= 012000 LF.DFL= 000060 L.USA 000030
CF.EOM= 000004 DF$LCL= 040000 FS.GET= 006000 LF.DSP= 000040 L.USTA 000024
CF.HDR= 000020 DF$LNK= 004000 FS.INI= 000000 LF.DST= 000020 L.XQ1 000046
CF.LB = 100000 DF$REM= 010000 FS.KIL= 000000 LF.FPN= 000010 L.XQ2 000050
CF.SOM= 000010 DF$RES= 002000 FS.LTM= 001000 LF.HF0= 001000 L.XQ3 000052
CF.SYN= 000040 DF$TMP= 100000 FS.MNT= 004000 LF.HMF= 020000 MAPHDR 000000RG
CF.TRN= 000100 D$CHN 000002 FS.MSN= 014000 LF.HSF= 010000 MAPLUN 000122RG 002
CL$ACK= 000040 D$FLG 000000 FS.RNG= 011000 LF.INR= 000100 MA.DA = 000000
CL$MFL= 000010 D$LEN 000014 FS.RTN= 001000 LF.INT= 000400 MA.IL = 000020
CL$NRM= 000020 D$LNG 000005 FS.SET= 005000 LF.LCL= 040000 MC.CC = 000040
CL$SFL= 000004 D$NAM 000006 FS.STM= 000000 LF.MMF= 100000 MC.CI = 000020
CL$TYP= 000001 D$USE 000004 FS.STP= 002000 LF.MSF= 040000 MC.DC = 000100
CL.MU1= 000001 D$$BUG= 177514 FS.STR= 001000 LF.NKR= 000200 MC.DI = 000060
CL.MU2= 000002 D$$ISK= 000000 FS.TRM= 003000 LF.NKS= 000400 MC.NO = 000000
CL.RES= 177774 D$$L11= 000001 FS.XKL= 002000 LF.NPN= 000001 MC.ST = 000120
CS.ABO= 000100 D$$YNC= 000000 FS.XOF= 010000 LF.NTS= 002000 MD.BM = 000040
CS.BUF= 000200 D$$YNM= 000000 FS.XON= 007000 LF.RSU= 100000 MD.EM = 000100
CS.DCR= 000400 ER$ABO= 000046 F$$LVL= 000001 LS.DLS= 000200 MD.ILS= 000040
CS.DEV= 000002 ER$ABT= 000011 GETWB 000146RG 002 LS.FCC= 000004 MD.IM = 000020
CS.DIS= 000040 ER$ACC= 000042 GETWBA 000136RG 002 LS.FC0= 000001 MF.ACK= 000004
CS.ENB= 000020 ER$ACT= 000044 G$$TPP= 000000 LS.FC1= 000002 MF.CTL= 000010
CS.EOF= 000001 ER$CDI= 000052 G$$TSS= 000000 LS.ILS= 000200 MF.DAT= 000000
CS.ERR= 100000 ER$COM= 000047 G$$TTK= 000000 LS.MAK= 000020 MSGHDR= 000007
CS.HFE= 002000 ER$FCF= 000050 G$$WRD= 000000 LS.MNK= 000040 MS.AST= 000010
CS.LST= 040000 ER$FMT= 000005 H.LUN = ****** GX LS.RES= 000360 MS.CIP= 000200
CS.MTL= 004000 ER$GEN= 000007 H.NLUN= ****** GX LS.RSV= 000300 M$$CRB= 000124
CS.RNG= 000010 ER$IFC= 000030 H.NML = ****** GX L$$ASG= 000000 M$$CRX= 000000
CS.ROV= 000004 ER$ILS= 000043 IE.ABO= ****** GX L$$DRV= 000000 M$$FCS= 000000
CS.RSN= 010000 ER$IMG= 000053 IE.BAD= ****** GX L$$P11= 000001 M$$MGE= 000000
CS.SUC= 000001 ER$MLB= 000006 IE.IFC= ****** GX L$$11R= 000000 M$$OVR= 000000
CS.TMO= 020000 ER$NOD= 000002 IE.NDA= 177662 L.CIQ 000026 M.MAIL 000012
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 25-2
SYMBOL TABLE
M.MAX 000007 NO.RTL= 000022 NT.MOD= 000020 PF$EIP= 000100 SCNQUE 000266RG 002
M.MBL = 000016 NO.TAS= 000000 NT.MOM= 000000 PF$ENB= 000200 SPRAST 000542RG 002
M.NAST 000005 NO.TCL= 000017 NT.MOP= 000010 PF$OFF= 000000 ST$CC = 000002
M.NEXT 000000 NO.TC1= 000005 NT.NAK= 000002 PF$RLI= 000002 ST$CIR= 000003
M.SPA 000010 NO.TLK= 000020 NT.NFL= 000000 PF$RRI= 000004 ST$CIS= 000001
M.STAT 000004 NP$RTR= 000003 NT.SFL= 000001 PF$RVE= 000001 ST$DAT= 000005
M.TASK 000002 NR$IFC= 000030 NT.SOL= 000140 PF$RVR= 000040 ST$DID= 000015
M.USE 000006 NS.BOM= 000040 NT.XOF= 000004 PF$SLI= 000002 ST$DIP= 000006
NC.FM0= 000000 NS.EOM= 000100 NT.XON= 000010 PF$SRI= 000004 ST$DIR= 000012
NC.FM1= 000001 NS.MFL= 000003 N$ACQ 000000 PF$SRT= 000001 ST$DIS= 000014
NC.FM2= 000002 NS.MOM= 000000 N$ICF 000006 PF$STA= 000003 ST$UDI= 000013
NETTIM= 000005 NS.NFL= 000001 N$LNI 000010 PF$SUB= 000010 ST$UNR= 000011
NE$ABO= 000046 NS.SET= 000002 N$LVC 000022 PF$UP = 000001 S$EMR 000006
NE$ABT= 000011 NS.SFL= 000002 N$NOD 000032 PS$NTI= 000003 S$FMT 000012
NE$ACC= 000042 NS.SOL= 000140 N$PLD 000026 PS$OFF= 000000 S$LEN 000040
NE$ACT= 000044 NS.SUC= 000001 N$STS 000042 PS$STR= 000001 S$LNK 000022
NE$CDI= 000052 NT$ABO= 000022 N$TCB 000004 PS$UP = 000005 S$MLK 000024
NE$COM= 000047 NT$ACC= 000002 N$TMP 000012 PS$VER= 000004 S$NKS 000010
NE$FCF= 000050 NT$ADS= 000000 N$VER 000036 PS$WT = 000002 S$RES 000014
NE$FMT= 000005 NT$AKD= 000016 N$$DAT= 000030 P$CHN 000004 S$SEC 000000
NE$GEN= 000007 NT$AKI= 000020 N$$DIS= 000020 P$CNT 000005 S$SNI 000016
NE$ILS= 000043 NT$CC = 000012 N$$INT= 000020 P$FRQ 000012 S$UMR 000004
NE$IMG= 000053 NT$CON= 000000 N$$LDV= 000001 P$FSP 000013 S$UMS 000002
NE$MLB= 000006 NT$DAT= 000002 N$$MOV= 000010 P$LCD 000002 S$UNI 000020
NE$NOD= 000002 NT$DIS= 000010 N$$OPT= 000020 P$LEN 000014 S$$WRG= 000000
NE$NSD= 000003 NT$IDC= 000034 N$$OVR= 000042 P$LST 000000 S$$YSZ= 007600
NE$RES= 000001 NT$IDN= 000030 N$$SYS= 000001 P$NOD 000010 TDISP 001004R 002
NE$SSR= 000000 NT$ILN= 000032 N$$USR= 000001 P$PFQ 000006 TLACHK 000070RG
NE$SSS= 000045 NT$IND= 000024 N.ACNT 000116 P$TIM 000003 T$$KMG= 000000
NE$STA= 000051 NT$INL= 000026 N.ACTL 000114 P$$P45= 000000 T$$MIN= 000000
NE$TCN= 000040 NT$INT= 000004 N.DDL1 000012 P$$WRD= 000000 T.PCB = ****** GX
NE$TCO= 000041 NT$LS = 000014 N.DDL2 000016 P.HDR = ****** GX T.RCVL= ****** GX
NE$TPA= 000010 NT$MOD= 000012 N.DDS1 000014 Q$$OPT= 000010 USRCRJ= ****** GX
NE$UOB= 000004 NT$NAK= 000022 N.DDS2 000020 REMQUE 000312RG 002 USRRCI= ****** GX
NE.ABO= 177776 NT$OFF= 000026 N.DFMT 000010 REMULA 000174RG 002 VF$RCV= 100000
NE.ACT= 177771 NT$ON = 000002 N.DGRP 000012 RF.CLN= 000000 VF$XMT= 040000
NE.CLS= 177767 NT$QRY= 000014 N.DOBJ 000011 RF.CTL= 000003 V$FLG 000000
NE.DIS= 177777 NT$REJ= 000004 N.DUSR 000014 RF.TIM= 177400 V$LEN 000022
NE.FMT= 177770 NT$ROU= 000022 N.LGTH= 000160 RF.TM0= 000400 V$RCV 000002
NE.NDT= 177766 NT$RTI= 000010 N.NODE 000000 RF.WTD= 000020 V$XMT 000012
NE.NOD= 177774 NT$RTN= 000000 N.OPDL 000136 RF.WTM= 000030 V$$CTR= 001000
NE.REJ= 177775 NT$SNG= 000006 N.OPTD 000140 RF.WTS= 000010 V.CULT 000004
NE.RES= 177773 NT$STP= 000004 N.PASL 000102 RH.CNT= 000001 V.GENQ 000016
NE.TIM= 177772 NT$XOF= 000020 N.PASS 000104 RH.EFM= 000020 V.MBXQ 000012
NI.FLI= 000002 NT$XON= 000016 N.RQDL 000060 RH.HDR= 000002 V.TIME 000003
NI.FRI= 000004 NT.ABO= 000005 N.RQID 000062 RH.PRI= 000014 V.TIMR 000002
NI.FRT= 000001 NT.ABT= 000004 N.RSRV= 000030 RH.PR1= 000004 V.TRCT 000000
NI.FUB= 000010 NT.ACK= 000001 N.SDL1 000036 RH.RFM= 000100 V.ULT 000006
NI.INI= 000001 NT.BOM= 000040 N.SDL2 000042 RMCON 001026RG 002 V.ULTE 000010
NI.RLI= 000002 NT.CON= 000001 N.SDS1 000040 RMDIS 001074RG 002 V.VBL = 000026
NI.RRI= 000004 NT.DSC= 000003 N.SDS2 000056 RMINT 001060RG 002 V.1CPQ 000022
NI.RVE= 000001 NT.EOM= 000100 N.SEG 000006 RMMOP 001116RG 002 WINDOW= 004000
NI.VER= 000002 NT.FCN= 037400 N.SFMT 000034 R$$DER= 000000 WS.DIC= 000004
NO.DTR= 000077 NT.INT= 000002 N.SGRP 000036 R$$K11= 000001 WS.DIP= 000100
NO.FAL= 000021 NT.LOG= 000011 N.SOBJ 000035 R$$SND= 000000 WS.EST= 000002
NO.FA1= 000001 NT.MD1= 000420 N.SUSR 000040 R$$11M= 000000 WS.INT= 000040
NO.NCU= 000023 NT.MFL= 000002 PD$NSP= ****** GX SCNLUN 000336RG 002 WS.KIP= 000200
NSSUB MACRO M1110 13-OCT-79 10:26 PAGE 25-3
SYMBOL TABLE
WS.MOD= 000010 W.LLA 000010 W.STAT 000004 $CALLX= ****** GX $NSQUF= ****** GX
WS.STA= 000020 W.LUN 000007 W.TASK 000002 $CCBCL= ****** GX $NSRQF= ****** GX
WS.VE1= 000001 W.MBOX 000016 W.ULA 000011 $CCBRT= ****** GX $NSUCB= ****** GX
W.CCBU 000006 W.MODC 000005 W.WBL = 000040 $DEACB= ****** GX $NSVCB= ****** GX
W.CINT 000032 W.PIO 000014 X$$DBT= 000000 $IFCER 000052RG 002 $QASTT= ****** GX
W.CSND 000020 W.RCVQ 000026 $ALOCB= ****** GX $IOFIN= ****** GX $SAVAL= ****** GX
W.CTL 000000 W.SEGZ 000012 $BLXIO= ****** GX $MPLNE= ****** GX $TKTCB= ****** GX
W.INTQ 000034 W.SNDQ 000022
. ABS. 000160 000
000160 001
$NSACP 001136 002
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 21368 WORDS ( 84 PAGES)
DYNAMIC MEMORY: 20620 WORDS ( 79 PAGES)
ELAPSED TIME: 00:00:56
NSSUB,[131,34]NSSUB/CR/-SP=[130,10]NETLIB/ML,RSXMC4/PA:1,[131,10]NSSUB
NSSUB CREATED BY MACRO ON 13-OCT-79 AT 10:27 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ADDEVT 000472 RG #14-486
ADDGEN 000416 RG #13-447 18-664 21-735
ADDGN1 000430 RG #13-449
BLXIO 000042 RG #23-798
BLXIT 000016 RG #22-763
BLXI1 000046 R 22-768 #23-804
BLXI2 000022 RG #22-764
CCBREJ 000060 RG 18-662 #24-843
CX.GDQ = 000001 13-449 18-657 21-729
CX.REQ = 000002 13-447
CX.UNL = 000004 25-882
C.BUF 000014 20-706 22-763
C.CNT 000020 *24-843
C.FNC 000010 17-619
C.LIN 000006 9-288
C.MOD 000011 *13-447 *13-449 17-611 18-657 21-729 25-882
C.NSP 000004 25-880
ER$ABO = 000046 18-661
FLSHIO 000630 RG #16-567
FLSHMB 000702 RG #17-603
GETWB 000146 RG #9-290
GETWBA 000136 RG #9-287
H.LUN = ****** GX 8-261
H.NLUN = ****** GX 12-413
H.NML = ****** GX 12-421
IE.ABO = ****** GX 4-112
IE.BAD = ****** GX 25-889
IE.IFC = ****** GX 5-171
IODUN 000016 RG #4-120
IODUN1 000014 RG #4-118 5-172
IOFLS 000000 RG #4-112 16-579
IOREDO 000066 RG #6-198
IOSUC 000010 RG #4-116
IS.SUC = ****** GX 4-116
I.LN2 = ****** GX 4-120
I.PRM = ****** GX *4-122 25-871
I.TCB = ****** GX 7-230 25-880
I.UCB = ****** GX 4-142
MAPHDR 000000 RG #7-230
MAPLUN 000122 RG #8-259 10-333
MS.AST = 000010 14-498 15-539
MS.CIP = 000200 14-487
M$$MGE = 000000 19-684 19-684 23-799
M.MAIL 000012 14-491 *14-492 17-606 *17-618 25-873
M.NAST 000005 *14-499 *15-537
M.SPA 000010 14-494 15-531
M.STAT 000004 14-487 *14-498 *15-539
M.TASK 000002 14-497
M.USE 000006 *18-656
PD$NSP = ****** GX 19-684
P.HDR = ****** GX 7-232 10-331
REMQUE 000312 RG #11-377 25-885
NSSUB CREATED BY MACRO ON 13-OCT-79 AT 10:27 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
REMULA 000174 RG #10-322
RMCON 001026 RG 17-628 #18-656
RMDIS 001074 RG 17-630 17-631 17-632 #20-705
RMINT 001060 RG 17-629 #19-683
RMMOP 001116 RG 17-634 17-635 #21-729
RSX11D = ****** 19-684 19-684
SCNLUN 000336 RG #12-408
SCNQUE 000266 RG #11-366 25-874
SPRAST 000542 RG #15-523
TDISP 001004 R 17-622 #17-628
TLACHK 000070 RG #25-870
T.PCB = ****** GX 7-231 10-330
T.RCVL = ****** GX 6-199
USRCRJ = ****** GX 24-844
USRRCI = ****** GX 19-684
V$$ER1 = ****** 3-1 3-2 4-125 10-324
V.GENQ 000016 13-451 *13-452
V.TIME 000003 13-456
V.TIMR 000002 13-454 *13-456
V.ULT 000006 9-293 10-338
W.CSND 000020 16-568
W.LUN 000007 10-332
W.TASK 000002 10-329
W.ULA 000011 10-335
W.WBL = 000040 10-342
$ALOCB = ****** GX 15-525
$BLXIO = ****** GX 23-808
$CALLX = ****** GX 19-684
$CCBCL = ****** GX 21-732
$CCBRT = ****** GX 17-633 17-633 20-708 20-710
$DEACB = ****** GX 10-343
$IFCER 000052 RG #5-169
$IOFIN = ****** GX 4-143
$MPLNE = ****** GX 12-415
$NSQUF = ****** GX *6-205
$NSRQF = ****** GX *13-448
$NSUCB = ****** GX 12-417
$NSVCB = ****** GX 9-292 10-337 13-450
$QASTT = ****** GX 15-535
$SAVAL = ****** GX 10-322 16-567 17-603
$TKTCB = ****** GX 6-198
NSSUB CREATED BY MACRO ON 13-OCT-79 AT 10:27 PAGE 3
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
CALL 4-143 5-169 10-322 10-333 10-343 11-373 12-415 12-424 15-525 15-535
16-567 16-570 16-571 16-579 17-603 17-622 20-708 22-768 23-808 25-876
25-885
CALLC #3-47 #19-684
CALLR #18-662 #18-664 #20-710 #21-732 #21-735 #24-844
CALLX #3-47 19-684
CCBDF$ #3-47 3-48
DVBDF$ #3-51 #3-54
LLWDF$ #3-51 3-53
MAP #3-47
MBXDF$ #3-51 #3-52
MOVBNS #3-76 9-288 10-332 10-335 17-619
NSPSY$ #3-47 3-49
NSSYM$ #3-51 #3-55
POP #3-70 4-144 11-381 11-382 20-709 25-891
PUSH #3-64 #4-123 #11-366 #20-705 #22-764 #25-870 #25-874
RESRG #3-47 15-541 17-623 23-809
RETURN 4-145 5-174 6-206 7-233 8-263 9-298 10-344 11-383 12-429 13-457
15-544 16-585 17-626 19-685 22-770 23-818 25-892
SAVRG #3-47 9-291 15-523 17-620 23-807
SWSTK$ #5-169
$MVTBF #3-47