Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/mcb/test72.list
There are no other files named test72.list in the archive.
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 3
1 .TITLE TEST72
2 .IDENT /X04.06/
3 ;
4 ;
5 ; COPYRIGHT (C) 1978
6 ; DIGITAL EQUIPMENT CORPORATION
7 ;
8 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A
9 ; SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE
10 ; INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR
11 ; ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE
12 ; MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH
13 ; SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE
14 ; TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN
15 ; IN DEC.
16 ;
17 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
18 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
19 ; EQUIPMENT CORPORATION.
20 ;
21 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF
22 ; ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
23 ;
24 ; DN20 LOOPBACK TEST PROGRAM
25 ;
26 ; L. WEBBER 25-AUG-77
27 ;
28 ; VERSION 2
29 ; L. WEBBER 13-JUN-78
30 ; T. PORCHER
31 ; REVISED FOR DECNET VERSION 2.0
32 ;
33 ; 4.01
34 ; L. WEBBER 18-MAY-79
35 ; MODIFY SPECIAL LINE PROCESSING IN "SETLIN" TO CLEAR CARRY IF NO
36 ; PROCESSING IS DONE
37 ;
38 ; 4.02
39 ; L. WEBBER 29-MAY-79
40 ; FIX CODE TO RETURN BUFFERS TO THE FREE BUFFER CHAIN
41 ;
42 ; 4.03
43 ; L. WEBBER 26-JUN-79
44 ; FIX TO PICK UP INITIAL BUFFERS FROM FREE QUEUE
45 ;
46 ; 4.04
47 ; A. PECKHAM 17-SEP-79
48 ; REMOVE DIRECT USE OF PDV INDICES TO AVOID UNDEFINED SYMBOL SYNDROME
49 ;
50 ; 4.05
51 ; L. WEBBER 19-OCT-79
52 ; CALL "CLRLPB" ON EXIT TO CLEAN UP LOOPBACK
53 ;
54 ; 4.06
55 ; L. WEBBER 21-OCT-79
56 ; FIX LINKAGE PROBLEM INTRODUCED WITH #4
57 ;
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 4
59 ;
60 ; EXTERNAL MACROS
61 ;
62
63 .MCALL DIR$,OPNW$,GNDW$,ACC$,REC$,RECW$,CON$,DSCW$,CLSW$,CONB$$
64 .MCALL REC$S,SND$S,RECW$E
65 .MCALL ALUN$C,WTSE$S,CLEF$S,SETF$S,ASTX$S,EXIT$S,SAVRG,RESRG,MRKT$S
66 .MCALL SLTDF$,NSSYM$,PDVDF$
67 000000 SLTDF$ ;DEFINE SYSTEM LINE TABLE SYMBOLS
68 000000 PDVDF$ ;DEFINE PDV SYMBOLS
69 000000 NSSYM$ ;DEFINE NSP SYMBOLS
70 000002 CTCSR = 2 ;OFFSET OF CSR ADDRESS IN DUP LINE TABLE
71
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 5
73 ;
74 ; LOCAL MACROS
75 ;
76
77 .MACRO BUFFER PIPE
78 .WORD 0,0
79 .WORD PIPE
80 .BLKW BUFL
81 .ENDM
82 .MACRO FREBUF CHAIN
83 .WORD CHAIN
84 .WORD 0,0
85 .BLKW BUFL
86 .ENDM
87
88 ;
89 ; SET UP DEBUGGING MACROS
90 ;
91
92 .MACRO DSWERR ?ADR
93 .IF DF D$BUG
94 BCC ADR
95 BPT
96 ADR':
97 .ENDC
98 .ENDM
99
100 ;
101 ; BUFFER CONTROL BLOCK
102 ;
103
104 000000 B.IOSB = 0. ;I/O STATUS
105 000002 B.CNT = 2. ; BLOCK
106 000004 B.PIPE = 4. ;PIPE CONTROL BLOCK ADDRESS
107 000006 B.BUF = 6. ;START OF BUFFER PROPER
108
109 ;
110 ; PIPE CONTROL BLOCK - ONE FOR EACH END OF A LOGICAL LINK THIS
111 ; PROGRAM CONTROLS
112 ;
113
114 000000 P.IO = 0. ;RECEIVES ACTIVE THIS PIPE
115 000002 P.RLUN = 2. ;LUN FOR RECEIVES ON THIS PIPE
116 000004 P.SLUN = 4. ;LUN FOR SENDS ON THE NEXT PIPE IN SEQUENCE
117 000006 P.SPIP = 6. ;ADDRESS OF NEXT PIPE IN CHAIN
118 000010 P.LEN = 8. ;PCB LENGTH
119
120
121 ;
122 ; CONSTANTS AND VARIABLES
123 ;
124
125 ; EVENT FLAG NUMBERS
126
127 000005 NETFN = 5. ;NETWORK EVENT FLAG - SET BY AST
128 000006 WAITFN = 6. ;TIME DELAY FLAG - SET BY MARK TIME
129 000007 GNDFN = 7. ;GET NETWORK DATA FLAG
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 5-1
130
131 ; BUFFER LENGTHS
132
133 000062 BUFL = 50. ;MAIN BUFFER LENGTH IN WORDS
134 000070 NETLEN = 56. ;NETWORK BUFFER LENGTH IN WORDS
135 000152 B.LEN = BUFL*2+B.BUF ;LENGTH OF A BUFFER PLUS CONTROL BLOCK IN BYTES
136
137 ; BIT DEFINITIONS
138
139 010000 MTMODE = 010000 ;MAINTENANCE MODE (SELECT B) FOR DUP CSR
140
141 ; FREE BUFFERS
142
143 000000 000002' BUFHDR: .WORD BUF1 ;FREE BUFFER HEADER
144 000002 BUF1: FREBUF BUF2
145 000154 BUF2: FREBUF BUF3
146 000326 BUF3: FREBUF BUF4
147 000500 BUF4: FREBUF BUF5
148 000652 BUF5: FREBUF BUF6
149 001024 BUF6: FREBUF BUF7
150 001176 BUF7: FREBUF BUF8
151 001350 BUF8: FREBUF BUF9
152 001522 BUF9: FREBUF BUF10
153 001674 BUF10: FREBUF BUF11
154 002046 BUF11: FREBUF BUF12
155 002220 BUF12: FREBUF BUF13
156 002372 BUF13: FREBUF BUF14
157 002544 BUF14: FREBUF BUF15
158 002716 BUF15: FREBUF BUF16
159 003070 BUF16: FREBUF BUF17
160 003242 BUF17: FREBUF BUF18
161 003414 BUF18: FREBUF 0
162
163 ; NETWORK BUFFER
164
165 003566 NETBUF: .BLKW NETLEN
166
167 ; I/O EXECUTION BLOCKS
168
169 003746 OPNBLK: OPNW$ 2,NETFN,IOST,,<3>
170 003776 GNDBLK: GNDW$ 2,GNDFN,GNDST,,<NETBUF,NETLEN*2>
171 004026 ACCBLK: ACC$ 3,,,,<NETBUF>
172 004056 ACCBLX: ACC$ 5,,,,<NETBUF>
173 004106 CONBLX: CON$ 4,,IOSTX,,<CRB>
174 004136 CRB: CONB$$ < >,0,1,<TEST72>
175 004246 RECBK1: RECW$ 3,NETFN,,,<,BUFL*2>
176 004276 DSCBLX: DSCW$ 4,NETFN
177 004326 DSCBX1: DSCW$ 5,NETFN
178 004356 DSCBLK: DSCW$ 3,NETFN
179 004406 CLSBLK: CLSW$ 2,NETFN,IOST
180
181 ; PIPE CONTROL BLOCKS
182
183 004436 000000 000003 000004 PIPE3: .WORD 0,3,4,PIPE5 ;PIPE FOR LUN 3
004444 004456'
184 004446 000000 000004 000003 PIPE4: .WORD 0,4,3,PIPE3 ;PIPE FOR LUN 4
004454 004436'
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 5-2
185 004456 000000 000005 000005 PIPE5: .WORD 0,5,5,PIPE4 ;PIPE FOR LUN 5
004464 004446'
186 004466 PIPEND:
187 004466 004436' LSTPIP: .WORD PIPE3 ;LAST PIPE A RECEIVE WAS ISSUED ON
188
189 ; DEVICE MNEMONIC TABLE
190
191 004470 DEVTAB:
192 004470 104 115 103 .ASCII /DMC /
004473 040
193 004474 015413 .RAD50 /DMC/
194 004476 113 104 120 .ASCII /KDP /
004501 040
195 004502 042560 .RAD50 /KDP/
196 004504 104 125 120 .ASCII /DUP /
004507 040
197 004510 016130 .RAD50 /DUP/
198 004512 DEVEND:
199
200 ; MISCELLANEOUS STUFF
201
202 004512 000000 000000 IOST: .WORD 0,0
203 004516 000000 000000 IOSTX: .WORD 0,0
204 004522 000000 000000 GNDST: .WORD 0,0
205 004526 000000 OOPFLG: .WORD 0 ;SOMETHING WENT WORNG...
206 004530 000000 OOPRSN: .WORD 0 ;OOPS REASON
207 004532 000000 DSCFLG: .WORD 0 ;SOMEBODY DISCONNECTED
208 004534 000000 CSRAD: .WORD 0 ;ADDRESS OF CSR (FOR DUP)
209
210 ; DISPATCH TABLE FOR SPECIAL POST-PROCESSING
211
212 004536 006554' POSTTB: .WORD NULL ;NO SPECIAL PROCESSING
213 004540 000000G .WORD KMCUNSET;KMC/DUP LINE - MUST TURN OFF MAINT. MODE
214 .EVEN
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 6
216 004542 TEST72::
217 004542 ALUN$C 2,NS,0 ;SET UP
218 004550 DSWERR
219 004550 ALUN$C 3,NS,0 ; NETWORK
220 004556 DSWERR
221 004556 ALUN$C 4,NS,0 ; LOGICAL LINKS
222 004564 DSWERR
223 004564 ALUN$C 5,NS,0
224 004572 DSWERR
225 004572 DIR$ #OPNBLK ;CONNECT TO NETWORK
226 004600 DSWERR
227
228 004600 10$: DIR$ #GNDBLK ;POLL FOR NETWORK DATA
229 004606 DSWERR
230 004606 026727 177710 000400G CMP GNDST,#<NT.CON*400+IS.SUC> ;IF SUCCESS,
231 004614 001371 BNE 10$ ; (NOT)
232 004616 DIR$ #ACCBLK ;ACCEPT THE CONNECT
233 004624 DSWERR
234
235 ; NOW GET THE FIRST DATA BLOCK, WHICH SELECTS THE LINE TO LOOP ON
236
237 004624 CALL GETBUF ;GET A BUFFER
238 004630 010102 MOV R1,R2 ;ADDRESS THE
239 004632 062702 000006 ADD #B.BUF,R2 ; BUFFER PROPER
240 004636 RECW$E RECBK1,,,R1,,<R2> ;READ A BLOCK
241 004670 DSWERR
242 004670 121127 000000G CMPB (R1),#IS.SUC ;IF ERROR ON THIS BLOCK,
243 004674 001403 BEQ 20$ ; BETTER FORGET IT
244 004676 011146 MOV (R1),-(SP) ;[DEBUGGING AID]
245 004700 CALL OOPS
246 004704 010146 20$: MOV R1,-(SP) ;SAVE THE BUFFER ADDRESS
247 004706 016103 000002 MOV 2(R1),R3 ;PICK UP ITS LENGTH
248
249 ; SET THE SPECIFIED LINE TO LOOPBACK STATE
250
251 004712 CALL SETLIN
252 004716 103002 BCC 25$ ;WORKED
253 004720 CALL OOPS ;DIDN'T
254 004724 25$: CALL CHKLIN ;COME BACK WHEN LINE IS UP
255
256 ; LINE SET UP. NOW INITIALIZE THINGS AND ISSUE CONNECT TO SELF
257
258 004730 012704 000000G MOV #$NTNAM,R4 ;PICK UP LOCAL NODE NAME
259 004734 012703 004136' MOV #CRB,R3 ; AND MOVE IT INTO
260 004740 012423 MOV (R4)+,(R3)+ ; THE NODE NAME
261 004742 012423 MOV (R4)+,(R3)+ ; SLOT IN THE
262 004744 011413 MOV (R4),(R3) ; CONNECT REQUEST BLOCK
263 004746 DIR$ #CONBLX ;ISSUE THE CONNECT TO SELF
264 004754 DSWERR
265 004754 30$: DIR$ #GNDBLK ;WAIT FOR THE
266 004762 DSWERR
267 004762 026727 177534 000400G CMP GNDST,#<NT.CON*400+IS.SUC> ;CONNECT TO
268 004770 001371 BNE 30$ ; COME AROUND
269 004772 DIR$ #ACCBLX ;ACCEPT THE CONNECTION
270 005000 DSWERR
271 005000 CLEF$S #NETFN
272 005012 012604 MOV (SP)+,R4 ;WRITE OUT
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 6-1
273 005014 012764 004436' 000004 MOV #PIPE3,B.PIPE(R4) ;THE FIRST
274 005022 CALL SNDBUF ; DATA BLOCK
275 005026 012703 004436' MOV #PIPE3,R3 ;PUT UP ANOTHER
276 005032 CALL 40$ ; READ ON PIPE 3
277 005036 012703 004446' MOV #PIPE4,R3 ; AND TWO
278 005042 CALL 40$ ; ON PIPE 4
279 005046 CALL 40$ ;
280 005052 012703 004456' MOV #PIPE5,R3 ; AND TWO
281 005056 CALL 40$ ; ON PIPE 5
282 005062 CALL 40$ ;
283 005066 000410 BR 50$ ;CONTINUE
284
285 005070 40$: CALL GETBUF ;PICK UP A BUFFER
286 005074 010361 000004 MOV R3,B.PIPE(R1) ;SET PROPER PIPE
287 005100 010104 MOV R1,R4 ;PUT UP A
288 005102 CALL RCVBUF ; READ INTO IT
289 005106 RETURN
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 7
291 ;
292 ; NOW SETTLE BACK AND SMOKE A PIPE WHILE THE AST'S (SEE BELOW)
293 ; DO ALL THE WORK. WHEN WE WAKE UP, THE PROCESS IS GOING DOWN
294 ; ONE WAY OR ANOTHER
295 ;
296
297 005110 50$: WTSE$S #NETFN ;WAIT TO BE WAKED UP
298
299 ; WELL, HERE WE ARE AGAIN
300
301 005122 005767 177404 TST DSCFLG ;IF A DISCONNECT OCCURRED,
302 005126 001004 BNE .DONE ; COME DOWN IN A CIVILIZED WAY
303 005130 005767 177372 TST OOPFLG ;IF AN ERROR OCCURRED,
304 005134 001040 BNE .OOPS ; COME DOWN IN A ROWDY WAY
305 005136 000003 BPT ;WHY ARE WE HERE??
306
307 005140 .DONE: CALL DONE
308 005144 CLEF$S #WAITFN ;WAIT A SECOND
309 005156 DSWERR
310 005156 MRKT$S #WAITFN,#1,#2 ; TO LET ALL THE
311 005202 DSWERR
312 005202 WTSE$S #WAITFN ; UNFINISHED I/O GET DONE
313 005214 DSWERR
314 005214 CALL CLRLPB ;CLEAN UP LOOPBACK
315 005220 016700 000000G MOV PECIAL,R0 ;DO ANY SPECIAL
316 005224 CALL @POSTTB(R0) ; POST-PROCESSING REQUIRED
317 005230 EXIT$S ;QUIT
318 005236 .OOPS: CALL OOPS
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 8
320 ;
321 ; BEFORE WE GET INTO THE MAIN PROGRAM LOGIC, A WORD ON HOW IT
322 ; WORKS. WHEN AN I/O COMPLETES, ONE OF TWO AST'S IS SCHEDULED,
323 ; DEPENDING ON WHETHER A SEND OR A RECEIVE COMPLETED. THIS AST
324 ; WILL CONTINUE THE I/O STREAM.
325 ;
326 ; THIS IS THE RECEIVE AST.
327 ;
328
329 005242 RCVAST:
330 005242 SAVRG <R1,R2,R3,R4>
331 005252 016604 000010 MOV 10(SP),R4 ;PICK UP THE STATUS BLOCK
332 005256 010066 000010 MOV R0,10(SP) ; (I.E., ADDRESS THE BUFFER)
333
334 005262 CALL DSCCHK ;IF A DISCONNECT OCCURRED,
335 005266 103003 BCC 90$ ; DON'T PROCESS THE RECEIVE
336 005270 CALL RCVIO ;OTHERWISE, PROCESS IT
337 005274 000402 BR 100$
338
339 005276 90$: CALL PUTBUF ;IF THE BUFFER ISN'T USED, FREE IT UP
340 005302 100$: RESRG <R4,R3,R2,R1,R0>
341 005314 ASTX$S
342
343 ;
344 ; THIS IS THE SEND AST
345 ;
346
347 005322 SNDAST:
348 005322 SAVRG <R1,R2,R3,R4>
349 005332 016604 000010 MOV 10(SP),R4 ;PICK UP THE STATUS BLOCK
350 005336 010066 000010 MOV R0,10(SP) ; (I.E., ADDRESS THE BUFFER)
351
352 005342 CALL DSCCHK ;IF A DISCONNECT OCCURRED,
353 005346 103003 BCC 90$ ; DON'T PROCESS THE SEND
354 005350 CALL SNDIO ;OTHERWISE, PROCESS IT
355 005354 000402 BR 100$ ; PROCESS THE SEND
356
357 005356 90$: CALL PUTBUF ;IF THE BUFFER ISN'T USED, FREE IT UP
358 005362 100$: RESRG <R4,R3,R2,R1,R0>
359 005374 ASTX$S
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 9
361 ; THIS ROUTINE PROCESSES A RECEIVE COMPLETE. IF THE COMPLETION WAS
362 ; A SUCCESS, THE BUFFER IS SENT DOWN THE NEXT PIPE IN THE SEQUENCE.
363 ; A RECEIVE IS ISSUED FOR THE PIPE ON WHICH ONE JUST COMPLETED (IF
364 ; A BUFFER IS AVAILABLE).
365 ;
366
367 005402 RCVIO:
368 005402 005374 000004 DEC @B.PIPE(R4) ;DROP THE ACTIVE RECEIVE COUNT FOR PIPE
369 005406 122714 000000G CMPB #IE.ABO,(R4) ;DON'T PROCESS
370 005412 001425 BEQ 20$ ;IF LINK IS ABORTED.
371 005414 CALL OOPCHK ;IF I/O IS NOT GOOD,
372 005420 103422 BCS 20$ ; DON'T BOTHER
373 005422 010403 MOV R4,R3 ;SAVE THE BUFFER ADDRESS
374 005424 CALL SNDBUF ;SEND THE BUFFER OUT
375 005430 CALL GETBUF ;GET A FRESH BUFFER
376 005434 103416 BCS 30$ ; NONE - FORGET IT
377 005436 016300 000004 MOV B.PIPE(R3),R0 ;ADDRESS PCB FOR PIPE RECEIVED ON
378 005442 016000 000006 MOV P.SPIP(R0),R0 ; SENT, PUT UP THE RECEIVE THERE
379 005446 010067 177014 MOV R0,LSTPIP ;RECORD LAST PIPE RECIEVED ON
380 005452 010061 000004 MOV R0,B.PIPE(R1) ;SET PIPE FOR RECEIVE
381 005456 010104 MOV R1,R4 ;PUT UP A RECEIVE
382 005460 CALL RCVBUF ; INTO THE NEW BUFFER
383 005464 000402 BR 30$
384
385 005466 20$: CALL PUTBUF ;IF THE BUFFER ISN'T USED, FREE IT
386 005472 30$: RETURN
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 10
388 ;
389 ; THIS ROUTINE PROCESSES A SEND COMPLETE. IF ANY OF THE THREE PIPES
390 ; HAS FEWER THAN TWO RECEIVES OUTSTANDING, A RECEIVE WILL BE ISSUED
391 ; FOR THAT PIPE USING THE BUFFER JUST RELEASED. OTHERWISE, THE BUFFER
392 ; WILL BE PUT BACK ON THE FREE BUFFER STACK.
393 ;
394
395 005474 SNDIO:
396 005474 122714 000000G CMPB #IE.ABO,(R4) ;DON'T PROCESS
397 005500 001416 BEQ 90$ ;IF LINK IS ABORTED.
398 005502 CALL OOPCHK ;IF I/O IS NOT GOOD,
399 005506 103413 BCS 90$ ; DON'T BOTHER
400
401 005510 016701 176752 MOV LSTPIP,R1 ;FIND OUT WHICH PIPE GOT THE LAST BUFFER
402 005514 016101 000006 MOV P.SPIP(R1),R1 ;GIVE THIS BUFFER
403 005520 010167 176742 MOV R1,LSTPIP ; TO THE NEXT PIPE IN LINE
404 005524 010164 000004 MOV R1,B.PIPE(R4) ;GO PUT UP A
405 005530 CALL RCVBUF ; READ ON THAT PIPE
406 005534 000402 BR 100$
407
408 005536 90$: CALL PUTBUF ;IF THE BUFFER ISN'T USED, FREE IT
409 005542 100$: RETURN
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 11
411 ;
412 ; ROUTINE TO TRANSMIT A BUFFER
413 ;
414
415 005544 SNDBUF:
416 005544 016401 000004 MOV B.PIPE(R4),R1 ;ADDRESS PIPE CONTROL BLOCK FOR BUFFER
417 005550 010400 MOV R4,R0 ;ADDRESS THE
418 005552 062700 000006 ADD #B.BUF,R0 ; BUFFER PROPER
419 005556 SND$S P.SLUN(R1),,R4,#SNDAST,<R0,B.CNT(R4)>
420 005622 DSWERR
421 005622 RETURN
422
423 ;
424 ; ROUTINE TO READ INTO A BUFFER
425 ;
426
427 005624 RCVBUF:
428 005624 016401 000004 MOV B.PIPE(R4),R1 ;ADDRESS PIPE CONTROL BLOCK FOR BUFFER
429 005630 010400 MOV R4,R0 ;ADDRESS THE
430 005632 062700 000006 ADD #B.BUF,R0 ; BUFFER PROPER
431 005636 REC$S P.RLUN(R1),,R4,#RCVAST,<R0,#BUFL*2>
432 005702 DSWERR
433 005702 005211 INC (R1) ;BUMP ACTIVE RECEIVE COUNT FOR PIPE
434 005704 RETURN
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 12
436 ;
437 ; ROUTINES FOR ADDING TO AND SUBTRACTING FROM THE FREE BUFFER STACK
438 ;
439
440 005706 GETBUF:
441 005706 016701 172066 MOV BUFHDR,R1 ;ADDRESS A BUFFER
442 005712 001404 BEQ 90$ ;QUEUE EMPTY - COMPLAIN
443 005714 011167 172060 MOV (R1),BUFHDR ;OTHERWISE, CHAIN TO
444 005720 005011 CLR (R1) ; NEXT BUFFER
445 005722 000401 BR 100$ ; AND RETURN THE FREE ONE
446 005724 000261 90$: SEC
447 005726 100$: RETURN
448
449
450 005730 PUTBUF:
451 005730 016714 172044 MOV BUFHDR,(R4) ;CHAIN IN BUFFER
452 005734 010467 172040 MOV R4,BUFHDR ; AT TOP OF STACK
453 005740 RETURN
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 13
455 ;
456 ; THIS ROUTINE CHECKS FOR A SUCCESSFUL I/O COMPLETION AND
457 ; TELLS THE MAIN TASK TO BOMB IF THE COMPLETION WAS IN ERROR
458 ;
459
460 005742 OOPCHK:
461 005742 121427 000000G CMPB (R4),#IS.SUC ;CHECK STATUS BYTE
462 005746 001416 BEQ 90$ ; OK
463 005750 005767 176554 TST OOPRSN ;HAVE WE ALREADY GOT A GOOD REASON ?
464 005754 001002 BNE 10$ ;IF NOT,
465 005756 110467 176546 MOVB R4,OOPRSN ;SAVE THIS ONE.
466 005762 005267 176540 10$: INC OOPFLG
467 005766 SETF$S #NETFN ;WAKE MAIN PROCESS
468 006000 DSWERR
469 006000 000261 SEC ;GO BACK
470 006002 000401 BR 100$ ; AND BOMB
471
472 006004 000241 90$: CLC
473 006006 100$: RETURN
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 14
475 ;
476 ; THIS ROUTINE CHECKS FOR A DISCONNECT OR ABORT. IF FOUND, THE
477 ; PROPER FLAG IS SET AND THE MAIN ROUTINE IS AWAKENED.
478 ;
479
480 006010 DSCCHK:
481 006010 DIR$ #GNDBLK ;POLL FOR NETWORK DATA
482 006016 DSWERR
483 006016 026727 176500 001400G CMP GNDST,#<NT.DSC*400+IS.SUC> ;DISCONNECT -
484 006024 001003 BNE 10$ ; SET DSC
485 006026 005267 176500 INC DSCFLG ; FLAG AND
486 006032 000406 BR 20$ ; WAKE EVERYBODY UP
487 006034 026727 176462 002400G 10$: CMP GNDST,#<NT.ABO*400+IS.SUC> ;ABORT -
488 006042 001011 BNE 90$ ; SET OOPS
489 006044 005267 176456 INC OOPFLG ; FLAG AND
490 006050 20$: SETF$S #NETFN ; WAKE EVERYBODY UP
491 006062 DSWERR
492 006062 000241 CLC
493 006064 000401 BR 100$
494
495 006066 000261 90$: SEC ;DIDN'T FIND ANYTHING USEFUL -
496 006070 100$: RETURN ; GO BACK TO CALLER
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 15
498 ;
499 ; DONE - CLEAN UP AND GO HOME
500 ;
501
502 006072 DONE:
503 006072 DIR$ #DSCBLX ;DISCONNECT LINK TO SELF
504 006100 DIR$ #DSCBX1 ; (BOTH ENDS OF IT)
505 006106 DIR$ #DSCBLK ;DISCONNECT LINK TO CALLER
506 006114 DIR$ #CLSBLK ;DISCONNECT NETWORK
507 006122 RETURN
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 16
509 ;
510 ; COME HERE WHEN ALL ELSE FAILS
511 ;
512
513 006124 OOPS:
514 006124 DIR$ #GNDBLK ;GET THE ABORT CODE [IF ANY]
515 006132 CALL DONE ;GET RID OF EVERYBODY
516 006136 000003 BPT ;STOP FOR REPAIRS
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 18
519 ;
520 ; SETLIN
521 ;
522 ; ROUTINE TO SET SPECIFIED LINE TO LOOPBACK
523 ;
524 ; INPUTS: R2 -> LINE SPECIFICATION
525 ;
526 ; "DEV"_"CTL"_"UNIT"<CR>
527 ;
528 ; WHERE "DEV" = ONE- TO THREE-LETTER DEVICE MNEMONIC
529 ; "CTL" = OCTAL CONTROLLER NUMBER
530 ; "UNIT" = OCTAL LINE NUMBER
531 ; AND THE UNDERSCORES (OR BACK-ARROWS, IF THIS LISTING
532 ; IS PRINTED ON THAT SORT OF PRINTER) ARE AS SHOWN
533 ; AND <CR> IS A CARRIAGE RETURN.
534 ;
535 ; R3 = LENGTH OF MESSAGE RECEIVED (*NOT* OF SPECIFICATION)
536 ;
537 ; OUTPUTS: IF THE LINE SPECIFICATION IS VALID, THE NODE LOOPBACK
538 ; MODE IS SET, USING THE SPECIFIED LINE.
539 ;
540 ; CC - LOOPBACK MODE SET
541 ; CS - ERROR
542 ;
543 ; DESTROYS R1-R4
544 ;
545
546 006140 SETLIN:
547 006140 000240 NOP ;[*** TEMPORARY ***]
548 006142 060203 ADD R2,R3 ;PUT A CARRIAGE RETURN AT END OF STRING
549 006144 112713 000015 MOVB #^O<15>,(R3) ; TO BE SURE ONE EXISTS IN THE BUFFER
550 006150 010204 MOV R2,R4 ;SET LENGTH
551 006152 062704 000003 ADD #3,R4 ; VALIDITY POINTER
552 006156 012703 004470' MOV #DEVTAB,R3 ;ADDRESS DEVICE TABLE
553 006162 010200 5$: MOV R2,R0
554 006164 010301 MOV R3,R1
555 006166 121027 000137 10$: CMPB (R0),#'_ ;IF WE HIT A DELIMITER,
556 006172 001415 BEQ 15$ ; COMPARE IS DONE
557 006174 121027 000015 CMPB (R0),#^O<15> ;(CR IS DELIMITER
558 006200 001412 BEQ 15$ ; TOO)
559 006202 020400 CMP R4,R0 ;DEVICE MNEMONIC IS TOO LONG -
560 006204 101524 BLOS 95$ ; BOMB
561 006206 122021 CMPB (R0)+,(R1)+ ;CHECK NEXT CHARACTER AGAINST
562 006210 001766 BEQ 10$ ; CURRENT DEVICE TABLE ENTRY
563 006212 062703 000006 ADD #6,R3 ;MISMATCH -
564 006216 020327 004512' CMP R3,#DEVEND ; TRY NEXT
565 006222 103757 BLO 5$ ; ENTRY
566 006224 000514 BR 95$ ;MNEMONIC NOT IN DEVICE TABLE - BOMB
567 006226 016302 000004 15$: MOV 4(R3),R2 ;GET PROCESS ID
568 006232 CALL $PDVID ;CONVERT TO INDEX
569 006236 010246 MOV R2,-(SP) ;AND SAVE
570
571 006240 010002 MOV R0,R2 ;PICK UP
572 006242 CALL OCTAL ; CONTROLLER NUMBER
573 006246 103410 BCS 17$ ;ERROR - BOMB
574 006250 010046 MOV R0,-(SP) ;SAVE CONTROLLER NUMBER
575 006252 CALL OCTAL ;PICK UP LINE NUMBER
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 18-1
576 006256 103404 BCS 17$ ;ERROR - BOMB
577 006260 010002 MOV R0,R2 ;R2 = LINE #
578 006262 012601 MOV (SP)+,R1 ;R1 = CONTROLLER #
579 006264 012600 MOV (SP)+,R0 ;R0 = PDV INDEX OF DDM FOR DEVICE
580 006266 000402 BR 18$
581
582 006270 005726 17$: TST (SP)+ ;ERROR - CLEAN UP STACK
583 006272 000471 BR 95$ ; AND RETURN AN ERROR
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 19
585 ;
586 ; NOW FIND THE SLT ENTRY FOR THE SPECIFIED LINE. MAP SLN TO NSP
587 ; CHANNEL#, AND PUT THE CHANNEL# INTO THE NSP LINE LOOPBACK CELL
588 ; "$NSPLI"
589 ;
590
591 006274 005004 18$: CLR R4
592 006276 016703 000000G MOV $SLTTA,R3 ;INITIALIZE SCAN
593 006302 120063 000002 20$: CMPB R0,L.DDM(R3) ;CHECK PDV INDEX FOR DDM
594 006306 001024 BNE 30$ ; WRONG ENTRY
595 006310 120163 000012 CMPB R1,L.CTL(R3) ;CHECK CONTROLLER #
596 006314 001021 BNE 30$ ; WRONG ENTRY
597 006316 120263 000013 CMPB R2,L.UNT(R3) ;CHECK LINE #
598 006322 001016 BNE 30$ ; WRONG ENTRY
599 006324 032763 040000 000000 BIT #LF.RDY,L.FLG(R3) ;CHECK ENTRY FOR
600 006332 001451 BEQ 95$ ; "READY" AND
601 006334 032763 100000 000000 BIT #LF.ACT,L.FLG(R3) ; "ACTIVE". BOMB
602 006342 001445 BEQ 95$ ; IF NOT BOTH
603 006344 006304 ASL R4 ;CONVERT SLN TO INDEX
604 006346 126427 000001G 000000G CMPB $LLCTB+1(R4),#PD$NSP ;IF THIS LINE NOT RUN BY NSP,
605 006354 001040 BNE 95$ ; BOMB
606 006356 000407 BR 40$ ;GO SET LOOPBACK
607 006360 005204 30$: INC R4 ;BUMP SLN
608 006362 062703 000014 ADD #L.LEN,R3 ;GO TRY
609 006366 020327 000000G CMP R3,#$SLTND ; ANOTHER
610 006372 103743 BLO 20$ ; ENTRY
611 006374 000430 BR 95$ ;OUT OF ENTRIES - BOMB
612
613 ; SET THE LOOPBACK PARAMETER TO THE CHANNEL# OF THE SELECTED LINE
614
615 006376 010002 40$: MOV R0,R2 ;SAVE DEVICE PDV INDEX
616 006400 CALL STLPBK ;CALL A SUBROUTINE TO DO IT
617 006404 010046 MOV R0,-(SP) ;SAVE NSP CHANNEL NUMBER FOR LINE
618
619 ; DO ANY DEVICE-DEPENDENT LINE SETUP
620
621 006406 016301 000004 MOV L.DDS(R3),R1 ;ADDRESS DEVICE TABLE
622 006412 016200 000000G MOV $PDVTB(R2),R0 ;DRIVER PROCESS DESCRIPTOR
623 006416 026027 000006 042560 CMP Z.NAM(R0),#^RKDP ;IF DEVICE IS A KMC/DUP,
624 006424 001003 BNE 50$ ; (NOT)
625 006426 CALL KMCSET ; DO KMC SETUP
626 006432 000406 BR 90$ ; AND FINISH
627 006434 026027 000006 016130 50$: CMP Z.NAM(R0),#^RDUP ;IF DEVICE IS A DUP,
628 006442 001002 BNE 90$ ; (NOT)
629 006444 CALL DUPSET ; DO DUP SETUP
630 006450 012600 90$: MOV (SP)+,R0 ;PICK UP CHANNEL NUMBER
631 006452 000241 CLC ; AND FINISH
632 006454 000401 BR 100$
633
634 006456 000261 95$: SEC ;O WELL
635 006460 100$: RETURN
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 20
637 ;
638 ; ROUTINE TO PICK UP AN ASCII OCTAL REPRESENTATION AND CONVERT IT TO
639 ; BINARY
640 ;
641 ; INPUT: R2 -> OCTAL STRING DELIMITED BY "_" OR <CR>
642 ;
643 ; OUTPUT: R0 = BINARY NUMBER
644 ;
645
646 006462 OCTAL:
647 006462 005000 CLR R0
648 006464 121227 000015 CMPB (R2),#^O<15> ;AT END OF STRING -
649 006470 001425 BEQ 90$ ; RETURN A ZERO
650 006472 005202 INC R2 ;BUMP PAST STARTING "_"
651
652 006474 121227 000137 10$: CMPB (R2),#'_ ;HIT DELIMITER
653 006500 001421 BEQ 90$ ; (EITHER "_" OR
654 006502 121227 000015 CMPB (R2),#^O<15> ; <CR>) - RETURN
655 006506 001416 BEQ 90$ ; WITH WHAT WE GOT
656 006510 121227 000060 CMPB (R2),#'0 ;VERIFY THAT THE
657 006514 103415 BLO 95$ ; CHARACTER IS
658 006516 112246 MOVB (R2)+,-(SP) ; AN OCTAL DIGIT
659 006520 042716 177760 BIC #^C<17>,(SP) ; (BETWEEN OCTAL
660 006524 121627 000007 CMPB (SP),#7 ; <60> AND <67>)
661 006530 003007 BGT 95$ ;BOMB IF NOT
662
663 006532 006300 ASL R0 ;SHIFT ACCUMULATED
664 006534 006300 ASL R0 ; VALUE OUT OF
665 006536 006300 ASL R0 ; THE LOW-ORDER DIGIT
666 006540 052600 BIS (SP)+,R0 ;MOVE NEW DIGIT IN
667 006542 000754 BR 10$ ;PROCESS NEXT CHARACTER
668
669 006544 000241 90$: CLC ;RETURN
670 006546 000401 BR 100$ ; SUCCESS
671
672 006550 000261 95$: SEC ; OR
673 006552 100$: RETURN ; FAILURE
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 21
675 ;
676 ; THIS ROUTINE DOES NOTHING AT ALL
677 ;
678
679 006554 NULL: RETURN
680 004542' .END TEST72
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 21-1
SYMBOL TABLE
ACCBLK 004026R DSCFLG 004532R L.CTL 000012 NT.ABT= 000004 R$$DER= 000000
ACCBLX 004056R DUPSET= ****** GX L.DDM 000002 NT.CON= 000001 R$$K11= 000001
A$$CHK= 000000 D$$BUG= 177514 L.DDS 000004 NT.DSC= 000003 R$$SND= 000000
A$$CPS= 000000 D$$ISK= 000000 L.DLC 000003 NT.INT= 000002 R$$11M= 000000
A$$PRI= 000000 D$$L11= 000001 L.DLM 000006 NT.LOG= 000011 SETLIN 006140R
A$$TRP= 000000 D$$YNC= 000000 L.DLS 000010 NT.MOP= 000010 SNDAST 005322R
A.LULU= 000002 D$$YNM= 000000 L.FLG 000000 NULL 006554R SNDBUF 005544R
A.LUNA= 000004 E$$XPR= 000000 L.LEN = 000014 N$$LDV= 000001 SNDIO 005474R
A.LUNU= 000006 F$$LVL= 000001 L.UNT 000013 N$$MOV= 000010 STLPBK= ****** GX
BUFHDR 000000R GETBUF 005706R MTMODE= 010000 N$$SYS= 000001 S$$WRG= 000000
BUFL = 000062 GNDBLK 003776R M$$CRB= 000124 N$$USR= 000001 S$$YSZ= 007600
BUF1 000002R GNDFN = 000007 M$$CRX= 000000 N.IOAE= 000012 TEST72 004542RG
BUF10 001674R GNDST 004522R M$$FCS= 000000 N.IOEF= 000006 T$$KMG= 000000
BUF11 002046R G$$TPP= 000000 M$$MGE= 000000 N.IOFN= 000002 T$$MIN= 000000
BUF12 002220R G$$TSS= 000000 M$$OVR= 000000 N.IOLU= 000004 V$$CTR= 001000
BUF13 002372R G$$TTK= 000000 NETBUF 003566R N.IOPL= 000014 WAITFN= 000006
BUF14 002544R G$$WRD= 000000 NETFN = 000005 N.IOPR= 000007 X$$DBT= 000000
BUF15 002716R IE.ABO= ****** GX NETLEN= 000070 N.IOSB= 000010 ZF.DDM= 000001
BUF16 003070R IE.NDA= 177662 NE$ABO= 000046 OCTAL 006462R ZF.DLC= 000002
BUF17 003242R IE.NNT= 177660 NE$ABT= 000011 OOPCHK 005742R ZF.KMX= 000020
BUF18 003414R IE.NRJ= 177666 NE$ACC= 000042 OOPFLG 004526R ZF.LLC= 000004
BUF2 000154R IE.URJ= 177667 NE$ACT= 000044 OOPRSN 004530R ZF.LMC= 000100
BUF3 000326R IOST 004512R NE$CDI= 000052 OOPS 006124R ZF.MFL= 000010
BUF4 000500R IOSTX 004516R NE$COM= 000047 OPNBLK 003746R ZF.MUX= 000040
BUF5 000652R IS.DAO= 000002 NE$FCF= 000050 PD$NSP= ****** GX ZF.TIM= 000200
BUF6 001024R IS.SUC= ****** GX NE$FMT= 000005 PECIAL= ****** GX Z.DAT 000014
BUF7 001176R I$$RAR= 000000 NE$GEN= 000007 PIPEND 004466R Z.DSP 000000
BUF8 001350R I$$RDN= 000000 NE$ILS= 000043 PIPE3 004436R Z.FLG 000011
BUF9 001522R KMCSET= ****** GX NE$IMG= 000053 PIPE4 004446R Z.LEN = 000014
B.BUF = 000006 KMCUNS= ****** GX NE$MLB= 000006 PIPE5 004456R Z.LLN 000010
B.CNT = 000002 K$$CNT= 177546 NE$NOD= 000002 POSTTB 004536R Z.MAP 000016
B.IOSB= 000000 K$$CSR= 177546 NE$NSD= 000003 PUTBUF 005730R Z.NAM 000006
B.LEN = 000152 K$$LDC= 000000 NE$RES= 000001 P$$P45= 000000 Z.PCB 000012
B.PIPE= 000004 K$$TPS= 000074 NE$SSR= 000000 P$$WRD= 000000 Z.SCH 000004
CHKLIN= ****** GX LD$LP = 000000 NE$SSS= 000045 P.IO = 000000 $LLCTB= ****** GX
CLRLPB= ****** GX LF.ACT= 100000 NE$STA= 000051 P.LEN = 000010 $NTNAM= ****** GX
CLSBLK 004406R LF.BWT= 000007 NE$TCN= 000040 P.RLUN= 000002 $PDVID= ****** GX
CONBLX 004106R LF.DLO= 000040 NE$TCO= 000041 P.SLUN= 000004 $PDVTB= ****** GX
CRB 004136R LF.ENA= 002000 NE$TPA= 000010 P.SPIP= 000006 $SLTND= ****** GX
CSRAD 004534R LF.MDC= 000100 NE$UOB= 000004 Q$$OPT= 000010 $SLTTA= ****** GX
CTCSR = 000002 LF.MFL= 004000 NO.DTR= 000077 Q.IOAE= 000012 $$$ = 000030R 002
C$$CKP= 000000 LF.MTP= 000020 NO.FAL= 000021 Q.IOEF= 000006 $$$ARG= 000002
C$$ORE= 000400 LF.RDY= 040000 NO.FA1= 000001 Q.IOFN= 000002 $$$FLG= 016630
C$$RSH= 177564 LF.REA= 010000 NO.NCU= 000023 Q.IOLU= 000004 $$$FMT= 000001
DEVEND 004512R LF.TIM= 000010 NO.RTL= 000022 Q.IOPL= 000014 $$$LOC= 004136R
DEVTAB 004470R LF.UNL= 020000 NO.TAS= 000000 Q.IOPR= 000007 $$$OST= 000014
DONE 006072R LSTPIP 004466R NO.TCL= 000017 Q.IOSB= 000010 $$$T1 = 000002
DSCBLK 004356R L$$ASG= 000000 NO.TC1= 000005 RCVAST 005242R $$$T2 = 000034R 002
DSCBLX 004276R L$$DRV= 000000 NO.TLK= 000020 RCVBUF 005624R .DONE 005140R
DSCBX1 004326R L$$P11= 000001 NR$IFC= 000030 RCVIO 005402R .OOPS 005236R
DSCCHK 006010R L$$11R= 000000 NT.ABO= 000005 RECBK1 004246R
. ABS. 000016 000
006556 001
$DPB$$ 000040 002
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 7944 WORDS ( 32 PAGES)
TEST72 MACRO M1110 21-OCT-79 11:28 PAGE 21-2
SYMBOL TABLE
DYNAMIC MEMORY: 9004 WORDS ( 34 PAGES)
ELAPSED TIME: 00:01:04
TEST72,[135,30]TEST72/CR=[130,10]NETLIB/ML,RSXMC4/PA:1,[135,10]TEST72
TEST72 CREATED BY MACRO ON 21-OCT-79 AT 11:28 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ACCBLK 004026 R #5-171 6-232
ACCBLX 004056 R #5-172 6-269
A.LULU = 000002 6-217 6-219 6-221 6-223
BUFHDR 000000 R #5-143 12-441 *12-443 12-451 *12-452
BUFL = 000062 #5-133 5-135 5-144 5-145 5-146 5-147 5-148 5-149 5-150
5-151 5-152 5-153 5-154 5-155 5-156 5-157 5-158 5-159
5-160 5-161 5-175 11-431
BUF1 000002 R 5-143 #5-144
BUF10 001674 R 5-152 #5-153
BUF11 002046 R 5-153 #5-154
BUF12 002220 R 5-154 #5-155
BUF13 002372 R 5-155 #5-156
BUF14 002544 R 5-156 #5-157
BUF15 002716 R 5-157 #5-158
BUF16 003070 R 5-158 #5-159
BUF17 003242 R 5-159 #5-160
BUF18 003414 R 5-160 #5-161
BUF2 000154 R 5-144 #5-145
BUF3 000326 R 5-145 #5-146
BUF4 000500 R 5-146 #5-147
BUF5 000652 R 5-147 #5-148
BUF6 001024 R 5-148 #5-149
BUF7 001176 R 5-149 #5-150
BUF8 001350 R 5-150 #5-151
BUF9 001522 R 5-151 #5-152
B.BUF = 000006 #5-107 5-135 6-239 11-418 11-430
B.CNT = 000002 #5-105 11-419
B.IOSB = 000000 #5-104
B.LEN = 000152 #5-135
B.PIPE = 000004 #5-106 *6-273 *6-286 9-368 9-377 *9-380 *10-404 11-416 11-428
CHKLIN = ****** GX 6-254
CLRLPB = ****** GX 7-314
CLSBLK 004406 R #5-179 15-506
CONBLX 004106 R #5-173 6-263
CRB 004136 R 5-173 #5-174 6-259
CSRAD 004534 R #5-208
CTCSR = 000002 #4-70
DEVEND 004512 R #5-198 18-564
DEVTAB 004470 R #5-191 18-552
DONE 006072 R 7-307 #15-502 16-515
DSCBLK 004356 R #5-178 15-505
DSCBLX 004276 R #5-176 15-503
DSCBX1 004326 R #5-177 15-504
DSCCHK 006010 R 8-334 8-352 #14-480
DSCFLG 004532 R #5-207 7-301 *14-485
DUPSET = ****** GX 19-629
D$BUG = ****** 6-218 6-220 6-222 6-224 6-226 6-229 6-233 6-241 6-264
6-266 6-270 7-309 7-311 7-313 11-420 11-432 13-468 14-482
14-491
GETBUF 005706 R 6-237 6-285 9-375 #12-440
GNDBLK 003776 R #5-170 6-228 6-265 14-481 16-514
GNDFN = 000007 #5-129 5-170
TEST72 CREATED BY MACRO ON 21-OCT-79 AT 11:28 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
GNDST 004522 R 5-170 #5-204 6-230 6-267 14-483 14-487
IE.ABO = ****** GX 9-369 10-396
IOST 004512 R 5-169 5-179 #5-202
IOSTX 004516 R 5-173 #5-203
IS.SUC = ****** GX 6-230 6-242 6-267 13-461 14-483 14-487
I$$AS = ****** 4-68
KMCSET = ****** GX 19-625
KMCUNS = ****** GX 5-213
LF.ACT = 100000 #4-67 19-601
LF.BWT = 000007 #4-67
LF.DLO = 000040 #4-67
LF.ENA = 002000 #4-67
LF.MDC = 000100 #4-67
LF.MFL = 004000 #4-67
LF.MTP = 000020 #4-67
LF.RDY = 040000 #4-67 19-599
LF.REA = 010000 #4-67
LF.TIM = 000010 #4-67
LF.UNL = 020000 #4-67
LSTPIP 004466 R #5-187 *9-379 10-401 *10-403
L.CTL 000012 #4-67 19-595
L.DDM 000002 #4-67 19-593
L.DDS 000004 #4-67 19-621
L.DLC 000003 #4-67
L.DLM 000006 #4-67
L.DLS 000010 #4-67
L.FLG 000000 #4-67 19-599 19-601
L.LEN = 000014 #4-67 19-608
L.UNT 000013 #4-67 19-597
MTMODE = 010000 #5-139
NETBUF 003566 R #5-165 5-170 5-171 5-172
NETFN = 000005 #5-127 5-169 5-175 5-176 5-177 5-178 5-179 6-271 7-297
13-467 14-490
NETLEN = 000070 #5-134 5-165 5-170
NT.ABO = 000005 14-487
NT.CON = 000001 6-230 6-267
NT.DSC = 000003 14-483
NULL 006554 R 5-212 #21-679
N.IOFN = 000002 6-240 *6-240
N.IOPL = 000014 6-240
N.IOSB = 000010 *6-240
OCTAL 006462 R 18-572 18-575 #20-646
OOPCHK 005742 R 9-371 10-398 #13-460
OOPFLG 004526 R #5-205 7-303 *13-466 *14-489
OOPRSN 004530 R #5-206 13-463 *13-465
OOPS 006124 R 6-245 6-253 7-318 #16-513
OPNBLK 003746 R #5-169 6-225
PD$NSP = ****** GX 19-604
PECIAL = ****** GX 7-315
PIPEND 004466 R #5-186
PIPE3 004436 R #5-183 5-184 5-187 6-273 6-275
PIPE4 004446 R #5-184 5-185 6-277
TEST72 CREATED BY MACRO ON 21-OCT-79 AT 11:28 PAGE 3
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
PIPE5 004456 R 5-183 #5-185 6-280
POSTTB 004536 R #5-212 7-316
PUTBUF 005730 R 8-339 8-357 9-385 10-408 #12-450
P.IO = 000000 #5-114
P.LEN = 000010 #5-118
P.RLUN = 000002 #5-115 11-431
P.SLUN = 000004 #5-116 11-419
P.SPIP = 000006 #5-117 9-378 10-402
Q.IOFN = 000002 5-169 5-170 5-171 5-172 5-173 5-175 5-176 5-177 5-178
5-179
RCVAST 005242 R #8-329 11-431
RCVBUF 005624 R 6-288 9-382 10-405 #11-427
RCVIO 005402 R 8-336 #9-367
RECBK1 004246 R #5-175 *6-240 *6-240 *6-240 *6-240 6-240
R$$11D = ****** 4-68
R$$11M = 000000 4-68
R$$11S = ****** 4-68
SETLIN 006140 R 6-251 #18-546
SNDAST 005322 R #8-347 11-419
SNDBUF 005544 R 6-274 9-374 #11-415
SNDIO 005474 R 8-354 #10-395
STLPBK = ****** GX 19-616
TEST72 004542 RG #6-216 21-680
WAITFN = 000006 #5-128 7-308 7-310 7-312
X$$MCB = ****** 4-68 4-68
ZF.DDM = 000001 #4-68
ZF.DLC = 000002 #4-68
ZF.KMX = 000020 #4-68
ZF.LLC = 000004 #4-68
ZF.LMC = 000100 #4-68
ZF.MFL = 000010 #4-68
ZF.MUX = 000040 #4-68
ZF.TIM = 000200 #4-68
Z.DAT 000014 #4-68
Z.DSP 000000 #4-68 4-68
Z.FLG 000011 #4-68
Z.LEN = 000014 #4-68
Z.LLN 000010 #4-68
Z.MAP 000016 #4-68
Z.NAM 000006 #4-68 19-623 19-627
Z.PCB 000012 #4-68
Z.SCH 000004 #4-68
$LLCTB = ****** GX 19-604
$NTNAM = ****** GX 6-258
$PDVID = ****** GX 18-568
$PDVTB = ****** GX 19-622
$SLTND = ****** GX 19-609
$SLTTA = ****** GX 19-592
$$$ = 000030 R #5-174 5-174 5-174 5-174 #6-217 6-217 #6-219 6-219 #6-221
6-221 #6-223 6-223
$$$ARG = 000002 #5-169 5-169 #5-169 5-169 5-169 #5-170 5-170 #5-170 5-170
#5-170 5-170 5-170 #5-171 5-171 #5-171 5-171 #5-171 5-171
TEST72 CREATED BY MACRO ON 21-OCT-79 AT 11:28 PAGE 4
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
#5-171 5-171 #5-171 5-171 #5-171 5-171 #5-171 5-171 #5-172
5-172 #5-172 5-172 #5-172 5-172 #5-172 5-172 #5-172 5-172
#5-172 5-172 #5-172 5-172 #5-173 5-173 #5-173 5-173 #5-173
5-173 #5-173 5-173 #5-173 5-173 #5-173 5-173 #5-173 5-173
#5-175 5-175 #5-175 5-175 #5-175 5-175 5-175 #5-176 5-176
5-176 #5-177 5-177 5-177 #5-178 5-178 5-178 #5-179 5-179
5-179 #6-240 *6-240 6-240 #6-240 #7-310 7-310 7-310 7-310
7-310 7-310 7-310 7-310 7-310 7-310 7-310 #11-419 11-419
#11-419 11-419 #11-419 11-419 11-419 #11-419 11-419 11-419 11-419
11-419 11-419 11-419 11-419 11-419 11-419 11-419 #11-419 11-419
11-419 11-419 11-419 11-419 11-419 11-419 11-419 11-419 11-419
#11-419 11-419 11-419 11-419 11-419 11-419 11-419 11-419 11-419
11-419 11-419 #11-431 11-431 #11-431 11-431 #11-431 11-431 11-431
#11-431 11-431 11-431 11-431 11-431 11-431 11-431 11-431 11-431
11-431 11-431 #11-431 11-431 11-431 11-431 11-431 11-431 11-431
11-431 11-431 11-431 11-431 #11-431 11-431 11-431 11-431 11-431
11-431 11-431 11-431 11-431 11-431 11-431
$$$FLG = 016630 #5-170 5-170
$$$FMT = 000001 #5-174 5-174 5-174 5-174 5-174
$$$GLB = ****** 5-169 5-170 5-171 5-172 5-173 5-175 5-176 5-177 5-178
5-179 6-217 6-217 6-219 6-219 6-221 6-221 6-223 6-223
$$$LOC = 004136 R #5-174
$$$T1 = 000002 #6-217 #6-219 #6-221 #6-223
$$$T2 = 000034 R #6-217 6-217 #6-219 6-219 #6-221 6-221 #6-223 6-223
.DONE 005140 R 7-302 #7-307
.OOPS 005236 R 7-304 #7-318
TEST72 CREATED BY MACRO ON 21-OCT-79 AT 11:28 PAGE 5
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
ACC$ #4-63 #5-171 #5-172
ALUN$ #6-217 #6-217 #6-219 #6-219 #6-221 #6-221 #6-223 #6-223
ALUN$C #4-65 #6-217 #6-219 #6-221 #6-223
ASTX$S #4-65 #8-341 #8-359
BUFFER #5-77
CALL 6-237 6-245 6-251 6-253 6-254 6-274 6-276 6-278 6-279 6-281
6-282 6-285 6-288 7-307 7-314 7-316 7-318 8-334 8-336 8-339
8-352 8-354 8-357 9-371 9-374 9-375 9-382 9-385 10-398 10-405
10-408 16-515 18-568 18-572 18-575 19-616 19-625 19-629
CLEF$S #4-65 6-271 7-308
CLSW$ #4-63 5-179
CONB$$ #4-63 #5-174
CON$ #4-63 #5-173
DIR$ #4-63 #6-217 6-217 #6-219 6-219 #6-221 6-221 #6-223 6-223 6-225
6-228 6-232 #6-240 6-240 6-263 6-265 6-269 #6-271 6-271 #7-297
7-297 #7-308 7-308 #7-310 7-310 #7-312 7-312 #7-317 7-317 #8-341
8-341 #8-359 8-359 #11-419 11-419 #11-431 11-431 #13-467 13-467 14-481
#14-490 14-490 15-503 15-504 15-505 15-506 16-514
DSCW$ #4-63 5-176 5-177 5-178
DSWERR #5-92 6-218 6-220 6-222 6-224 6-226 6-229 6-233 6-241 6-264
6-266 6-270 7-309 7-311 7-313 11-420 11-432 13-468 14-482 14-491
EXIT$S #4-65 7-317
FREBUF #5-82 5-144 5-145 5-146 5-147 5-148 5-149 5-150 5-151 5-152
5-153 5-154 5-155 5-156 5-157 5-158 5-159 5-160 5-161
GNDW$ #4-63 5-170
MOV$ #6-271 6-271 #7-297 7-297 #7-308 7-308 #7-310 7-310 7-310 7-310
7-310 #7-312 7-312 #11-419 11-419 11-419 #11-419 11-419 11-419 #11-419
11-419 11-419 #11-431 11-431 11-431 #11-431 11-431 11-431 #11-431 11-431
11-431 #13-467 13-467 #14-490 14-490
MRKT$S #4-65 #7-310
MVB$ #11-419 #11-419 #11-431 #11-431
NSSYM$ #4-66 #4-69
OFF$ #5-169 #5-170 #5-171 #5-172 #5-173 #5-175 #5-176 #5-177 #5-178 #5-179
#6-217 #6-219 #6-221 #6-223 #6-240
OPNW$ #4-63 #5-169
PDVDF$ #4-66 #4-68
QDPB$ #5-169 #5-169 #5-170 #5-170 #5-171 #5-171 #5-172 #5-172 #5-173 #5-173
#5-175 #5-175 #5-176 #5-176 #5-177 #5-177 #5-178 #5-178 #5-179 #5-179
QDPB$E #6-240 #6-240
QDPB$S #11-419 #11-419 #11-431 #11-431
RECW$ #4-63 #5-175
RECW$E #4-64 #6-240
REC$ #4-63
REC$S #4-64 #11-431
RESRG #4-65 8-340 8-358
RETURN 6-289 9-386 10-409 11-421 11-434 12-447 12-453 13-473 14-496 15-507
19-635 20-673 21-679
RVP$ #7-310 7-310 #11-419 11-419 11-419 11-419 #11-431 11-431 11-431 11-431
SAVRG #4-65 8-330 8-348
SETF$S #4-65 #13-467 #14-490
SLTDF$ #4-66 4-67
SND$S #4-64 11-419
TEST72 CREATED BY MACRO ON 21-OCT-79 AT 11:28 PAGE 6
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
WTSE$S #4-65 #7-297 #7-312
$CON$ #5-171 #5-171 #5-172 #5-172 #5-173 #5-173
$GNDF$ #5-170 #5-170