Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/mcb/nxsys.list
There are no other files named nxsys.list in the archive.
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 3
1 .TITLE NXSYS
2 .IDENT /V01.01/
3
4 ;
5 ; COPYRIGHT (C) 1978 BY
6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
7 ;
8 ;
9 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
10 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
11 ; INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
12 ; COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
13 ; OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
14 ; TRANSFERRED.
15 ;
16 ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
17 ; AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
18 ; CORPORATION.
19 ;
20 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
21 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
22 ;
23 ;
24 ; MODULE DESCRIPTION
25 ;
26 ; DLX SYSTEM DATA BASE PROCESSING
27 ;
28 ;
29 ; DISTRIBUTED SYSTEMS SOFTWARE ENGINEERING
30 ;
31 ; IDENT HISTORY:
32 ;
33 ; 1.00 10-FEB-78
34 ; VERSION 2.0 RELEASE
35 ;
36 ; 1.01 30-JUL-78 ALAN D. PECKHAM
37 ; INCLUDE NICE FUNCTIONS
38 ;
39
40 ; EXTERNAL MACRO DEFINITIONS
41 ;
42 .MCALL CCBDF$,PDVDF$,SLTDF$
43 000000 CCBDF$ ; DEFINE THE CCB OFFSETS
44 000000 PDVDF$ ; DEFINE THE PDV OFFSETS
45 000000 SLTDF$ ; DEFINE THE SLT OFFSETS
46 ;
47 ; LOCAL SYMBOL DEFINITIONS
48 ;
49 ;
50 ; PARAMETER BLOCK OFFSET DEFINITIONS
51 ;
52 000014 .ASECT
53 000000 .=0
54 000000 TNAM: .BLKW 1 ; RAD50 PROCESS NAME
55 000002 TCTL: .BLKB 1 ; CONTROLLER NUMBER
56 000003 TLIN: .BLKB 1 ; LINE NUMBER ON CONTROLLER
57 000004 TSTA: .BLKB 1 ; MULTIPOINT STATION ADDRESS
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 3-1
58 000005 .BLKB 1 ; RESERVED
59 000006 TFLG: .BLKB 1 ; PROCESS FLAGS
60 000007 TPDV: .BLKB 1 ; PROCESS INDEX
61 000010 TSLN: .BLKW 1 ; SYSTEM LINE NUMBER AND LOGICAL STATION
62 000012 TSLF: .BLKW 1 ; SYSTEM LINE TABLE FLAGS
63 000014 TDDM: .BLKB 1 ; DDM PROCESS INDEX
64 000015 TDLC: .BLKB 1 ; DLC PROCESS INDEX
65 000016 TASN: .BLKW 1 ; CURRENT ASSIGNMENT (PDV & CHAN)
66 000000 .PSECT
67
68 ;
69 ; PDV CHANNEL TABLE FLAG DEFINITIONS
70 ;
71 100000 ZF.ASN = 100000 ; CHANNEL IS FREE TO ASSIGN
72 140000 ZF.BSY = 140000 ; CHANNEL IS IN PROCESS OF ASSIGNMENT
73
74 ;
75 ; STATUS VAULES FOR CONTROL FUNCTIONS
76 ;
77 000001 STOP = 1 ; PARTIAL SHUTDOWN - STOP ONLY
78 000000 OFF = 0 ; FULL SHUTDOWN - STOP AND DISABLE
79
80 ;
81 ; FOR START ENABLE
82 ;
83 000004 STRT = 4 ; STARTUP
84
85 ;
86 ; FOR STOP COMPLETE AND START ENABLE
87 ;
88 000000 LDIS = 0 ; LINE IS DISABLED
89 000001 LENB = 1 ; LINE IS ENABLED
90 000002 ENBX = 2 ; LINE ENABLE CONTROL
91
92 ;
93 ; CONTROL PROCESSING STATE DEFINITIONS
94 ;
95 000000 STRE1 = 0 ; REASSIGN - DO ASSIGNMENT NEXT
96 000002 STRE2 = 2 ; REASSIGN - FINISH REQUEST WITH ALTERNATE STATUS
97 000004 STOF1 = 4 ; OFF - CLEAR LF.ACT AND COMPLETE REQUEST
98 000006 STDE1 = 6 ; DEASSIGN - CLEANUP DATA BASE, CLEAR LF.ACT AND COMPLET
99 000010 STDON = 10 ; ASSIGN - COMPLETE REQUEST (USED FOR ON ALSO)
100 ;
101 ; LOCAL DATA
102 ;
103 000000 TDATA: .BLKW 8. ; PARAMETER BLOCK
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 4
105 ;+
106 ; **-FNDLN-FIND A LINE-ID IN THE SYSTEM DATA BASES
107 ;
108 ; INPUTS:
109 ;
110 ; R3 = ADDRESS OF AN I/O PACKET CONTAINING A DOUBLE WORD STRING
111 ; POINTER AND LENGTH.
112 ; R5 = ADDRESS OF AN 8 WORD OUTPUT PARAMETER BLOCK
113 ;
114 ; OUTPUTS:
115 ;
116 ; C-BIT CLEAR:
117 ; R3 = ADDRESS OF THE I/O PACKET
118 ; R5 = ADDRESS OF THE 8 WORD PARAMETER BLOCK FORMATTED AS FOLLOWS:
119 ; WD 0 RAD50 PROCESS NAME
120 ; WD 1 LINE NUMBER CONTROLLER NUMBER
121 ; WD 2 RESERVED STATION NUMEBR
122 ; WD 3 PDV INDEX PDV FLAGS
123 ;
124 ; FOR A DDM:
125 ;
126 ; WD 4 STATION SYSTEM LINE
127 ; WD 5 SYSTEM LINE TABLE FLAGS
128 ; WD 6 DLC INDEX DDM INDEX
129 ; WD 7 PDV ASSIGNED CHANNEL ASSIGNED
130 ;
131 ; FOR AN LLC OR A DLC:
132 ;
133 ; WD 4 - WD 7 UNDEFINED
134 ;
135 ; C-BIT SET:
136 ; LINE-ID CANNOT BE FOUND IN THE SYSTEM
137 ;
138 ; REGISTERS MODIFIED:
139 ;
140 ; NONE
141 ;-
142
143 000020 010446 FNDLN:: MOV R4,-(SP) ; SAVE R4
144 000022 005015 CLR (R5) ; INITIALIZE OUTPUT AREA FOR CONVERSION
145 000024 005065 000002 CLR 2(R5) ; ...
146 000030 005064 000004 CLR 4(R4) ; ...
147
148 .IF DF M$$MGE
149
150 000034 016367 000000G 000000G MOV I.PRM(R3),KISAR6 ; MAP TO THE USER LINE-ID STRING
151
152 .ENDC
153
154 000042 016300 000002G MOV I.PRM+2(R3),R0 ; GET VIRTUAL ADDRESS OF LINE-ID STRING
155 000046 016304 000004G MOV I.PRM+4(R3),R4 ; GET LENGTH OF THE STRING
156 000052 060004 ADD R0,R4 ; COMPUTE THE ADDRESS OF THE STRING END + 1
157 000054 CALL CAT5 ; CONVERT PROCESS NAME TO RAD50
158 000060 103433 BCS 20$ ; IF CS, ILLEGAL CHARACTER - ERROR
159 000062 010165 000000 MOV R1,TNAM(R5) ; STORE RAD50 NAME
160 000066 005702 TST R2 ; END OF THE STRING ?
161 000070 001025 BNE 10$ ; IF NE, YES - LOOK FOR THE LINE-ID
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 4-1
162 000072 CALL COTB ; CONVERT CONTROLLER NUMBER
163 000076 103424 BCS 20$ ; IF CS, ILLEGAL CHARACTER - ERROR
164 000100 110165 000002 MOVB R1,TCTL(R5) ; STORE RESULT IN PARAMETER BLOCK
165 000104 005702 TST R2 ; END OF THE STRING ?
166 000106 001016 BNE 10$ ; IF NE, YES - LOOK FOR THE LINE-ID
167 000110 CALL COTB ; CONVERT LINE NUMBER
168 000114 103415 BCS 20$ ; IF CS, ILLEGAL CHARACTER - ERROR
169 000116 110165 000003 MOVB R1,TLIN(R5) ; STORE RESULT IN PARAMETER BLOCK
170 000122 005702 TST R2 ; END OF THE STRING ?
171 000124 001007 BNE 10$ ; IF NE, YES - LOOK FOR THE LINE-ID
172 000126 CALL COTB ; CONVERT STATION ADDRESS
173 000132 103406 BCS 20$ ; IF CS, ILLEGAL CHARACTER - ERROR
174 000134 110165 000004 MOVB R1,TSTA(R5) ; STORE RESULT IN PARAMETER BLOCK
175 000140 005702 TST R2 ; END OF THE STRING ?
176 000142 001402 BEQ 20$ ; IF EQ, NO - ERROR, SHOULD BE AT THE END
177 000144 10$: CALL FNDLA ; SEARCH FOR THE LINE-ID IN THE SYSTEM
178 ; THE C-BIT MAY BE SET BY FNDLA
179 000150 012604 20$: MOV (SP)+,R4 ; RESTORE R4
180 000152 RETURN ; RETURN TO CALLER
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 5
182
183 ;+
184 ; **-CAT5-CONVERT ASCII TO RAD50
185 ;
186 ; INPUTS:
187 ;
188 ; R0 = ADDRESS OF FIRST BYTE IN STRING
189 ; R4 = ADDRESS OF THE END OF THE STRING + 1
190 ;
191 ;
192 ; OUTPUTS:
193 ;
194 ; C-BIT CLEAR:
195 ; R0 = ADDRESS OF NEXT BYTE IN STRING
196 ; R1 = CONVERTED RESULT
197 ; R2 = COMPLETION CODE (0 = MORE IN THE STRING)
198 ; (NOT 0 = NO MORE IN THE STRING)
199 ;
200 ; C-BIT SET:
201 ; ILLEGAL CHARACTER IN THE STRING
202 ;
203 ; REGISTERS MODIFIED:
204 ;
205 ; NONE
206 ;-
207
208 000154 003100 CVTBL: .WORD 50*50
209 000156 000050 .WORD 50
210 000160 000001 .WORD 1
211
212 000162 010546 CAT5: MOV R5,-(SP) ; SAVE REGISTERS
213 000164 005046 CLR -(SP) ; ESTABLISH EXIT CONDITION FLAG
214 000166 005001 CLR R1 ; CLEAR ACCUMULATION
215 000170 012702 000154' MOV #CVTBL,R2 ; SET ADDRESS OF SCALING TABLE
216 000174 112005 10$: MOVB (R0)+,R5 ; GET A CHARACTER
217 000176 020400 CMP R4,R0 ; REACHED THE END OF THE STRING ?
218 000200 103435 BLO 30$ ; IF LO, YES - END OF THE STRING
219 000202 122705 000132 CMPB #'Z,R5 ; IS IT ALPHABETIC ? (BELOW Z)
220 000206 103425 BLO 20$ ; IF LO, NO - ERROR
221 000210 122705 000101 CMPB #'A,R5 ; IS IT BELOW A ?
222 000214 101022 BHI 20$ ; IF HI, YES - ERROR
223 000216 162705 000100 SUB #100,R5 ; SCALE TO RAD50
224 000222 010046 MOV R0,-(SP) ; SAVE R0
225 000224 012200 MOV (R2)+,R0 ; GET SCALE FACTOR
226 000226 010146 MOV R1,-(SP) ; SAVE R1
227 000230 010501 MOV R5,R1 ; COPY CHARACTER
228 000232 CALL $MUL ; MULTIPLY IT OUT
229 000236 010105 MOV R1,R5 ; COPY RESULT
230 000240 012601 MOV (SP)+,R1 ; RESTORE ACCUMULATION
231 000242 012600 MOV (SP)+,R0 ; RESTORE STRING POINTER
232 000244 060501 ADD R5,R1 ; ACCUMULATE THE RESULT
233 000246 020227 000162' CMP R2,#CVTBL+6 ; CONVERTED ENOUGH ?
234 000252 103750 BLO 10$ ; IF LO, NO - KEEP GOING
235 000254 112005 MOVB (R0)+,R5 ; OTHERWISE GET TERMINATING CHARACTER
236 000256 020400 CMP R4,R0 ; REACHED THE END OF THE STRING ?
237 000260 103405 BLO 30$ ; IF LO, YES
238
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 5-1
239 000262 122705 000137 20$: CMPB #'_,R5 ; IS THE CHARACTER A LEGAL TERMINATOR ?
240 000266 001403 BEQ 40$ ; IF EQ, YES - RETURN SUCCESS CODE
241 000270 000261 SEC ; OTHERWISE INDICATE AN ERROR
242 000272 000402 BR 50$ ;
243
244 000274 010616 30$: MOV SP,(SP) ; MARK THE END OF THE STRING
245
246 000276 000241 40$: CLC ; INDICATE SUCCESSFUL CONVERSION
247 000300 012602 50$: MOV (SP)+,R2 ; RESTORE REGISTERS
248 000302 012605 MOV (SP)+,R5 ; SET EXIT CONDITION CODES
249 000304 RETURN ; RETURN TO CALLER
250
251 ;+
252 ; **-COTB-CONVERT OCTAL TO BINARY
253 ;
254 ; INPUTS:
255 ;
256 ; R0 = ADDRESS OF THE FIRST CHARACTER TO CONVERT
257 ; R4 = ADDRESS OF THE END OF THE STRING + 1
258 ;
259 ; OUTPUTS:
260 ;
261 ; C-BIT CLEAR:
262 ; R0 = ADDRESS OF THE NEXT CHARACTER IN THE STRING
263 ; R1 = CONVERTED RESULT
264 ; R2 = COMPLETION CODE (0 = MORE IN THE STRING)
265 ; (NOT 0 = END OF THE STRING)
266 ;
267 ; C-BIT SET:
268 ; ILLEGAL CHARACTER IN THE STRING
269 ;
270 ; REGISTERS MODIFIED:
271 ;
272 ; NONE
273 ;-
274
275 000306 005046 COTB: CLR -(SP) ; SET COMPLETION FLAGS
276 000310 005001 CLR R1 ; CLEAR ACCUMULATION
277 000312 112002 10$: MOVB (R0)+,R2 ; GET THE NEXT CHARACTER
278 000314 020400 CMP R4,R0 ; REACHED THE END OF THE STRING ?
279 000316 103420 BLO 20$ ; IF LO, YES - EXIT WITH RESULT
280 000320 122702 000137 CMPB #'_,R2 ; IS THE CHARACTER A LEGAL TERMINATOR ?
281 000324 001416 BEQ 30$ ; IF EQ, YES - EXIT WITH RESULT
282 000326 162702 000060 SUB #'0,R2 ; NORMALIZE THE CHARACTER
283 000332 020227 000010 CMP R2,#8. ; IS IT WITHIN RANGE ?
284 000336 103014 BHIS 40$ ; IF HIS, NO - EXIT WITH ERROR
285 000340 010046 MOV R0,-(SP) ; SAVE THE STRING POINTER
286 000342 012700 000010 MOV #8.,R0 ; SET THE MULTIPLICAND
287 000346 CALL $MUL ; MULTIPLY 'EM UP
288 000352 012600 MOV (SP)+,R0 ; RESTORE THE STRING POINTER
289 000354 060201 ADD R2,R1 ; ACCUMULATE THE RESULT
290 000356 000755 BR 10$ ; CONTINUE
291
292 000360 010616 20$: MOV SP,(SP) ; SET THE STRING END INDICATOR
293
294 000362 022701 000400 30$: CMP #256.,R1 ; IS THE RESULT WITH A BYTE QUANTITY ?
295 000366 101002 BHI 50$ ; IF HI, YES - EXIT WITH RESULT
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 5-2
296 000370 000261 40$: SEC ; INDICATE ILLEGAL CHARACTER IN STRING
297 000372 000401 BR 60$ ; OR RESULT OUT OF RANGE
298
299 000374 000241 50$: CLC ; INDICATE SUCCESSFUL CONVERSION
300 000376 012602 60$: MOV (SP)+,R2 ; SET COMPLETION CONDITIONS
301 000400 RETURN ; RETURN TO CALLER
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 6
303 ;+
304 ; **-ASSGN-ASSIGN A LINE TO AN LLC PROCESS
305 ;
306 ; INPUTS:
307 ;
308 ; R0 = TARGET PDV & CHANNEL
309 ; R1 = ADDRESS OF CHANNEL ENTRY IN TARGET PDV
310 ; R2 = SLN & STA PAIR OF LINE-ID
311 ;
312 ; OUTPUTS:
313 ;
314 ; THE COMM SYSTEM DATA BASES ARE MODIFIED TO REFLECT THE
315 ; NEW LINE ASSIGNMENT AND THE SYSTEM LINE IS MAKED ACTIVE.
316 ;
317 ; REGISTERS MODIFIED:
318 ;
319 ; NONE
320 ;-
321
322 000402 004567 000042 ASSGN:: JSR R5,COASN ; CO-ROUTINE TO COMPUTE ADDRESS IN MAPPING TABLE
323 000406 010015 MOV R0,(R5) ; STORE NEW PDV & CHAN ASSIGNMENT IN MAPPING TABLE
324 000410 010211 MOV R2,(R1) ; STORE NEW SLN & STA IN PDV MAPPING TABLE
325 ; CONTINUE IN LINE TO SET 'LF.ACT' IN THE SLT
326
327 ;+
328 ; **-STACT-SET THE SYSTEM LINE ACTIVE
329 ;
330 ; INPUTS:
331 ;
332 ; R2 = SLN & STA PAIR OF THE LINE-ID
333 ;
334 ; OUTPUTS:
335 ;
336 ; 'LF.ACT' IS SET FOR THE APPROPRIATE SYSTEM LINE NUMBER
337 ;
338 ; REGISTERS MODIFIED:
339 ;
340 ; R5
341 ;-
342
343 000412 STACT: CALL STSLT ; COMPUTE ADDRESS IN THE SLT
344 000416 052715 100000 BIS #LF.ACT,(R5) ; MARK THE LINE ACTIVE (ASSIGNED TO AN LLC)
345 000422 RETURN ; RETURN TO CALLER
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 7
347 ;+
348 ; **-DEASN-DEASSIGN A LINE FROM AN LLC PROCESS
349 ;
350 ; INPUTS:
351 ;
352 ; R1 = ADDRESS OF CHANNEL ENTRY IN TARGET PDV
353 ; R2 = SLN & STA PAIR OF LINE-ID
354 ;
355 ; OUTPUTS:
356 ;
357 ; THE COMM SYSTEM DATA BASES ARE MODIFIED TO REFLECT THE
358 ; LINE DEASSIGNMENT AND THE SYSTEM LINE IS MARKED INACTIVE.
359 ;
360 ; REGISTERS MODIFIED:
361 ;
362 ; NONE
363 ;-
364
365 000424 004567 000020 DEASN:: JSR R5,COASN ; COMPUTE MAPPING TABLE ADDRESS
366 000430 012711 100000 MOV #100000,(R1) ; MARK CHANNEL FREE
367 000434 005015 CLR (R5) ; MARK SLN & STATION FREE
368 ; CONTINUE IN LINE TO CLEAR 'LF.ACT' IN THE SLT
369
370 ;+
371 ; **-CLACT-CLEAR ACTIVE FOR A SYSTEM LINE
372 ;
373 ; INPUTS:
374 ;
375 ; R2 = SLN & STA PAIR OF THE LINE-ID
376 ;
377 ; OUTPUTS:
378 ;
379 ; 'LF.ACT' IS CLEARED FOR THE APPROPRIATE SYSTEM LINE NUMBER.
380 ;
381 ; REGISTERS MODIFIED:
382 ;
383 ; R5
384 ;-
385
386 000436 CLACT: CALL STSLT ; COMPUTE THE ADDRESS IN THE SLT
387 000442 042715 100000 BIC #LF.ACT,(R5) ; MARK THE LINE INACTIVE (NOT ASSIGNED TO AN LLC)
388 000446 RETURN ; RETURN TO CALLER
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 8
390 ;+
391 ; **-COASN-COROUTINE TO COMPUTE ADDRESSES IN THE DATA BASE
392 ;
393 ; INPUTS:
394 ;
395 ; R2 = SLN & STATION NUMBER PAIR
396 ;
397 ; OUTPUTS:
398 ;
399 ; R5 = ADDRESS OF THE SYSTEM LINE ENTRY IN THE REVERSE MAPPING TABLE
400 ;
401 ;-
402
403 000450 010546 COASN: MOV R5,-(SP) ; SAVE RETURN ADDRESS (R5 SAVED BY JSR R5)
404 000452 010205 MOV R2,R5 ; COMPUTE THE ADDRESS IN THE REVERSE MAPPING TABLE
405 000454 042705 177400 BIC #^C<377>,R5 ; ...EXTRACT SLN
406 000460 006305 ASL R5 ; MAKE SLN AN INDEX
407 000462 066705 000000G ADD $LLCTA,R5 ; COMPUTE ADDRESS IN THE REVERSE MAPPING TABLE
408 000466 CALL @(SP)+ ; CALL BACK THE CALLER
409 000470 012605 MOV (SP)+,R5 ; RESTORE R5
410 000472 RETURN ; RETURN TO CALLER
411
412 ;+
413 ; **-STSLN-COMPUTE ADDRESS IN THE SYSTEM LINE TABLE
414 ;
415 ; INPUTS:
416 ;
417 ; R2 = SLN & STA PAIR OF THE LINE-ID
418 ;
419 ; OUTPUTS:
420 ;
421 ; R5 = ADDRESS OF THE SYSETM LINE TABLE ENTRY FOR THE SLN & STA PAIR
422 ;
423 ; REGISTERS MODIFIED:
424 ;
425 ; NONE
426 ;-
427
428 000474 010046 STSLT: MOV R0,-(SP) ; PRESERVE THE REGISTERS NEEDED FOR MULTIPLY
429 000476 010146 MOV R1,-(SP) ; ...
430 000500 010200 MOV R2,R0 ; COMPUTE THE ADDRESS IN THE SLT
431 000502 042700 177400 BIC #^C<377>,R0 ; ...EXTRACT THE SLN
432 000506 012701 000014 MOV #L.LEN,R1 ; SET THE SLT ENTRY LENGTH
433 000512 CALL $MUL ; COMPUTE THE OFFSET INTO THE SLT
434 000516 066701 000000G ADD $SLTTA,R1 ; COMPUTE THE ADDRESS
435 000522 010105 MOV R1,R5 ; COPY THE SLT ADDRESS
436 000524 012601 MOV (SP)+,R1 ; RESTORE THE REGISTERS
437 000526 012600 MOV (SP)+,R0 ; ...
438 000530 RETURN ; RETURN TO CALLER
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 9
440 ;+
441 ; **-MAPAD-COMPUTE THE ADDRESS IN THE PDV CHANNEL MAPPING TABLE
442 ;
443 ; INPUTS:
444 ;
445 ; R0 = PDV & CHANNEL NUMBER
446 ;
447 ; OUTPUTS;
448 ;
449 ; R1 = ADDRESS OF THE MAPPING POINTER FOR THE PDV & CHANNEL
450 ; R2 = ADDRESS OF THE PDV
451 ;
452 ; REGISTERS MODIFIED:
453 ;
454 ; NONE
455 ;-
456
457 000532 010046 MAPAD: MOV R0,-(SP) ; SAVE INPUT PDV & CHANNEL NUMBER
458 000534 010001 MOV R0,R1 ; COPY IT TO ISOLATE PDV $ CHANNEL NUMBER
459 000536 042701 000377 BIC #377,R1 ; CLEAR OUT THE CHANNEL NUMBER & LEAVE THE PDV
460 000542 040100 BIC R1,R0 ; REMOVE THE PDV & LEAVE THE CHANNEL NUMBER
461 000544 000301 SWAB R1 ; MOVE THE PDV INDEX TO THE LOW BYTE
462 000546 016101 000000G MOV $PDVTB(R1),R1 ; GET THE PDV ADDRESS FOR THE THIS INDEX
463 000552 010102 MOV R1,R2 ; COPY THE ADDRESS OF THE PDV
464 000554 062701 000016 ADD #Z.MAP,R1 ; POINT TO THE START OF THE MAPPING TABLE
465 000560 006300 ASL R0 ; MAKE THE CHANNEL NUMBER A VALID INDEX
466 000562 060001 ADD R0,R1 ; POINT TO THE CHANNEL MAPPING WORD
467 000564 012600 MOV (SP)+,R0 ; RESTORE PDV & CHANNEL NUMBER
468 000566 RETURN ; RETURN TO CALLER
469
470 ;+
471 ; **-PRCLD-CHECK IF A PROCESS IS LOADED
472 ;
473 ; INPUTS:
474 ;
475 ; R0 = PDV & CHANNEL NUMBER
476 ;
477 ; OUTPUTS:
478 ;
479 ; C-BIT CLEAR:
480 ; PROCESS IS LOADED
481 ;
482 ; C-BIT SET:
483 ; PROCESS IS NOT LOADED
484 ;
485 ; REGISTERS MODIFIED:
486 ;
487 ; R1 AND R2
488 ;-
489
490 000570 PRCLD: CALL MAPAD ; COMPUTE THE PDV ADDRESS
491 000574 005762 000012 TST Z.PCB(R2) ; IS THE PROCESS LOADED ?
492 000600 001001 BNE 10$ ; IF NE, YES - RETURN WITH C-BIT CLEAR
493 000602 000261 SEC ; SET ERROR CONDITION
494 000604 10$: RETURN ; RETURN TO CALLER
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 10
496 ;+
497 ; **-FNDPR-FIND AN LLC PROCESS PDV INDEX
498 ;
499 ; INPUTS:
500 ;
501 ; R3 = ADDRESS OF AN I/O PACKET WHICH CONTAINS A THE RAD50 NAME
502 ; OF THE TARGET PROCESS IN I.PRM+6.
503 ;
504 ; OUTPUTS:
505 ;
506 ; C-BIT CLEAR:
507 ; R1 = PDV ADDRESS OF THE NAMED PROCESS
508 ; R2 = PDV INDEX
509 ;
510 ; C-BIT SET:
511 ; NO PROCESS WITH THE SPECIFIED NAME
512 ;
513 ; REGISTERS MODIFIED:
514 ;
515 ; R0
516 ;-
517
518 000606 016302 000006G FNDPR: MOV I.PRM+6(R3),R2 ; GET RAD50 PROCESS NAME
519 000612 CALL $PDVAD ; FIND PDV ADDRESS AND INDEX
520 000616 103411 BCS 10$ ; IF CS, NO SUCH PROCESS - ERROR
521 000620 000261 SEC ; ASSUME THAT ITS NOT AN LLC
522 000622 132761 000004 000011 BITB #ZF.LLC,Z.FLG(R1) ; IS THE PROCESS AN LLC ?
523 000630 001404 BEQ 10$ ; IF EQ, NO - ERROR
524 000632 016100 000012 MOV Z.PCB(R1),R0 ; IS THIS LLC LOADED ?
525 000636 001401 BEQ 10$ ; IF EQ, NO - ERROR
526 000640 000241 CLC ; OTHERWISE INDICATE SUCCESS
527 000642 10$: RETURN ; RETURN TO CALLER
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 11
529 ;+
530 ; **-FNDFR-FIND A FREE CHANNEL IN THE PROCESS MAPPING TABLE
531 ;
532 ; INPUTS:
533 ;
534 ; R2 = PDV INDEX OF THE PROCESS
535 ;
536 ; OUTPUTS:
537 ;
538 ; C-BIT CLEAR:
539 ; R0 = PDV INDEX & CHANNEL
540 ; R1 = ADDRESS OF PDV CHANNEL ENTRY
541 ; R2 = PDV INDEX
542 ;
543 ; C-BIT SET:
544 ; NO FREE CHANNELS
545 ; R0 - R2 ARE UNDEFINED
546 ;
547 ; NOTE: THIS ROUTINE MAKES USE OF THE CHANNEL MAPPING TABLE FLAGS
548 ; 'ZF.BSY' AND 'ZF.ASN'.
549 ;
550 ; REGISTERS MODIFIED:
551 ;
552 ; NONE
553 ;-
554
555 000644 010546 FNDFR:: MOV R5,-(SP) ; SAVE R5
556 000646 010201 MOV R2,R1 ; COPY PDV INDEX
557 000650 005000 CLR R0 ; INITIALIZE CHANNEL COUNTER
558 000652 066701 000000G ADD $PDVTA,R1 ; COMPUTE ADDRESS OF THE PDV
559 000656 011101 MOV (R1),R1 ; GET THE PDV ADDRESS
560 000660 062701 000016 ADD #Z.MAP,R1 ; POINT TO THE CHANNEL MAPPING TABLE
561 000664 005005 CLR R5 ; GET THE NUMBER OF CHANNELS
562 000666 156105 177772 BISB Z.LLN-Z.MAP(R1),R5 ; ...
563
564 000672 012146 10$: MOV (R1)+,-(SP) ; GET AN ENTRY
565 000674 006326 ASL (SP)+ ; IS IT FREE TO ASSIGN ?
566 000676 103001 BCC 20$ ; IF CC, NO - TRY NEXT
567 000700 100005 BPL 30$ ; IF PL, YES - FINISH UP
568 000702 005200 20$: INC R0 ; UPDATE THE RUNNING CHANNEL NUMBER
569 000704 SOB R5,10$ ; LOOK THROUGH ALL CHANNELS
570 000710 000261 SEC ; ERROR IN A FREE ONE IS NOT FOUND
571 000712 000404 BR 40$ ;
572
573 000714 000300 30$: SWAB R0 ; MERGE PDV INDEX AND CHANNEL
574 000716 050200 BIS R2,R0 ; ...
575 000720 000300 SWAB R0 ; ...
576 000722 005741 TST -(R1) ; ACCOUNT FOR PREVIOUS POP (CLEAR C-BIT)
577 000724 012605 40$: MOV (SP)+,R5 ; RESTORE REGISTERS
578 000726 RETURN ; RETURN TO CALLER
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 12
580 ;+
581 ; **-NXCTL-CONTROL QIO FUNCTION PROCESSING
582 ;
583 ; THIS ROUTINE IS INVOKED WHEN A CONTROL QIO FUNTION IS ISSUED BY
584 ; A USER TASK. THE REQUEST TYPE IS ENCODED IN THE SUBFUNCTION.
585 ;
586 ; INPUTS:
587 ;
588 ; R3 = ADDRESS OF AN I/O PACKET
589 ;
590 ; OUTPUTS TO SUBFUNCTION PROCESSES:
591 ;
592 ; R3 = ADDRESS OF THE I/O PACKET
593 ;
594 ;-
595
596 000730 116300 000000G NXCTL:: MOVB I.FCN(R3),R0 ; GET SUBFUNCTION CODE
597 000734 006200 ASR R0 ; REDUCE IT TO A TABLE INDEX
598 000736 006200 ASR R0 ; ...
599 000740 022700 000014 CMP #SFMAX,R0 ; CHECK IF IT IS WITHIN RANGE
600 000744 101402 BLOS 10$ ; IF LOS, NO - ERROR
601 000746 CALLR @20$(R0) ; DISPATCH TO PROCESSING ROUTINE
602
603 000752 10$: CALLR IEONP ; RETURN ILLEGAL SUBFUNCTION CODE ERROR
604
605 000756 000772' 20$: .WORD NXON ; TURN A LINE-ID ON
606 000760 001312' .WORD NXOFF ; TURN A LINE-ID OFF
607 000762 001036' .WORD NXREA ; REASSIGN A LINE-ID TO ANOTHER LLC
608 000764 001216' .WORD NXASN ; ASSIGN A LINE-ID TO AN LLC
609 000766 001346' .WORD NXDEA ; DEASSIGN A LINE-ID FROM AN LLC
610 000770 000000G .WORD NXNIC ; PERFORM SPECIAL FUNCTION FOR NICE.. ;AP0001
611
612 000014 SFMAX=.-20$
613
614 ;+
615 ; **-NXON-TURN A LINE-ID ON
616 ;
617 ; THIS ROUTINE IS CALLED WHEN A CONTROL FUNCTION WITH AN ON
618 ; SUBFUNCTION IS ISSUED TO THE LINE MANAGER TO START THE
619 ; OPERATION OF THE LLC PROCESS ASSIGNED TO THE LINE-ID.
620 ;
621 ;-
622
623 000772 NXON: CALL FINDL ; SEARCH FOR THE LINE-ID
624 000776 103505 BCS IEROR ; IF CS, ERROR - R0 HAS THE ERROR CODE
625 001000 001474 BEQ IEALC ; IF EQ, LINE-ID IS NOT ASSIGNED - ERROR
626 ; OTHERWISE R0 HAS TARGET PDV & CHAN
627 001002 CALL PRCLD ; IS THE TARGET PROCESS LOADED ?
628 001006 103477 BCS IEMOD ; IF CS, NO - RETURN INVALID PROCESS ERROR
629 001010 CALL $CCBGT ; ALLOCATE A CCB FOR START FUNCTION
630 001014 103471 BCS IENOD ; IF CS, RESOURCE ERROR
631 001016 016502 000010 MOV TSLN(R5),R2 ; GET SLN & STATION NUMBER PAIR
632 001022 CALL STACT ; MARK THE SYSTEM LINE ACTIVE
633 001026 012764 000004 000012 MOV #STRT,C.STS(R4) ; INDICATE THAT ONLY STARTUP IS REQUESTED
634 001034 000514 BR NXON1 ; FINISH IN COMMON CODE
635
636 ;+
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 12-1
637 ; **-NXREA-REASSIGN A LINE-ID TO ANOTHER PROCESS
638 ;
639 ; THIS ROUTINE IS CALLED WHEN A CONTROL FUNCTION WITH A REASSIGN
640 ; SUBFUNCTION IS ISSUED TO THE LINE MANAGER TO CHANGE THE LINE-ID
641 ; AND PROCESS ASSIGNMENT WITHOUT FORCING THE LINE TO BE DISABLED.
642 ;
643 ; INPUTS:
644 ;
645 ; R3 = ADDRESS OF AN I/O PACKET
646 ;
647 ; FUNCTION DEPENDENT PARAMETERS:
648 ; WD 0 - RELOCATION BIAS OF THE LINE-ID STRING
649 ; WD 1 - VIRTUAL ADDRESS OF THE LINE-ID STRING
650 ; WD 2 - LENGTH OF THE LINE-ID STRING
651 ; WD 3 - RAD50 NAME OF THE TARGET LLC
652 ;
653 ;-
654
655 001036 NXREA: CALL FINDC ; VALIDATE USER & SEARCH FOR THE LINE-ID
656 001042 103463 BCS IEROR ; IF CS, ERROR - R0 HAS THE ERROR CODE
657 001044 CALL FNDPR ; FIND THE TARGET PROCESS
658 001050 103456 BCS IEMOD ; IF CS, NO TARGET LLC PROCESS
659 001052 126502 000017 CMPB TASN+1(R5),R2 ; IS THE LINE-ID ASSIGNED TO THE TARGET PROCESS ?
660 001056 001437 BEQ ISALT ; IF EQ, YES - RETURN ALTERNATE SUCCESS STATUS
661 001060 032765 010000 000012 BIT #LF.REA,TSLF(R5) ; IS THE LINE REASSIGNABLE ?
662 001066 001436 BEQ IERSU ; IF EQ, NO - RETURN SHARED RESOURCE ERROR
663 001070 CALL FNDFR ; OTHERWISE FIND A FREE CHANNEL(R0 - PDV & CHAN)
664 001074 103441 BCS IENOD ; IF CS, NO FREE CHANNELS - RESOURCE ERROR
665 001076 CALL $CCBGT ; ALLOCATE A CBB
666 001102 103436 BCS IENOD ; IF CS, RESOURCE ERROR
667 001104 012711 140000 MOV #140000,(R1) ; MARK THE TARGET CHANNEL TEMPORARILY BUSY
668 001110 016502 000010 MOV TSLN(R5),R2 ; GET THE SLN & STATION NUMBER PAIR
669 ;
670 ; FORMAT THE CCB FOR A STOP TO THE CURRENT PROCESS
671 ;
672 ; NEXT STATE IS CONTINUE WITH REASSIGN
673 ; FUNCTION IS CONTROL STOP
674 ; STATUS IS STOP ONLY
675 ;
676 001114 016564 000016 000024 MOV TASN(R5),C.BUF2(R4) ; SAVE PREVIOUS PDV & CHANNEL ASSIGNMENT
677 001122 001454 BEQ NXAS1 ; IF NE, NO CURRENT ASSIGNMENT - SO ASSIGN NOW
678 001124 005064 000004 CLR C.NSP(R4) ; SET NEXT STATE TO CONTINUE REASSIGN
679 001130 016564 000016 000006 MOV TASN(R5),C.LIN(R4) ; SET TARGET PDV & CHANNEL
680 001136 012764 002006 000010 MOV #FC.CTL!FS.STP,C.FNC(R4) ; SET FUNCTION CODE
681 001144 012764 000001 000012 MOV #STOP,C.STS(R4) ; INDICATE THAT ONLY A STOP IS REQUIRED
682 001152 CALLR QCCBL ; QUEUE CCB TO TARGET LLC PROCESS
683
684 .ENABL LSB
685
686 001156 012700 000000C ISALT: MOV #IS.SET&377,R0 ; SET ALTERNATE SUCCESS STATUS
687 001162 000413 BR 10$ ;
688
689 001164 012700 000000C IERSU: MOV #IE.RSU&377,R0 ; SET SHARED RESOURCE IN USE ERROR
690 001170 000410 BR 10$ ;
691
692 001172 012700 000000C IEALC: MOV #IE.ALC&377,R0 ; SET ALLOCATION ERROR STATUS
693 001176 000405 BR 10$ ;
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 12-2
694
695 001200 012700 000000C IENOD: MOV #IE.NOD&377,R0 ; SET SECONDARY RESOURCE ERROR
696 001204 000402 BR 10$ ;
697
698 001206 012700 000000C IEMOD: MOV #IE.MOD&377,R0 ; SET UNRECOGNIZED PROCESS ERROR
699
700 001212 10$:
701 001212 IEROR: CALLR RQALT ; POST COMPLETION ON I/O REQUEST
702
703 .DSABL LSB
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 13
705 ;+
706 ; **-NXASN-ASSIGN A LINE TO A PROCESS
707 ;
708 ; INPUTS:
709 ;
710 ; R3 = ADDRESS OF AN I/O PACKET
711 ;
712 ; FUNCTION DEPENDENT PARAMETERS:
713 ; WD 0 - RELOCATION BIAS OF THE LINE-ID STRING
714 ; WD 1 - VIRTUAL ADDRESS OF THE LINE-ID STRING
715 ; WD 2 - LENGTH OF THE LINE-ID STRING
716 ; WD 3 - RAD50 NAME OF THE TARGET LLC
717 ;
718 ; OUTPUTS:
719 ;
720 ; XXX
721 ;-
722
723 001216 NXASN: CALL FINDC ; VALIDATE USER AND SEARCH FOR THE LINE-ID
724 001222 103773 BCS IEROR ; IF CS, ERROR - R0 HAS THE ERROR CODE
725 001224 001357 BNE IERSU ; IF NE, LINE IS ALREADY ASSIGNED
726 001226 CALL FNDPR ; FIND THE TARGET PROCESS NAME
727 001232 103765 BCS IEMOD ; IF CS, NO TARGET PROCESS - ERROR
728 001234 CALL FNDFR ; FIND A FREE LINE ON THAT PROCESS (R0 - PDV & CHAN)
729 001240 103757 BCS IENOD ; IF CS, RESOURCE ERROR
730 001242 CALL $CCBGT ; ALLOCATE A CCB FOR ASSIGN NOTIFICATION
731 001246 103754 BCS IENOD ; IF CS, RESOURCE ERROR
732 001250 016502 000010 MOV TSLN(R5),R2 ; GET SLN & STATION PAIR
733 001254 NXAS1: CALL ASSGN ; MODIFY THE SYSTEM DATA BASES
734 ;
735 ; FORMAT THE CCB FOR ASSIGN NOTIFICATION
736 ;
737 ; NEXT STATE IS I/O COMPLETION
738 ; FUNCTION IS CONTROL START
739 ; STATUS IS ENABLE, INHIBIT START
740 ;
741 001260 012764 000002 000012 MOV #ENBX!LDIS,C.STS(R4) ; INDICATE LINE IS DISABLED AND NO START
742
743 ;
744 ; COMMON CCB FORMATTING FOR ASSIGN AND ON
745 ;
746 001266 112764 000010 000004 NXON1: MOVB #STDON,C.NSP(R4) ; SET NEXT STATE TO COMPLETE THE I/O REQUEST
747 001274 010064 000006 MOV R0,C.LIN(R4) ; SET TARGET PDV & CHANNEL
748 001300 012764 001006 000010 MOV #FC.CTL!FS.STR,C.FNC(R4) ; SET FUNCTION CODE
749 001306 CALLR QCCBL ; QUEUE CCB TO TARGET LLC PROCESS
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 14
751 ;+
752 ; **-NXOFF-TURN A LINE-ID OFF
753 ;
754 ; THIS ROUTINE IS CALLED WHEN A CONTROL FUNCTION WITH AN OFF
755 ; SUBFUNCTION IS ISSUED TO THE LINE MANAGER TO STOP THE OPERATION
756 ; OF THE LLC PROCESS ASSIGNED TO THE LINE-ID.
757 ;
758 ; INPUTS:
759 ;
760 ; R3 = ADDRESS OF AN I/O PACKET
761 ;
762 ; FUNCTION DEPENDENT PARAMETERS:
763 ; WD 0 - RELOCATION BIAS OF THE LINE-ID STRING
764 ; WD 1 - VIRTUAL ADDRESS OF THE LINE-ID STRING
765 ; WD 2 - LENGTH OF THE LINE-ID STRING
766 ;
767 ;-
768
769 001312 NXOFF: CALL FINDL ; SEARCH FOR THE LINE-ID
770 001316 103735 BCS IEROR ; IF CS, ERROR - R0 HAS THE ERROR CODE
771 001320 001724 BEQ IEALC ; IF EQ, LINE-ID IS NOT ASSIGNED - ERROR
772 ; OTHERWISE R0 HAS TARGET PDV & CHAN
773 001322 CALL PRCLD ; IS THE TARGET PROCESS LOADED ?
774 001326 103713 BCS ISALT ; IF CS, NO - LINE-ID MUST BE OFF, SO SUCCESS
775 001330 CALL $CCBGT ; ALLOCATE A CCB FOR THE STOP FUNCTION
776 001334 103721 BCS IENOD ; IF CS, RESOURCE ERROR
777 001336 012764 000004 000004 MOV #STOF1,C.NSP(R4) ; SET NEXT STATE TO COMPLETE I/O
778 001344 000414 BR NXOF1 ; FINISH IN COMMON CODE
779
780 ;+
781 ; **-NXDEA-DEASSIGN A LINE-ID FROM A PROCESS
782 ;
783 ; INPUTS:
784 ;
785 ; R3 = ADDRESS OF AN I/O PACKET
786 ;
787 ; FUNCTION DEPENDENT PARAMETERS:
788 ; WD 0 - RELOCATION BIAS OF THE LINE-ID STRING
789 ; WD 1 - VIRTUAL ADDRESS OF THE LINE-ID STRING
790 ; WD 2 - LENGTH OF THE LINE-ID STRING
791 ;
792 ; OUTPUTS:
793 ;
794 ; XXX
795 ;-
796
797 001346 NXDEA: CALL FINDC ; VALIDATE USER & SEARCH FOR THE LINE-ID
798 001352 103717 BCS IEROR ; IF CS, ERROR - R0 HAS THE ERROR CODE
799 001354 001700 BEQ ISALT ; IF EQ, LINE IS NOT ASSIGNED - SUCCESS
800 001356 CALL $CCBGT ; ALLOCATE A CCB FOR STOP & DISABLE
801 001362 103706 BCS IENOD ; IF CS, RESOURCE ERROR
802 001364 CALL MAPAD ; COMPUTE THE ADDRESS IN THE CHANNEL MAPPING TABLE
803 ;
804 ; SET UP CCB FOR STOP AND DISABLE
805 ;
806 ; NEXT STATE IS DEASSIGN COMPLETION
807 ; FUNCTION IS CONTROL STOP
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 14-1
808 ; STATUS IS STOP & DISABLE
809 ;
810 001370 112764 000006 000004 MOVB #STDE1,C.NSP(R4) ; SET NEXT STATE TO COMPLETE DEASSIGN
811
812 ;
813 ; COMMON CCB FORMATTING FOR DEASSIGN AND OFF
814 ;
815 001376 016502 000010 NXOF1: MOV TSLN(R5),R2 ; GET SLN & STATION NUMBER NUMBER PAIR
816 001402 010064 000006 MOV R0,C.LIN(R4) ; SET TARGET PDV & CHANNEL
817 001406 012764 002006 000010 MOV #FC.CTL!FS.STP,C.FNC(R4) ; SET FUNCTION CODE
818 001414 005064 000012 CLR C.STS(R4) ; INDICATE STOP & DISABLE REQUIRED
819 001420 CALLR QCCBL ; QUEUE THE CCB TO THE TARGET LLC
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 15
821 ;+
822 ; **-NXCCP-CONTROL COMPLETE FROM AN LLC
823 ;
824 ; THIS ROUTINE IS CALLED WHEN A CONTROL COMPLETE FUNCTION FROM ANOTHER
825 ; LLC IS DEQUEUED FOR THIS PROCESS. THE HIGH ORDER BIT OF THE CELL
826 ; 'C.LIN' INDICATES THAT THIS CCB CAME FROM ANOTHER LLC. THIS ROUTINE
827 ; MAKES NON-STANDARD USE OF THE CHANNEL PARAMETER IN 'C.LIN'. THIS BYTE
828 ; IS USED TO SELECT THE NEXT PROCESSING ROUTINE TO BE EXECUTED.
829 ;
830 ; INPUTS:
831 ;
832 ; R4 = ADDRESS OF A CONTROL CCB
833 ;
834 ; C.LIN INDEX OF NEXT ROUTINE TO EXECUTE
835 ; C.FNC NOT USED INTERNALLY
836 ; C.STS STATE OF THE LINE (ENABLE OR DISABLE) ON A STOP
837 ; C.BUF PDV & CHANNEL NUMBER OF TARGET LLC
838 ; C.BUF+2 ADDRESS IN TARGET LLC CHANNEL TABLE
839 ; C.CNT SLN & STATION NUMBER PAIR OF LINE-ID
840 ; C.FLG ADDRESS OF I/O PACKET
841 ;
842 ; OUTPUTS:
843 ;
844 ; THE APPROPRIATE PROCESSING IS DISPATCHED BASED ON THE VAULE
845 ; OF THE LOW BYTE OF 'C.LIN'.
846 ;
847 ; R0 - R3 ARE RESTORED FROM C.BUF - C.FLG
848 ;
849 ; THE N-BIT IS SET FROM THE SIGN OF THE LOW BYTE OF 'C.STS'.
850 ;
851 ;-
852
853 001424 116405 000006 NXCCP:: MOVB C.LIN(R4),R5 ; GET PROCESSING ROUTINE INDEX
854 001430 016400 000014 MOV C.BUF(R4),R0 ; RESTORE TARGET PDV & CHANNEL
855 001434 016401 000016 MOV C.BUF+2(R4),R1 ; RESTORE CHANNEL TABLE ADDRESS
856 001440 016402 000020 MOV C.CNT(R4),R2 ; RESTORE SLN & STATION NUMBER PAIR
857 001444 016403 000022 MOV C.FLG(R4),R3 ; RESTORE I/O PACKET ADDRESS
858 001450 105764 000012 TSTB C.STS(R4) ; SET THE SENSE OF THE COMPLETION STATUS
859 001454 CALLR @10$(R5) ; DISPATCH TO ROUTINE
860
861 001460 001472' 10$: .WORD NXRE1 ; NOTIFY TARGET LLC OF ASSIGNMENT
862 001462 001614' .WORD NXRE2 ; COMPLETE THE REASSIGNMENT
863 001464 001574' .WORD NXOF2 ; COMPLETE THE OFF
864 001466 001564' .WORD NXDE1 ; COMPLETE THE DEASSIGNMENT
865 001470 001622' .WORD NXDON ; POST I/O COMPLETION ON CCB COMPLETION
866
867 ;+
868 ; **-NXRE1-CONTINUE WITH THE LINE REASSIGNMENT
869 ;
870 ; WHEN THE STOP OPERATION COMPLETES, DO THE LINE REASSIGNMENT
871 ; AND INFORM THE TARGET PROCESS.
872 ;
873 ; INPUTS OTHER THAN 'STANDARD' CCB:
874 ;
875 ; C.BUF2 PREVIOUS PDV & CHANNEL ASSIGNMENT
876 ;
877 ;-
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 15-1
878 .ENABL LSB
879
880 001472 100431 NXRE1: BMI 10$ ; IF MI, AN ERROR OCCURRED
881 001474 CALL ASSGN ; MODIFY SYSTEM DATA BASES
882 001500 016400 000024 MOV C.BUF2(R4),R0 ; GET PREVIOUS PDV & CHANNEL ASSIGNMENT
883 001504 CALL MAPAD ; COMPUTE THE ADDRESS IN THE CHANNEL MAPPING TABLE
884 001510 012711 100000 MOV #100000,(R1) ; MARK THE CHANNEL FREE
885 ;
886 ; FORMAT THE CCB TO INFORM THE PROCESS OF THE ASSIGNMENT
887 ;
888 ; NEXT STATE IS I/O COMPLETION
889 ; FUNCTION IS CONTROL START
890 ; STATUS IS PER THE STOP JUST COMPLETED (IMPLIED START INHIBIT)
891 ;
892 001514 112764 000002 000004 MOVB #STRE2,C.NSP(R4) ; SET NEXT STATE TO COMPLETE I/O REQUEST
893 001522 016464 000014 000006 MOV C.BUF(R4),C.LIN(R4) ; SET TARGET PDV & CHANNEL
894 001530 012764 001006 000010 MOV #FC.CTL!FS.STR,C.FNC(R4) ; SET FUNCTION CODE
895 001536 042764 177776 000012 BIC #^C<LENB>,C.STS(R4) ; CLEAR ALL BUT THE STATE OF ENABLE
896 001544 052764 000002 000012 BIS #ENBX,C.STS(R4) ; SET ENABLE CHANGE FLAG
897 001552 CALLR QCCBL ; QUEUE CCB TO THE TARGET LLC
898
899 ;
900 ; AN ERROR OCCURRED ON THE STOP FUNCTION OF A REASSIGN
901 ;
902 001556 042711 040000 10$: BIC #40000,(R1) ; REMOVE THE PENDING ASSIGNMENT FROM THE TARGET CHANNEL
903 001562 000410 BR NXABO ; COMPLETE THE REQUEST WITH AN ABORT
904
905 .DSABL LSB
906
907 ;+
908 ; **-NXDE1-COMPLETE THE DEASSIGN OPERATION
909 ;
910 ; INPUTS OTHER THAN 'STANDARD' CCB:
911 ;
912 ; NONE
913 ;
914 ;-
915
916 001564 100407 NXDE1: BMI NXABO ; IF MI, AN ERROR OCCURRED - ABORT THE REQUEST
917 001566 CALL DEASN ; MODIFY THE SYSTEM TABLES
918 001572 000413 BR NXDON ; COMPLETE THE DEASSIGN REQUEST
919
920 ;+
921 ; **-NXOF2-COMPLETE THE OFF PROCESSING
922 ;
923 ; INPUTS OTHER THAN 'STANDARD' CCB:
924 ;
925 ; NONE
926 ;
927 ;-
928
929 001574 100403 NXOF2: BMI NXABO ; IF MI, AN ERROR OCCURRED - ABORT THE FUNCTION
930 001576 CALL CLACT ; CLEAR 'LF.ACT' IN THE SYSTEM LINE TABLE
931 001602 000407 BR NXDON ; COMPLETE THE OFF REQUEST
932 ;+
933 ; **-NXDON-POST I/O COMPLETION
934 ; **-NXRE2-ALTERNATE FORM
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 15-2
935 ; **-NXABO-POST AN ABORTED I/O COMPLETION
936 ;
937 ; INPUTS OTHER THAN 'STANDARD' CCB:
938 ;
939 ; NONE
940 ;
941 ;-
942 .ENABL LSB
943
944 001604 005001 NXABO: CLR R1 ; SET NO ADDITIONAL STATUS
945 001606 012700 000000C MOV #IE.ABO&377,R0 ; SET ABORT COMPLETION STATUS
946 001612 000406 BR 20$ ;
947
948 001614 016401 000024 NXRE2: MOV C.BUF2(R4),R1 ; SET STATUS FOR SECOND WORD OF I/O STATUS
949 001620 000401 BR 10$ ;
950
951 001622 005001 NXDON: CLR R1 ; SET NO ADDITIONAL STATUS
952 001624 012700 000000G 10$: MOV #IS.SUC,R0 ; SET SUCCESSFUL I/O STATUS
953 001630 20$: CALL $CCBRT ; RETURN THE CONTROL CCB
954 001634 CALLR RQDON ; POST I/O COMPLETION
955
956 .DSABL LSB
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 16
958 ;+
959 ; **-QCCBL-QUEUE THE CONTROL CCB TO THE TARGET LLC
960 ;
961 ; INPUTS:
962 ;
963 ; R4 = ADDRESS OF THE CONTROL CCB. THE FOLLOWING CELLS MUST BE
964 ; SET UP ON ENTRY:
965 ; C.NSP NEXT STATE INDEX
966 ; C.LIN TARGET PDV & CHANNEL
967 ; C.FNC FUNCTION CODE FOR TARGET
968 ; C.STS ADDITIONAL CONTROL FOR TARGET
969 ;
970 ; R0 = TARGET PDV & CHANNEL
971 ; R1 = ADDRESS IN THE CHANNEL TABLE
972 ; R2 = SLN & STATION NUMBER PAIR
973 ; R3 = I/O PACKET ADDRESS
974 ;
975 ; OUTPUTS:
976 ;
977 ; XXX
978 ;-
979
980 001640 116764 000000G 000005 QCCBL: MOVB PRPDV,C.NSP+1(R4) ; SET CURRENT PDV INDEX
981 001646 010064 000014 MOV R0,C.BUF(R4) ; SAVE TARGET PDV & CHANNEL
982 001652 010164 000016 MOV R1,C.BUF+2(R4) ; SAVE ADDRESS IN CHANNEL TABLE
983 001656 010264 000020 MOV R2,C.CNT(R4) ; SAVE SLN & STATION NUMBER PAIR
984 001662 010364 000022 MOV R3,C.FLG(R4) ; SAVE I/O PACKET ADDRESS
985 001666 CALLR $LLCRS ; QUEUE REQUEST TO AN LLC
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 17
987 ;+
988 ; **-FINDC-VALIDATE USER PRIVILEDGE AND SEARCH FOR THE LINE-ID
989 ;
990 ; INPUTS:
991 ;
992 ; R3 = ADDRESS OF I/O PACKET
993 ;
994 ; OUTPUTS:
995 ;
996 ; C-BIT CLEAR:
997 ; R0 = CURRENT LLC PDV & CHANNEL ASSIGNMENT
998 ; (Z = 0, NO ASSIGNMENT; Z = 1, LINE-ID IS ASSIGNED)
999 ; R3 = ADDRESS OF THE I/O PACKET
1000 ; R5 = ADDRESS OF THE PARAMETER BLOCK
1001 ;
1002 ; C-BIT SET:
1003 ; ERROR - R0 HAS THE ERROR CODE (IE.PRI OR IE.NSF)
1004 ;
1005 ;-
1006 .ENABL LSB
1007
1008 001672 016300 000000G FINDC: MOV I.TCB(R3),R0 ; GET TCB ADDRESS OF ISSUING TASK
1009 001676 032760 000000G 000000G BIT #T3.PRV,T.ST3(R0) ; IS THE TASK PRIVILEDGED ?
1010 001704 001424 BEQ 10$ ; IF EQ, NO - RETURN PRIVILEDGE VIOLATION
1011
1012 ;+
1013 ; **-FINDL-SEARCH FOR THE LINE-ID
1014 ;
1015 ; THIS ROUTINE IS CALLED TO SEARCH FOR A LINE-ID IN THE SYSTEM DATA
1016 ; BASE. THE PROCESS SPECIFIED MUST BE THAT OF A DDM PROCESS.
1017 ;
1018 ; INPUTS:
1019 ;
1020 ; R3 = ADDRESS OF I/O PACKET
1021 ;
1022 ;
1023 ; OUTPUTS:
1024 ;
1025 ; C-BIT CLEAR:
1026 ; R0 = CURRENT LLC PDV & CHANNEL ASSIGNMENT
1027 ; (Z = 0, NO ASSIGNMENT; Z = 1, LINE-ID IS ASSIGNED)
1028 ; R3 = ADDRESS OF THE I/O PACKET
1029 ; R5 = ADDRESS OF THE PARAMETER BLOCK
1030 ;
1031 ; C-BIT SET:
1032 ; ERROR - R0 HAS THE ERROR CODE (IE.NSF)
1033 ;-
1034
1035 001706 012705 000000' FINDL:: MOV #TDATA,R5 ; SET ADDRESS OF PARAMETER BLOCK
1036 001712 CALL FNDLN ; SEARCH FOR THE LINE-ID
1037 001716 103422 BCS 20$ ; IF CS, NO LINE-ID FOUND
1038 001720 132765 000001 000006 BITB #ZF.DDM,TFLG(R5) ; DID WE REALLY FIND A LINE-ID ?
1039 001726 001416 BEQ 20$ ; IF EQ, NO LINE-ID FOUND
1040 001730 032765 040000 000012 BIT #LF.RDY,TSLF(R5) ; IS THE LINE LOADED AND DATA BASE SET UP ?
1041 001736 001412 BEQ 20$ ; IF EQ, NO - TREAT AS IF LINE DOESN'T EXIST
1042 001740 032765 020000 000012 BIT #LF.UNL,TSLF(R5) ; MARKED FOR UNLOAD ?
1043 001746 001006 BNE 20$ ; IF NE, YES - TREAT AS IF LINE DOESN'T EXIST
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 17-1
1044 001750 016500 000016 MOV TASN(R5),R0 ; GET CURRENT LINE-ID ASSIGNMENT (SET Z-BIT)
1045 001754 RETURN ; RETURN TO CALLER (C-BIT CLEAR)
1046
1047 001756 012700 000000C 10$: MOV #IE.PRI&377,R0 ; SET PRIVILEDGE VIOLATION STATUS
1048 001762 000402 BR 30$ ;
1049
1050 001764 012700 000000C 20$: MOV #IE.NSF&377,R0 ; SET NO SUCH LINE-ID STATUS
1051 001770 000261 30$: SEC ; INDICATE THAT AN ERROR HAS OCCURRED
1052 001772 RETURN ; RETURN ERROR STATUS
1053
1054 .DSABL LSB
1055
1056
1057 000001 .END
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 17-2
SYMBOL TABLE
ASSGN 000402RG C.FLG1 000022 FS.XOF= 010000 L.DDS 000004 STRE1 = 000000
A$$CHK= 000000 C.FLG2 000032 FS.XON= 007000 L.DLC 000003 STRE2 = 000002
A$$CPS= 000000 C.FNC 000010 F$$LVL= 000001 L.DLM 000006 STRT = 000004
A$$PRI= 000000 C.LIN 000006 G$$TPP= 000000 L.DLS 000010 STSLT 000474R
A$$TRP= 000000 C.LNK 000000 G$$TSS= 000000 L.FLG 000000 S$$WRG= 000000
CAT5 000162R C.MOD 000011 G$$TTK= 000000 L.LEN = 000014 S$$YSZ= 007600
CB.CCB= 000002 C.NSP 000004 G$$WRD= 000000 L.UNT 000013 TASN 000016
CB.RDB= 000004 C.RSV 000002 IEALC 001172R MAPAD 000532R TCTL 000002
CE.ABO= 100362 C.STA 000007 IEMOD 001206R M$$CRB= 000124 TDATA 000000R
CE.DIS= 100366 C.STS 000012 IENOD 001200R M$$CRX= 000000 TDDM 000014
CE.ERR= 100370 DEASN 000424RG IEONP = ****** GX M$$FCS= 000000 TDLC 000015
CE.MOP= 100372 D$$BUG= 177514 IEROR 001212R M$$MGE= 000000 TFLG 000006
CE.NTE= 100361 D$$ISK= 000000 IERSU 001164R M$$OVR= 000000 TLIN 000003
CE.RTE= 100376 D$$L11= 000001 IE.ABO= ****** GX NXABO 001604R TNAM 000000
CE.SRC= 100364 D$$YNC= 000000 IE.ALC= ****** GX NXASN 001216R TPDV 000007
CE.TMO= 100374 D$$YNM= 000000 IE.MOD= ****** GX NXAS1 001254R TSLF 000012
CF.EOM= 000004 ENBX = 000002 IE.NOD= ****** GX NXCCP 001424RG TSLN 000010
CF.HDR= 000020 E$$XPR= 000000 IE.NSF= ****** GX NXCTL 000730RG TSTA 000004
CF.LB = 100000 FC.CCP= 000020 IE.PRI= ****** GX NXDEA 001346R T$$KMG= 000000
CF.SOM= 000010 FC.CTL= 000006 IE.RSU= ****** GX NXDE1 001564R T$$MIN= 000000
CF.SYN= 000040 FC.KCP= 000016 ISALT 001156R NXDON 001622R T.ST3 = ****** GX
CF.TRN= 000100 FC.KIL= 000004 IS.SET= ****** GX NXNIC = ****** GX T3.PRV= ****** GX
CLACT 000436R FC.RCE= 000002 IS.SUC= ****** GX NXOFF 001312R V$$CTR= 001000
COASN 000450R FC.RCP= 000014 I$$RAR= 000000 NXOF1 001376R X$$DBT= 000000
COTB 000306R FC.TIM= 000010 I$$RDN= 000000 NXOF2 001574R ZF.ASN= 100000
CS.ABO= 000100 FC.XCP= 000012 I.FCN = ****** GX NXON 000772R ZF.BSY= 140000
CS.BUF= 000200 FC.XME= 000000 I.PRM = ****** GX NXON1 001266R ZF.DDM= 000001
CS.DCR= 000400 FINDC 001672R I.TCB = ****** GX NXREA 001036R ZF.DLC= 000002
CS.DEV= 000002 FINDL 001706RG KISAR6= ****** GX NXRE1 001472R ZF.KMX= 000020
CS.DIS= 000040 FNDFR 000644RG K$$CNT= 177546 NXRE2 001614R ZF.LLC= 000004
CS.ENB= 000020 FNDLA = ****** GX K$$CSR= 177546 N$$LDV= 000001 ZF.LMC= 000100
CS.EOF= 000001 FNDLN 000020RG K$$LDC= 000000 N$$MOV= 000010 ZF.MFL= 000010
CS.ERR= 100000 FNDPR 000606R K$$TPS= 000074 N$$SYS= 000001 ZF.MUX= 000040
CS.HFE= 002000 FS.AST= 000000 LDIS = 000000 N$$USR= 000001 ZF.TIM= 000200
CS.LST= 040000 FS.CIB= 002000 LD$LP = 000000 OFF = 000000 Z.DAT 000014
CS.MTL= 004000 FS.CRA= 001000 LENB = 000001 PRCLD 000570R Z.DSP 000000
CS.RNG= 000010 FS.DIS= 013000 LF.ACT= 100000 PRPDV = ****** GX Z.FLG 000011
CS.ROV= 000004 FS.DVC= 001000 LF.BWT= 000007 P$$P45= 000000 Z.LEN = 000014
CS.RSN= 010000 FS.ENB= 012000 LF.DLO= 000040 P$$WRD= 000000 Z.LLN 000010
CS.SUC= 000001 FS.GET= 006000 LF.ENA= 002000 QCCBL 001640R Z.MAP 000016
CS.TMO= 020000 FS.INI= 000000 LF.MDC= 000100 Q$$OPT= 000010 Z.NAM 000006
CVTBL 000154R FS.KIL= 000000 LF.MFL= 004000 RQALT = ****** GX Z.PCB 000012
C$$CKP= 000000 FS.LTM= 001000 LF.MTP= 000020 RQDON = ****** GX Z.SCH 000004
C$$ORE= 000400 FS.MNT= 004000 LF.RDY= 040000 R$$DER= 000000 $CCBGT= ****** GX
C$$RSH= 177564 FS.MSN= 014000 LF.REA= 010000 R$$K11= 000001 $CCBRT= ****** GX
C.BID 000003 FS.RNG= 011000 LF.TIM= 000010 R$$SND= 000000 $LLCRS= ****** GX
C.BUF 000014 FS.RTN= 001000 LF.UNL= 020000 R$$11M= 000000 $LLCTA= ****** GX
C.BUF1 000014 FS.SET= 005000 L$$ASG= 000000 SFMAX = 000014 $MUL = ****** GX
C.BUF2 000024 FS.STM= 000000 L$$DRV= 000000 STACT 000412R $PDVAD= ****** GX
C.CNT 000020 FS.STP= 002000 L$$P11= 000001 STDE1 = 000006 $PDVTA= ****** GX
C.CNT1 000020 FS.STR= 001000 L$$11R= 000000 STDON = 000010 $PDVTB= ****** GX
C.CNT2 000030 FS.TRM= 003000 L.CTL 000012 STOF1 = 000004 $SLTTA= ****** GX
C.FLG 000022 FS.XKL= 002000 L.DDM 000002 STOP = 000001
. ABS. 000034 000
001774 001
ERRORS DETECTED: 0
NXSYS MACRO M1110 13-OCT-79 10:32 PAGE 17-3
SYMBOL TABLE
VIRTUAL MEMORY USED: 6585 WORDS ( 26 PAGES)
DYNAMIC MEMORY: 7948 WORDS ( 30 PAGES)
ELAPSED TIME: 00:00:37
NXSYS,[131,34]NXSYS/CR/-SP=[130,10]NETLIB/ML,RSXMC4/PA:1,[131,10]NXSYS
NXSYS CREATED BY MACRO ON 13-OCT-79 AT 10:32 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ASSGN 000402 RG #6-322 13-733 15-881
CAT5 000162 R 4-157 #5-212
CLACT 000436 R #7-386 15-930
COASN 000450 R 6-322 7-365 #8-403
COTB 000306 R 4-162 4-167 4-172 #5-275
CVTBL 000154 R #5-208 5-215 5-233
C.BUF 000014 15-854 15-855 15-893 *16-981 *16-982
C.BUF2 000024 *12-676 15-882 15-948
C.CNT 000020 15-856 *16-983
C.FLG 000022 15-857 *16-984
C.FNC 000010 *12-680 *13-748 *14-817 *15-894
C.LIN 000006 *12-679 *13-747 *14-816 15-853 *15-893
C.NSP 000004 *12-678 *13-746 *14-777 *14-810 *15-892 *16-980
C.STS 000012 *12-633 *12-681 *13-741 *14-818 15-858 *15-895 *15-896
DEASN 000424 RG #7-365 15-917
ENBX = 000002 #3-90 13-741 15-896
FC.CTL = 000006 12-680 13-748 14-817 15-894
FINDC 001672 R 12-655 13-723 14-797 #17-1008
FINDL 001706 RG 12-623 14-769 #17-1035
FNDFR 000644 RG #11-555 12-663 13-728
FNDLA = ****** GX 4-177
FNDLN 000020 RG #4-143 17-1036
FNDPR 000606 R #10-518 12-657 13-726
FS.STP = 002000 12-680 14-817
FS.STR = 001000 13-748 15-894
IEALC 001172 R 12-625 #12-692 14-771
IEMOD 001206 R 12-628 12-658 #12-698 13-727
IENOD 001200 R 12-630 12-664 12-666 #12-695 13-729 13-731 14-776 14-801
IEONP = ****** GX 12-603
IEROR 001212 R 12-624 12-656 #12-701 13-724 14-770 14-798
IERSU 001164 R 12-662 #12-689 13-725
IE.ABO = ****** GX 15-945
IE.ALC = ****** GX 12-692
IE.MOD = ****** GX 12-698
IE.NOD = ****** GX 12-695
IE.NSF = ****** GX 17-1050
IE.PRI = ****** GX 17-1047
IE.RSU = ****** GX 12-689
ISALT 001156 R 12-660 #12-686 14-774 14-799
IS.SET = ****** GX 12-686
IS.SUC = ****** GX 15-952
I$$AS = ****** 3-44
I.FCN = ****** GX 12-596
I.PRM = ****** GX 4-150 4-154 4-155 10-518
I.TCB = ****** GX 17-1008
KISAR6 = ****** GX *4-150
LDIS = 000000 #3-88 13-741
LENB = 000001 #3-89 15-895
LF.ACT = 100000 #3-45 6-344 7-387
LF.BWT = 000007 #3-45
LF.DLO = 000040 #3-45
LF.ENA = 002000 #3-45
NXSYS CREATED BY MACRO ON 13-OCT-79 AT 10:32 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
LF.MDC = 000100 #3-45
LF.MFL = 004000 #3-45
LF.MTP = 000020 #3-45
LF.RDY = 040000 #3-45 17-1040
LF.REA = 010000 #3-45 12-661
LF.TIM = 000010 #3-45
LF.UNL = 020000 #3-45 17-1042
L.CTL 000012 #3-45
L.DDM 000002 #3-45
L.DDS 000004 #3-45
L.DLC 000003 #3-45
L.DLM 000006 #3-45
L.DLS 000010 #3-45
L.FLG 000000 #3-45
L.LEN = 000014 #3-45 8-432
L.UNT 000013 #3-45
MAPAD 000532 R #9-457 9-490 14-802 15-883
M$$MGE = 000000 4-148
NXABO 001604 R 15-903 15-916 15-929 #15-944
NXASN 001216 R 12-608 #13-723
NXAS1 001254 R 12-677 #13-733
NXCCP 001424 RG #15-853
NXCTL 000730 RG #12-596
NXDEA 001346 R 12-609 #14-797
NXDE1 001564 R 15-864 #15-916
NXDON 001622 R 15-865 15-918 15-931 #15-951
NXNIC = ****** GX 12-610
NXOFF 001312 R 12-606 #14-769
NXOF1 001376 R 14-778 #14-815
NXOF2 001574 R 15-863 #15-929
NXON 000772 R 12-605 #12-623
NXON1 001266 R 12-634 #13-746
NXREA 001036 R 12-607 #12-655
NXRE1 001472 R 15-861 #15-880
NXRE2 001614 R 15-862 #15-948
OFF = 000000 #3-78
PRCLD 000570 R #9-490 12-627 14-773
PRPDV = ****** GX 16-980
QCCBL 001640 R 12-682 13-749 14-819 15-897 #16-980
RQALT = ****** GX 12-701
RQDON = ****** GX 15-954
R$$11D = ****** 3-44
R$$11M = 000000 3-44
R$$11S = ****** 3-44
SFMAX = 000014 12-599 #12-612
STACT 000412 R #6-343 12-632
STDE1 = 000006 #3-98 14-810
STDON = 000010 #3-99 13-746
STOF1 = 000004 #3-97 14-777
STOP = 000001 #3-77 12-681
STRE1 = 000000 #3-95
STRE2 = 000002 #3-96 15-892
NXSYS CREATED BY MACRO ON 13-OCT-79 AT 10:32 PAGE 3
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
STRT = 000004 #3-83 12-633
STSLT 000474 R 6-343 7-386 #8-428
TASN 000016 #3-65 12-659 12-676 12-679 17-1044
TCTL 000002 #3-55 *4-164
TDATA 000000 R #3-103 17-1035
TDDM 000014 #3-63
TDLC 000015 #3-64
TFLG 000006 #3-59 17-1038
TLIN 000003 #3-56 *4-169
TNAM 000000 #3-54 *4-159
TPDV 000007 #3-60
TSLF 000012 #3-62 12-661 17-1040 17-1042
TSLN 000010 #3-61 12-631 12-668 13-732 14-815
TSTA 000004 #3-57 *4-174
T.ST3 = ****** GX 17-1009
T3.PRV = ****** GX 17-1009
X$$MCB = ****** 3-44 3-44
ZF.ASN = 100000 #3-71
ZF.BSY = 140000 #3-72
ZF.DDM = 000001 #3-44 17-1038
ZF.DLC = 000002 #3-44
ZF.KMX = 000020 #3-44
ZF.LLC = 000004 #3-44 10-522
ZF.LMC = 000100 #3-44
ZF.MFL = 000010 #3-44
ZF.MUX = 000040 #3-44
ZF.TIM = 000200 #3-44
Z.DAT 000014 #3-44
Z.DSP 000000 #3-44 3-44
Z.FLG 000011 #3-44 10-522
Z.LEN = 000014 #3-44
Z.LLN 000010 #3-44 11-562
Z.MAP 000016 #3-44 9-464 11-560 11-562
Z.NAM 000006 #3-44
Z.PCB 000012 #3-44 9-491 10-524
Z.SCH 000004 #3-44
$CCBGT = ****** GX 12-629 12-665 13-730 14-775 14-800
$CCBRT = ****** GX 15-953
$LLCRS = ****** GX 16-985
$LLCTA = ****** GX 8-407
$MUL = ****** GX 5-228 5-287 8-433
$PDVAD = ****** GX 10-519
$PDVTA = ****** GX 11-558
$PDVTB = ****** GX 9-462
$SLTTA = ****** GX 8-434
NXSYS CREATED BY MACRO ON 13-OCT-79 AT 10:32 PAGE 4
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
CALL 4-157 4-162 4-167 4-172 4-177 5-228 5-287 6-343 7-386 8-408
8-433 9-490 10-519 12-623 12-627 12-629 12-632 12-655 12-657 12-663
12-665 13-723 13-726 13-728 13-730 13-733 14-769 14-773 14-775 14-797
14-800 14-802 15-881 15-883 15-917 15-930 15-953 17-1036
CALLR #12-601 #12-603 #12-682 #12-701 #13-749 #14-819 #15-859 #15-897 #15-954 #16-985
CCBDF$ #3-42 3-43
PDVDF$ #3-42 3-44
RETURN 4-180 5-249 5-301 6-345 7-388 8-410 8-438 9-468 9-494 10-527
11-578 17-1045 17-1052
SLTDF$ #3-42 3-45
SOB #11-569