Trailing-Edge
-
PDP-10 Archives
-
bb-m403a-bk
-
copy.lst
There are 2 other files named copy.lst in the archive. Click here to see a list.
.MAIN. MACRO M1113 14-APR-81 11:14
TABLE OF CONTENTS
19- 1 TITLE PAGE
20- 44 MACROS AND PARAMETERS
21- 91 COPY TASK IMPURE DATA AREA
22- 144 INITIALIZATION
23- 203 PARSE COMMAND LINE
24- 310 CHECK OUT OUR DEVICES
25- 329 DISPATCH TO ACTION ROUTINES
26- 358 COPY, VERIFY, COPY & VERIFY (/CP, /VF, /CP/VF)
27- 448 SPECIFICATION ERRORS
28- 462 READ, ZERO (/RD, /ZE)
29- 504 ^C CHECK AND DONE
30- 529 I/O ROUTINES
31- 644 COMMAND PARSER ROUTINES
32- 728 TYPEOUT ROUTINES
33- 913 END STATEMENT
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 17
DTE20 HARDWARE BITS
700 .LIST MEB
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 19
TITLE PAGE
1 .SBTTL TITLE PAGE
2 .TITLE COPY -- MCR FUNCTION 'COP' FOR RSX-20F
3 .IDENT "V003B"
4 ;
5 ;
6 ;
7 ;
8 ; COPYRIGHT (C) 1975, 1978 BY
9 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
10 ;
11 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
12 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
13 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
14 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
15 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
16 ;
17 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
18 ; NOTICE 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 SUPPILED BY DIGITAL.
23 ;
24 ;
25 ;
26 ;
27 ;
28 ;
29 ; MODULE: MCR FUNCTION -- COP
30 ;
31 ; VERSION: V003B
32 ;
33 ; AUTHOR: TOM PORCHER
34 ;
35 ; DATE: 29-APR-76
36 ;
37 ;
38 ; THIS MODULE CONTAINS:
39 ;
40 ; -- COMMAND PARSER FOR COP
41 ;
42 ; TCO 4.1.1105 20-MAY-80 S. LEAPLINE CHANGE CONTROL-C RECOG.
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 20
MACROS AND PARAMETERS
44 .SBTTL MACROS AND PARAMETERS
45 ;
46 ; ASSEMBLY CONDITIONS
47 ;
48 .LIST MEB
49 .ENABLE AMA
50 ;
51 ; MISC. .MCALLS
52 ;
53 .MCALL ALUN$S,CLEF$S,EXIT$S,GPRT$S,QIOW$S,QIO$S,WTSE$S,CALL,RETURN,PUSH,POP
54 ;
55 ; MACROS
56 ;
57 .MACRO TYPE MSG,ARG
58 .PSECT TEXT
59 $$$=.
60 .ASCIZ "MSG"
61 .PSECT
62 PUSH #$$$
63 .IF NB <ARG>
64 CALL TYP'ARG
65 .IFF
66 CALL TYPMSG
67 .ENDC
68 .ENDM TYPE
69 ;
70 .MACRO ERROR MSG
71 TYPE <"<11>"MSG"<5>">
72 .ENDM ERROR
73 ;
74 .MACRO WARN MSG
75 TYPE <"<12>"MSG"<1>">
76 .ENDM WARN
77 ;
78 ;
79 ; PARAMETERS
80 ;
81 ;
82 ; LOGICAL UNIT AND EVENT FLAG ASSIGNMENTS
83 ;
84 000001 CTYLUN= 1 ;LUN FOR CTY
85 000001 E.FCTY= CTYLUN ;ALSO EFN FOR CTY
86 000002 SRCLUN= 2 ;LUN FOR INPUT
87 000002 E.FSRC= SRCLUN ;ALSO EFN FOR INPUT
88 000003 DSTLUN= 3 ;LUN FOR OUTPUT
89 000003 E.FDST= DSTLUN ;ALSO EFN FOR OUTPUT
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 21
COPY TASK IMPURE DATA AREA
91 .SBTTL COPY TASK IMPURE DATA AREA
92 ;
93 ; VARIBLES
94 ;
95 000000 SPSAVE: .BLKW 1 ;STACK POINTER SAVE
96 000002 RADIX: .BLKW 1 ;OUTPUT NUMBER RADIX
97 000004' CMDCLR=.
98 000004 QIOSTS: .BLKW 2 ;QIO STATUS BLOCK
99 ;
100 ; *** SRCXXX AND DSTXXX MUST REMAIN IN SAME ORDER
101 ;
102 000010 SRCBLK: .BLKW 2 ;INPUT BLOCK #
103 000014 SRCDEV: .BLKW 1 ;INPUT DEVICE IN ASCII
104 000016 SRCUNT: .BLKB 1 ;INPUT UNIT #
105 000017 SRCNBF: .BLKB 1 ;1-- DON'T BLOCK (DO QIO$)
106 ;0-- BLOCK (DO QIOW$)
107 ;-1-- WAIT FOR LAST NON-BLOCK REQUEST (DO WTSE$)
108 .EVEN
109 000020 DSTBLK: .BLKW 2 ;OUTPUT BLOCK #
110 000024 DSTDEV: .BLKW 1 ;OUTPUT DEVICE
111 000026 DSTUNT: .BLKB 1 ; . .
112 000027 DSTNBF: .BLKB 1 ;OUTPUT NO-BLOCK FLAG
113 ;
114 000030 EOVFLG: .BLKB 1 ;1-- END-OF-VOLUME REACHED ON A DEVICE
115 000031 CTZFLG: .BLKB 1 ;^Z SEEN ON INPUT-- EXIT WHEN DONE
116 000032 HEFLAG: .BLKB 1 ;1-- TYPE HELP MESSAGE
117 .EVEN
118 000034 CPVFLG:
119 000034 CPFLAG: .BLKB 1 ;1-- COPY FILES
120 000035 VFFLAG: .BLKB 1 ;1-- VERIFY
121 .EVEN
122 000036 RDZFLG:
123 000036 RDFLAG: .BLKB 1 ;1-- JUST READ
124 000037 ZEFLAG: .BLKB 1 ;1-- ZERO DESTINATION DEVICE
125 000034 CMDCLN=.-CMDCLR
126 ;
127 ; BUFFERS
128 ;
129 000040 TYPBUF: .BLKB 100. ;BUFFER FOR CTY OUTPUT
130 000204 CTYBUF: .BLKB 80. ;BUFFER FOR INPUT FROM CTY
131 000120 CTYBFL= .-CTYBUF
132 000324 000 .BYTE 0 ;TO MAKE ASCIZ ALWAYS
133 .EVEN
134 ;
135 ; BUFFER POINTERS TO THE END OF OUR TASK PARTITION
136 ;
137 000326 BUFSIZ: .BLKW 1 ;BUFFER SIZE
138 000330 BUFSZ2: .BLKW 1 ;BUFFER SIZE/2
139 000332 BUFSZ4: .BLKW 1 ;BUFFER SIZE/4
140 000334 BUFBL4: .BLKW 1 ;BUFFER SIZE IN BLOCKS/4
141 000336 000000 000000 BUFEND: .LIMIT ;END OF BUFFER
142 000340' BUFADR=.-2 ;BUFFER ADDRESS (STORED BY TASK BUILDER)
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 22
INITIALIZATION
144 .SBTTL INITIALIZATION
145 ;
146 ; REQUEST FOR COPY BY MCR COP COMMAND CALLS COPY HERE
147 ;
148 000342 COPY:
149 000342 010637 000000' MOV SP,SPSAVE ;SAVE CURRENT STACK POINTER
150 ;
151 ; SETUP COMMAND DEFAULTS
152 ;
153 000346 012701 000004' MOV #CMDCLR,R1 ;GET START OF AREA TO CLEAR
154 000352 012705 000034 MOV #CMDCLN,R5 ;AND LENGTH OF AREA, IN BYTES
155 000356 10$:
156 000356 105021 CLRB (R1)+ ;CLEAR A BYTE
157 000360 077502 SOB R5,10$ ;CLEAR 'EM ALL
158 ;
159 ; GET BUFFER SIZE
160 ;
161 000362 012700 000326' MOV #BUFSIZ,R0 ;GET ADDRESS OF BUFFER SIZE AREA
162 000366 GPRT$S ,R0 ;GET OUR PARTITION PARAMETERS
000366 010046 MOV R0,-(SP)
000370 005046 CLR -(SP)
000372 005046 CLR -(SP)
000374 012746 MOV (PC)+,-(SP)
000376 101 004 .BYTE 65.,4
000400 104375 EMT 375
163 000402 103466 BCS EXITC ;BLEAH!!
164 000404 013720 000000G MOV @#$DSW,(R0)+ ;WE WANT VIRTUAL ADDRESS
165 000006 .REPT 6
166 ASL (R0) ;SHIFT TO BYTES FROM 1/64
167 .ENDR
000410 006310 ASL (R0) ;SHIFT TO BYTES FROM 1/64
000412 006310 ASL (R0) ;SHIFT TO BYTES FROM 1/64
000414 006310 ASL (R0) ;SHIFT TO BYTES FROM 1/64
000416 006310 ASL (R0) ;SHIFT TO BYTES FROM 1/64
000420 006310 ASL (R0) ;SHIFT TO BYTES FROM 1/64
000422 006310 ASL (R0) ;SHIFT TO BYTES FROM 1/64
168 000424 061040 ADD (R0),-(R0) ;GET LAST ADDRESS IN PARITION
169 000426 163710 000340' SUB BUFADR,(R0) ;COMPUTE BUFFER SIZE
170 000432 042710 003777 BIC #<4*1000>-1,(R0) ;(BUFSIZ) ROUND DOWN TO 4 BLOCK BOUNDARY
171 000436 011001 MOV (R0),R1 ;COPY THAT
172 000440 012010 MOV (R0)+,(R0) ;(BUFSZ2) COPY SIZE
173 000442 000241 CLC ;CLEAR THE NEW BIT
174 000444 006010 ROR (R0) ;(BUFSZ2) MAKE THAT SIZE/2
175 000446 012010 MOV (R0)+,(R0) ;(BUFSZ4) COPY IT AGAIN
176 000450 006010 ROR (R0) ;(BUFSZ4) SIZE/4
177 000452 012010 MOV (R0)+,(R0) ;(BUFBL4) AND AGAIN
178 000454 000310 SWAB (R0) ;(BUFBL4) MAKE THAT # BLOCKS IN BUFFER/2
179 000456 006020 ROR (R0)+ ;(BUFBL4) BLOCKS/4
180 000460 010120 MOV R1,(R0)+ ;(BUFEND) GET SIZE AGAIN
181 000462 061040 ADD (R0),-(R0) ;(BUFEND) COMPUTE END OF BUFFER
182 ;
183 ; SETUP TO READ A LINE FROM THE CTY
184 ;
185 000464 ALUN$S #CTYLUN,#"TT,#0 ;ASSIGN CTY TO LUN 1
000464 005046 CLR -(SP)
000466 012746 052124 MOV #"TT,-(SP)
000472 012746 000001 MOV #CTYLUN,-(SP)
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 22-1
INITIALIZATION
000476 012746 MOV (PC)+,-(SP)
000500 007 004 .BYTE 7.,4
000502 104375 EMT 375
186 000504 103425 BCS EXITC ;GIVE UP IF NO CTY!!!!
187 000506 TYPE ^\COP>\ ;TYPE PROMPT MESSAGE
000000 103 117 120 .ASCIZ "COP>"
000003 076 000
000506 012746 000000' MOV #$$$,-(SP)
000512 004737 002754' JSR PC,TYPMSG
188 000516 QIOW$S #IO.RLB,#CTYLUN,#E.FCTY,,#QIOSTS,,<#CTYBUF,#CTYBFL>
000516 012746 000120 MOV #CTYBFL,-(SP)
000522 012746 000204' MOV #CTYBUF,-(SP)
000526 005046 CLR -(SP)
000530 012746 000004' MOV #QIOSTS,-(SP)
000534 005046 CLR -(SP)
000536 112716 000001 MOVB #E.FCTY,(SP)
000542 012746 000001 MOV #CTYLUN,-(SP)
000546 012746 000000G MOV #IO.RLB,-(SP)
000552 012746 MOV (PC)+,-(SP)
000554 003 010 .BYTE 3,$$$T1
000556 104375 EMT 375
189 000560 EXITC:
190 000560 103571 BCS EXITA ;GIVE UP IF FAILURE
191 000562 105737 000004' TSTB QIOSTS+0 ;ERROR STATUS
192 000566 003006 BGT 10$ ;NO-- GO ON
193 000570 123727 000004' 000000G CMPB QIOSTS+0,#IE.EOF ;^Z??
194 000576 001162 BNE EXITA ;NO-- GIVE UP NOW
195 000600 105237 000031' INCB CTZFLG ;YES-- SAY TO EXIT WHEN DONE
196 000604 10$:
197 000604 TYPE <"<1>"> ;INSURE A <CR><LF>
000005 001 000 .ASCIZ ""<1>""
000604 012746 000005' MOV #$$$,-(SP)
000610 004737 002754' JSR PC,TYPMSG
198 000614 013704 000006' MOV QIOSTS+2,R4 ;GET # CHARACTERS TYPED AT ME
199 000620 105064 000204' CLRB CTYBUF(R4) ;CLEAR LAST BYTE OF INPUT (MAKE ASCIZZZ)
200 000624 012704 000204' MOV #CTYBUF,R4 ;POINT TO START OF INPUT TO PARSE
201 ; BR PARSE ;PARSE THE LINE
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 23
PARSE COMMAND LINE
203 .SBTTL PARSE COMMAND LINE
204 ;
205 ; NOW TO PARSE THE LINE, BUFFER ADDRESS IN R4
206 ;
207 000630 PARSE:
208 000630 CALL GETNB ;GET NON-BLANK CHARACTER
000630 004737 002622' JSR PC,GETNB
209 000634 001002 BNE 10$ ;GOT SOMETHING-- GO ON
210 000636 000137 002152' JMP DONE ;NULL COMMAND-- JUST DONE
211 000642 10$:
212 000642 CALL GETNAM ;GET A DEVICE NAME
000642 004737 002644' JSR PC,GETNAM
213 000646 103552 BCS SYNERR ;NO SUCH LUCK
214 000650 010037 000024' MOV R0,DSTDEV ;COPY THE TYPED NAME
215 000654 001411 BEQ 20$ ;NOT SPEC-- SEE IF =
216 000656 CALL GETNUM ;GET UNIT NUMBER OF DEVICE (IF ANY)
000656 004737 002710' JSR PC,GETNUM
217 000662 103544 BCS SYNERR ;TOO BIG-- COMPLAIN
218 000664 110037 000026' MOVB R0,DSTUNT ;COPY THE UNIT NUMBER
219 000670 122724 000072 CMPB #':,(R4)+ ; : FOLLOWING DEVICE?
220 000674 001401 BEQ 20$ ;YES-- IGNORE IT
221 000676 105744 TSTB -(R4) ;NO-- GO BACK TO LOOK AT IT AGAIN
222 000700 20$:
223 000700 CALL GETNB ;GET NON-BLANK CHARACTER
000700 004737 002622' JSR PC,GETNB
224 000704 001540 BEQ CMDONE ;ALL DONE IF EOL
225 000706 122700 000075 CMPB #'=,R0 ;THIS = SPEC?
226 000712 001023 BNE 25$ ;NO-- TRY FOR SWITCHES
227 000714 105724 TSTB (R4)+ ;YES-- SKIP IT
228 000716 CALL GETNB ;GET NON-BLANK
000716 004737 002622' JSR PC,GETNB
229 000722 001531 BEQ CMDONE ;EOL-- ALL DONE
230 000724 CALL GETNAM ;GET A DEVICE NAME
000724 004737 002644' JSR PC,GETNAM
231 000730 103521 BCS SYNERR ;NO SUCH LUCK
232 000732 010037 000014' MOV R0,SRCDEV ;COPY THE TYPED NAME
233 000736 001411 BEQ 25$ ;NONE-- TRY FOR SWITCHES
234 000740 CALL GETNUM ;GET UNIT NUMBER OF DEVICE (IF ANY)
000740 004737 002710' JSR PC,GETNUM
235 000744 103513 BCS SYNERR ;TOO BIG-- COMPLAIN
236 000746 110037 000016' MOVB R0,SRCUNT ;COPY THE UNIT NUMBER
237 000752 122724 000072 CMPB #':,(R4)+ ; : FOLLOWING DEVICE?
238 000756 001401 BEQ 25$ ;YES-- IGNORE IT
239 000760 105744 TSTB -(R4) ;NO-- GO BACK TO LOOK AT IT AGAIN
240 ;
241 ; LOOK FOR ALL SWITCHES
242 ;
243 000762 25$:
244 000762 CALL GETNB ;SKIP BLANKS AFTER UNIT
000762 004737 002622' JSR PC,GETNB
245 000766 001507 BEQ CMDONE ;END OF COMMAND-- ALL OK
246 000770 122700 000057 CMPB #'/,R0 ;THIS A SWITCH?
247 000774 001077 BNE SYNERR ;NO-- BAD CHARACTER
248 000776 105724 TSTB (R4)+ ;YES-- SKIP OVER IT
249 001000 012702 000001 MOV #1,R2 ;ASSUME NOT /-(SW)
250 001004 122714 000055 CMPB #'-,(R4) ;THIS /-(SW)?
251 001010 001002 BNE 30$ ;NO-- GO ON
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 23-1
PARSE COMMAND LINE
252 001012 105724 TSTB (R4)+ ;YES-- SKIP OVER -
253 001014 005002 CLR R2 ;AND SET TO CLEAR THE FLAG
254 001016 30$:
255 001016 CALL GETNAM ;GET THE SWITCH
001016 004737 002644' JSR PC,GETNAM
256 001022 103464 BCS SYNERR ;TOO LONG-- GIVE UP
257 001024 022700 046102 CMP #"BL,R0 ;/BL:NNNN?
258 001030 001027 BNE 39$ ;NO-- GO ON
259 001032 122714 000072 CMPB #':,(R4) ;THIS /BL:?
260 001036 001056 BNE SYNERR ;NO DICE
261 001040 32$:
262 001040 105724 TSTB (R4)+ ;YES-- OK
263 001042 CALL GETNB ;GET THE BLANKS
001042 004737 002622' JSR PC,GETNB
264 001046 001452 BEQ SYNERR ;OOPS
265 001050 CALL GETNUM ;GET THE NUMBER
001050 004737 002710' JSR PC,GETNUM
266 001054 103447 BCS SYNERR ;OOPS
267 001056 122714 000054 CMPB #',,(R4) ;THIS N,NNN?
268 001062 001005 BNE 35$ ;NO-- GO ON
269 001064 110037 000010' MOVB R0,SRCBLK+0 ;YES-- SET SRC BLOCK (HIGH PART)
270 001070 110037 000020' MOVB R0,DSTBLK+0 ; AND DESTINATION
271 001074 000761 BR 32$ ;LOOP FOR LOW PART
272 ;
273 001076 35$:
274 001076 010037 000012' MOV R0,SRCBLK+2 ;SAVE LOW PART
275 001102 010037 000022' MOV R0,DSTBLK+2 ; . .
276 001106 000725 BR 25$ ;LOOP FOR MORE SWITCHES
277 ;
278 001110 39$:
279 001110 012701 001150' MOV #MODTBL,R1 ;GET ADDRESS OF SWITCH TABLE
280 001114 012705 000005 MOV #MODTLN,R5 ; AND LENGTH OF IT
281 001120 40$:
282 001120 020021 CMP R0,(R1)+ ;THIS SWITCH MATCH?
283 001122 001002 BNE 50$ ;NO-- LOOP FOR MORE
284 001124 110231 MOVB R2,@(R1)+ ;YES-- SET THE FLAG AS REQUESTED
285 001126 000715 BR 25$ ;LOOP FOR ALL SWITCHES
286 ;
287 001130 50$:
288 001130 005721 TST (R1)+ ;NO-- SKIP OVER FLAG ADDRESS
289 001132 077506 SOB R5,40$ ;NO-- LOOP FOR ALL SWITCHES
290 001134 ERROR <Illegal switch /"<2>">
000007 011 111 154 .ASCIZ ""<11>"Illegal switch /"<2>""<5>""
000012 154 145 147
000015 141 154 040
000020 163 167 151
000023 164 143 150
000026 040 057 002
000031 005 000
001134 012746 000007' MOV #$$$,-(SP)
001140 004737 002754' JSR PC,TYPMSG
291 001144 EXITA:
292 001144 000137 003406' JMP EXIT ;TOO FAR TO HOP
293 ;
294 ; SWITCH TABLE
295 ;
296 001150 MODTBL:
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 23-2
PARSE COMMAND LINE
297 .IRP ARG,<CP,HE,RD,VF,ZE>
298 .ASCII /ARG/
299 .EVEN
300 .WORD ARG'FLAG
301 .ENDM
001150 103 120 .ASCII /CP/
001152 000034' .WORD CPFLAG
001154 110 105 .ASCII /HE/
001156 000032' .WORD HEFLAG
001160 122 104 .ASCII /RD/
001162 000036' .WORD RDFLAG
001164 126 106 .ASCII /VF/
001166 000035' .WORD VFFLAG
001170 132 105 .ASCII /ZE/
001172 000037' .WORD ZEFLAG
302 000005 MODTLN=<.-MODTBL>/4
303 ;
304 ; COMMAND ERRORS
305 ;
306 001174 SYNERR:
307 001174 010400 MOV R4,R0 ;POINT INPUT STRING TO OUTPUT STRING
308 001176 ERROR <Syntax error: "<4>">
000033 011 123 171 .ASCIZ ""<11>"Syntax error: "<4>""<5>""
000036 156 164 141
000041 170 040 145
000044 162 162 157
000047 162 072 040
000052 004 005 000
001176 012746 000033' MOV #$$$,-(SP)
001202 004737 002754' JSR PC,TYPMSG
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 24
CHECK OUT OUR DEVICES
310 .SBTTL CHECK OUT OUR DEVICES
311 ;
312 ; THE COMMAND STRING IS NOW PARSED. CHECK OUT THE DEVICE HE SPECIFIED.
313 ;
314 001206 CMDONE:
315 001206 012705 000014' MOV #SRCDEV,R5 ;ALSO INPUT
316 001212 005725 TST (R5)+ ;SPECIFIED?
317 001214 001410 BEQ 10$ ;NO-- SKIP IT
318 001216 ALUN$S #SRCLUN,-(R5),(R5)
001216 011546 MOV (R5),-(SP)
001220 014546 MOV -(R5),-(SP)
001222 012746 000002 MOV #SRCLUN,-(SP)
001226 012746 MOV (PC)+,-(SP)
001230 007 004 .BYTE 7.,4
001232 104375 EMT 375
319 001234 103414 BCS DNSERR ;OOPS
320 001236 10$:
321 001236 012705 000024' MOV #DSTDEV,R5 ;POINT TO OUTPUT DEVICE
322 001242 005725 TST (R5)+ ;SPEC?
323 001244 001414 BEQ GOTDEV ;NO-- SKIP IT
324 001246 ALUN$S #DSTLUN,-(R5),(R5) ;ASSIGN IT
001246 011546 MOV (R5),-(SP)
001250 014546 MOV -(R5),-(SP)
001252 012746 000003 MOV #DSTLUN,-(SP)
001256 012746 MOV (PC)+,-(SP)
001260 007 004 .BYTE 7.,4
001262 104375 EMT 375
325 001264 103004 BCC GOTDEV ;GOT IT-- OK
326 001266 DNSERR:
327 001266 ERROR <Device "<3>" not in system>
000055 011 104 145 .ASCIZ ""<11>"Device "<3>" not in system"<5>""
000060 166 151 143
000063 145 040 003
000066 040 156 157
000071 164 040 151
000074 156 040 163
000077 171 163 164
000102 145 155 005
000105 000
001266 012746 000055' MOV #$$$,-(SP)
001272 004737 002754' JSR PC,TYPMSG
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 25
DISPATCH TO ACTION ROUTINES
329 .SBTTL DISPATCH TO ACTION ROUTINES
330 ;
331 ; HERE WHEN DEVICES FOUND TO EXIST
332 ;
333 001276 GOTDEV:
334 001276 CLEF$S #E.FCTC ;[4.1.1105]
001276 012746 000000G MOV #E.FCTC,-(SP)
001302 012746 MOV (PC)+,-(SP)
001304 037 002 .BYTE 31.,2
001306 104375 EMT 375
335 ;
336 001310 013702 000340' MOV BUFADR,R2
337 001314 013703 000326' MOV BUFSIZ,R3
338 ;
339 001320 105737 000032' TSTB HEFLAG ;/HE???
340 001324 001405 BEQ GOTDV1 ;NO-- GO ON
341 001326 TYPE ^\COP> dest-dev: = src-dev: /sw -- Switches: /BL:N,N /CP /HE /RD /VF /ZE"<1>"\
000106 103 117 120 .ASCIZ "COP> dest-dev: = src-dev: /sw -- Switches: /BL:N,N /CP /HE /RD /VF /ZE"<1>""
000111 076 040 144
000114 145 163 164
000117 055 144 145
000122 166 072 040
000125 075 040 163
000130 162 143 055
000133 144 145 166
000136 072 040 057
000141 163 167 040
000144 055 055 040
000147 123 167 151
000152 164 143 150
000155 145 163 072
000160 040 057 102
000163 114 072 116
000166 054 116 040
000171 057 103 120
000174 040 057 110
000177 105 040 057
000202 122 104 040
000205 057 126 106
000210 040 057 132
000213 105 001 000
001326 012746 000106' MOV #$$$,-(SP)
001332 004737 002754' JSR PC,TYPMSG
342 001336 000575 BR DONEA ;HELP IS ON THE WAY . . .
343 ;
344 001340 GOTDV1:
345 001340 005737 000034' TST CPVFLG ;/CP OR /VF SPECIFIED?
346 001344 001012 BNE COPVFY ;YES-- CHECK IT OUT
347 001346 005737 000036' TST RDZFLG ;/ZE OR /RD?
348 001352 001003 BNE 10$ ;YES-- DO THEM
349 001354 005737 000024' TST DSTDEV ;NO SWITCHES-- DESTINATION SPEC?
350 001360 001002 BNE 20$ ;YES-- MUST WANT COPY & VERIFY
351 001362 10$:
352 001362 000137 002004' JMP RDZERO ;GO READ OR ZERO
353 ;
354 001366 20$:
355 001366 005137 000034' COM CPVFLG ;OUTPUT SPEC-- ASSUME COPY & VERIFY
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 25-1
DISPATCH TO ACTION ROUTINES
356 ; BR COPVFY ;SO DO COPY
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 26
COPY, VERIFY, COPY & VERIFY (/CP, /VF, /CP/VF)
358 .SBTTL COPY, VERIFY, COPY & VERIFY (/CP, /VF, /CP/VF)
359 ;
360 ;
361 001372 COPVFY:
362 001372 005737 000036' TST RDZFLG ;/RD OR /ZE?
363 001376 001156 BNE CFMERR ;YES-- CONFLICTING SWITCHES
364 001400 005737 000014' TST SRCDEV ;INPUT NEEDED
365 001404 001563 BEQ NISERR ; . .
366 001406 005737 000024' TST DSTDEV ;MAKE SURE OUTPUT
367 001412 001554 BEQ NOSERR ;NO-- NEED OUTPUT
368 001414 105737 000034' TSTB CPFLAG ;/CP?
369 001420 001430 BEQ VERIFY ;NO-- JUST DO VERIFY
370 ;
371 001422 10$: CALL SRCRD
001422 004737 002174' JSR PC,SRCRD
372 001426 CALL DSTWT
001426 004737 002220' JSR PC,DSTWT
373 001432 105737 000030' TSTB EOVFLG
374 001436 001771 BEQ 10$
375 001440 105737 000035' TSTB VFFLAG ;/VF SPEC ALSO?
376 001444 001532 BEQ DONEA
377 001446 TYPE <COP -- Starting verify"<1>">
000216 103 117 120 .ASCIZ "COP -- Starting verify"<1>""
000221 040 055 055
000224 040 123 164
000227 141 162 164
000232 151 156 147
000235 040 166 145
000240 162 151 146
000243 171 001 000
001446 012746 000216' MOV #$$$,-(SP)
001452 004737 002754' JSR PC,TYPMSG
378 001456 005037 000010' CLR SRCBLK
379 001462 005037 000012' CLR SRCBLK+2
380 001466 005037 000020' CLR DSTBLK
381 001472 005037 000022' CLR DSTBLK+2
382 001476 105037 000030' CLRB EOVFLG
383 ; BR VERIFY ;DO THE VERIFY
384 ;
385 ; VERIFY (/VF)
386 ;
387 001502 VERIFY:
388 001502 013703 000332' MOV BUFSZ4,R3
389 ;
390 001506 VFY1: CALL SRCRD
001506 004737 002174' JSR PC,SRCRD
391 001512 PUSH R2 ;SAVE BUFFER ADDRESS
001512 010246 MOV R2,-(SP)
392 001514 060302 ADD R3,R2
393 001516 CALL DSTRD
001516 004737 002212' JSR PC,DSTRD
394 001522 060302 ADD R3,R2 ;BUMP TO NEXT BUFFER
395 001524 105737 000030' TSTB EOVFLG ;END-OF-VOLUME REACHED?
396 001530 001017 BNE 20$ ;YES-- DON'T READ NEXT BUFFER AHEAD
397 001532 020237 000336' CMP R2,BUFEND ;AT END?
398 001536 103402 BLO 10$ ;NO-- GO ON
399 001540 013702 000340' MOV BUFADR,R2 ;YES-- RECYCLE
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 26-1
COPY, VERIFY, COPY & VERIFY (/CP, /VF, /CP/VF)
400 001544 10$:
401 001544 105237 000017' INCB SRCNBF ;DON'T BLOCK
402 001550 CALL SRCRD ;START READ OF NEXT BLOCK
001550 004737 002174' JSR PC,SRCRD
403 001554 060302 ADD R3,R2 ;BUMP TO NEXT BUFFER (DEST)
404 001556 105237 000027' INCB DSTNBF ;DON'T BLOCK
405 001562 CALL DSTRD ;START READ OF NEXT BLOCK
001562 004737 002212' JSR PC,DSTRD
406 001566 160302 SUB R3,R2 ;BACK DO BUFFER START
407 001570 20$:
408 001570 POP R1 ;RESTORE CURRENT BUFFER ADDRESS
001570 012601 MOV (SP)+,R1
409 001572 PUSH R2 ;SAVE NEXT ONE
001572 010246 MOV R2,-(SP)
410 001574 010102 MOV R1,R2 ;COPY ADDRESS
411 001576 060302 ADD R3,R2 ;MAKE THAT DEST BUFFER ADDRESS
412 001600 010204 MOV R2,R4 ;COPY THAT FOR TERMINATION
413 001602 010100 MOV R1,R0 ;COPY INIT ADDRESS IN CASE OF ERROR
414 001604 VFY2:
415 001604 022122 CMP (R1)+,(R2)+ ;MATCH?
416 001606 001443 BEQ VFY3 ;YES-- OK
417 001610 005741 TST -(R1) ;NO-- VERIFY ERROR-- GET US BACK INTO THE BLOCK WITH THE ERROR
418 001612 160001 SUB R0,R1 ;COMPUTE BYTES INTO BUFFER
419 001614 010146 MOV R1,-(SP) ;COPY THAT COUNT
420 001616 062701 001000 ADD #1000,R1 ;ROUND UP
421 001622 042701 000777 BIC #1000-1,R1 ; TO NEXT BLOCK
422 001626 060001 ADD R0,R1 ;THEN TO BUFFER ADDRESS OF SAME
423 001630 010102 MOV R1,R2 ;COPY ADDRESS
424 001632 063702 000332' ADD BUFSZ4,R2 ;MAKE THAT INTO DESTINATION BUFFER
425 001636 105016 CLRB (SP) ;ZERO THE UNUSED BITS
426 001640 000316 SWAB (SP) ;MAKE THAT BYTES/400
427 001642 006216 ASR (SP) ; BYTES/1000 =BLOCKS
428 001644 063716 000012' ADD SRCBLK+2,(SP) ;COMPUTE BLOCK IN ERROR
429 001650 013746 000010' MOV SRCBLK+0,-(SP) ; . .
430 001654 005516 ADC (SP) ; YOU TOO
431 001656 163766 000334' 000002 SUB BUFBL4,2(SP) ;DOWN BY A BUFFER-SIZE OF BLOCKS
432 001664 005616 SBC (SP) ;YOU TOO
433 001666 010605 MOV SP,R5 ;THAT'S WHERE OUR BLOCK # IS
434 001670 062705 000004 ADD #SRCDEV-SRCBLK,R5 ;POINT TO RIGHT PLACE
435 001674 WARN <Verify error"<10>">
000246 012 126 145 .ASCIZ ""<12>"Verify error"<10>""<1>""
000251 162 151 146
000254 171 040 145
000257 162 162 157
000262 162 010 001
000265 000
001674 012746 000246' MOV #$$$,-(SP)
001700 004737 002754' JSR PC,TYPMSG
436 001704 162705 000004 SUB #SRCDEV-SRCBLK,R5 ;BACK AGAIN FOR CTCCHK
437 001710 CALL CTCCHK ;CHECK FOR ^C JUST IN CASE NOW
001710 004737 002112' JSR PC,CTCCHK
438 001714 022626 CMP (SP)+,(SP)+ ;PHEW!
439 001716 VFY3:
440 001716 020104 CMP R1,R4 ;DONE YET?
441 001720 103731 BLO VFY2 ;NO-- BACK FOR ANOTHER WORD
442 001722 POP R2 ;RESTORE NEXT BUFFER ADDRESS
001722 012602 MOV (SP)+,R2
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 26-2
COPY, VERIFY, COPY & VERIFY (/CP, /VF, /CP/VF)
443 001724 105737 000030' TSTB EOVFLG ;YES-- DONE WITH VOLUME YET?
444 001730 001666 BEQ VFY1 ;NO-- KEEP ON READING
445 001732 DONEA:
446 001732 000507 BR DONE ;YES-- ALL DONE WITH VERIFY
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 27
SPECIFICATION ERRORS
448 .SBTTL SPECIFICATION ERRORS
449 ;
450 ;
451 001734 CFMERR:
452 001734 ERROR <Conflicting switches>
000266 011 103 157 .ASCIZ ""<11>"Conflicting switches"<5>""
000271 156 146 154
000274 151 143 164
000277 151 156 147
000302 040 163 167
000305 151 164 143
000310 150 145 163
000313 005 000
001734 012746 000266' MOV #$$$,-(SP)
001740 004737 002754' JSR PC,TYPMSG
453 001744 NOSERR:
454 001744 ERROR <No destination device specified for /CP or /VF or /ZE>
000315 011 116 157 .ASCIZ ""<11>"No destination device specified for /CP or /VF or /ZE"<5>""
000320 040 144 145
000323 163 164 151
000326 156 141 164
000331 151 157 156
000334 040 144 145
000337 166 151 143
000342 145 040 163
000345 160 145 143
000350 151 146 151
000353 145 144 040
000356 146 157 162
000361 040 057 103
000364 120 040 157
000367 162 040 057
000372 126 106 040
000375 157 162 040
000400 057 132 105
000403 005 000
001744 012746 000315' MOV #$$$,-(SP)
001750 004737 002754' JSR PC,TYPMSG
455 001754 NISERR:
456 001754 ERROR <No source device specified for /CP or /VF or /RD>
000405 011 116 157 .ASCIZ ""<11>"No source device specified for /CP or /VF or /RD"<5>""
000410 040 163 157
000413 165 162 143
000416 145 040 144
000421 145 166 151
000424 143 145 040
000427 163 160 145
000432 143 151 146
000435 151 145 144
000440 040 146 157
000443 162 040 057
000446 103 120 040
000451 157 162 040
000454 057 126 106
000457 040 157 162
000462 040 057 122
000465 104 005 000
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 27-1
SPECIFICATION ERRORS
001754 012746 000405' MOV #$$$,-(SP)
001760 004737 002754' JSR PC,TYPMSG
457 001764 TMSERR:
458 001764 ERROR <Source device specified for /ZE>
000470 011 123 157 .ASCIZ ""<11>"Source device specified for /ZE"<5>""
000473 165 162 143
000476 145 040 144
000501 145 166 151
000504 143 145 040
000507 163 160 145
000512 143 151 146
000515 151 145 144
000520 040 146 157
000523 162 040 057
000526 132 105 005
000531 000
001764 012746 000470' MOV #$$$,-(SP)
001770 004737 002754' JSR PC,TYPMSG
459 001774 TMDERR:
460 001774 ERROR <Destination device specified for /RD>
000532 011 104 145 .ASCIZ ""<11>"Destination device specified for /RD"<5>""
000535 163 164 151
000540 156 141 164
000543 151 157 156
000546 040 144 145
000551 166 151 143
000554 145 040 163
000557 160 145 143
000562 151 146 151
000565 145 144 040
000570 146 157 162
000573 040 057 122
000576 104 005 000
001774 012746 000532' MOV #$$$,-(SP)
002000 004737 002754' JSR PC,TYPMSG
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 28
READ, ZERO (/RD, /ZE)
462 .SBTTL READ, ZERO (/RD, /ZE)
463 ;
464 ;
465 002004 RDZERO:
466 002004 105737 000037' TSTB ZEFLAG ;ZERO?
467 002010 001424 BEQ READ ;NO-- TRY FOR READ
468 ; BR ZERO ;YES-- ZERO
469 ;
470 ; ZERO (/ZE)
471 ;
472 002012 ZERO:
473 002012 105737 000036' TSTB RDFLAG ;/RD????
474 002016 001346 BNE CFMERR ;YES-- CONFLICT
475 002020 005737 000024' TST DSTDEV ;OUTPUT SPEC?
476 002024 001747 BEQ NOSERR ;NO-- WE NEED IT
477 002026 005737 000014' TST SRCDEV ;HOW 'BOUT INPUT?
478 002032 001354 BNE TMSERR ;THAT'S NOT NEEDED
479 ;
480 002034 010200 MOV R2,R0 ;COPY BUFFER ADDRESS
481 002036 013701 000330' MOV BUFSZ2,R1 ;GET BUFFER SIZE IN WORDS
482 002042 10$:
483 002042 005020 CLR (R0)+ ;ZERO A WORD
484 002044 077102 SOB R1,10$ ;LOOP FOR WHOLE BUFFER
485 002046 20$:
486 002046 CALL DSTWT ;WRITE A BUFFER OF ZEROS
002046 004737 002220' JSR PC,DSTWT
487 002052 105737 000030' TSTB EOVFLG ;DONE?
488 002056 001773 BEQ 20$ ;NO-- KEEP ON WRITING
489 002060 000434 BR DONE ;YES-- ALLL DONE
490 ;
491 ; READ (/RD)
492 ;
493 002062 READ:
494 002062 005737 000024' TST DSTDEV ;DSTDEV SPEC??
495 002066 001342 BNE TMDERR ;YES-- WE CAN'T USE IT
496 002070 005737 000014' TST SRCDEV ;INPUT SPEC?
497 002074 001727 BEQ NISERR ;NO-- REQUIRED FOR /RD
498 ;
499 002076 10$: CALL SRCRD
002076 004737 002174' JSR PC,SRCRD
500 002102 105737 000030' TSTB EOVFLG
501 002106 001773 BEQ 10$
502 002110 000420 BR DONE
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 29
^C CHECK AND DONE
504 .SBTTL ^C CHECK AND DONE
505 ;
506 ; CTCCHK -- CHECK FOR ^C TYPED
507 ;
508 002112 CTCCHK:
509 002112 CLEF$S #E.FCTC ;[4.1.1105]
002112 012746 000000G MOV #E.FCTC,-(SP)
002116 012746 MOV (PC)+,-(SP)
002120 037 002 .BYTE 31.,2
002122 104375 EMT 375
510 002124 023727 000000G 000000G CMP @#$DSW,#IS.SET
511 002132 001401 BEQ 10$ ;SET-- ABORT NOW
512 002134 RETURN ;NOT SET-- RETURN FROM CTCCHK
002134 000207 RTS PC
513 ;
514 002136 10$:
515 002136 062705 000004 ADD #SRCDEV-SRCBLK,R5
516 002142 WARN <Aborted by ^C"<10>">
000601 012 101 142 .ASCIZ ""<12>"Aborted by ^C"<10>""<1>""
000604 157 162 164
000607 145 144 040
000612 142 171 040
000615 136 103 010
000620 001 000
002142 012746 000601' MOV #$$$,-(SP)
002146 004737 002754' JSR PC,TYPMSG
517 ; BR DONE
518 ;
519 ; DONE -- HERE WHEN ALL DONE WITH COMMAND
520 ;
521 002152 DONE:
522 002152 013706 000000' MOV SPSAVE,SP
523 002156 105737 000031' TSTB CTZFLG ;^Z TYPED?
524 002162 001002 BNE 10$ ;YES-- GO AWAY
525 002164 000137 000342' JMP COPY
526 002170 10$:
527 002170 000137 003406' JMP EXIT
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 30
I/O ROUTINES
529 .SBTTL I/O ROUTINES
530 ;
531 ; SRCRD -- READ FROM SRCLUN
532 ;
533 002174 SRCRD:
534 002174 012704 000000G MOV #IO.RLB,R4
535 002200 012701 000002 MOV #SRCLUN,R1
536 002204 012705 000010' MOV #SRCBLK,R5
537 002210 000411 BR DEVOP
538 ;
539 ; DSTRD -- READ FROM DSTLUN
540 ;
541 002212 DSTRD:
542 002212 012704 000000G MOV #IO.RLB,R4
543 002216 000402 BR DSTOP
544 ;
545 ; DSTWT -- WRITE TO DSTLUN
546 ;
547 002220 DSTWT:
548 002220 012704 000000G MOV #IO.WLB,R4
549 002224 DSTOP:
550 002224 012701 000003 MOV #DSTLUN,R1
551 002230 012705 000020' MOV #DSTBLK,R5
552 ; BR DEVOP
553 ;
554 ; DEVOP -- PERFORM I/O ON A DEV
555 ; R1 -- LUN (ALSO EFN)
556 ; R2 -- ADDR OF BUFFER
557 ; R3 -- SIZE OF BUFFER
558 ; R4 -- I/O FUNCTION
559 ; R5 -- ADDR OF CURRENT BLOCK #
560 ;
561 ; RETURNS:
562 ; EOVFLG -- NON-ZERO IF EOV ENCOUNTERED (ON ANY OPERATION)
563 ;
564 002234 DEVOP:
565 002234 PUSH <R2,R3>
002234 010246 MOV R2,-(SP)
002236 010346 MOV R3,-(SP)
566 002240 010200 MOV R2,R0
567 002242 060300 ADD R3,R0
568 ;
569 002244 105765 000007 TSTB SRCNBF-SRCBLK(R5) ;NO BLOCK MODE?
570 002250 002007 BGE DEVOP1 ;NO, OR NOT TIME TO BLOCK-- GO ON
571 002252 105065 000007 CLRB SRCNBF-SRCBLK(R5) ;YES-- CLEAR FLAG
572 002256 WTSE$S R1 ; AND BLOCK NOW
002256 010146 MOV R1,-(SP)
002260 012746 MOV (PC)+,-(SP)
002262 051 002 .BYTE 41.,2
002264 104375 EMT 375
573 002266 000451 BR DEVOP2 ;ONWARD!
574 ;
575 002270 DEVOP1:
576 002270 CALL CTCCHK ;CHECK FOR ^C
002270 004737 002112' JSR PC,CTCCHK
577 ;
578 002274 105765 000007 TSTB SRCNBF-SRCBLK(R5) ;NO BLOCK?
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 30-1
I/O ROUTINES
579 002300 003424 BLE 10$ ;NO-- GO ON AND DO QIOW$
580 002302 105465 000007 NEGB SRCNBF-SRCBLK(R5) ;YES-- SET FLAG TO BLOCK NEXT CALL
581 002306 QIO$S R4,R1,R1,,#QIOSTS,,<R2,R3,,(R5),2(R5)>
002306 016546 000002 MOV 2(R5),-(SP)
002312 011546 MOV (R5),-(SP)
002314 005046 CLR -(SP)
002316 010346 MOV R3,-(SP)
002320 010246 MOV R2,-(SP)
002322 005046 CLR -(SP)
002324 012746 000004' MOV #QIOSTS,-(SP)
002330 005046 CLR -(SP)
002332 110116 MOVB R1,(SP)
002334 010146 MOV R1,-(SP)
002336 010446 MOV R4,-(SP)
002340 012746 MOV (PC)+,-(SP)
002342 001 013 .BYTE 1,$$$T1
002344 104375 EMT 375
582 002346 103500 BCS FTLERR ;OOPS!!!
583 002350 000474 BR DEVOP9 ;GO NOW, RETURN LATER TO COMPLETE WAIT
584 ;
585 002352 10$:
586 002352 QIOW$S R4,R1,R1,,#QIOSTS,,<R2,R3,,(R5),2(R5)>
002352 016546 000002 MOV 2(R5),-(SP)
002356 011546 MOV (R5),-(SP)
002360 005046 CLR -(SP)
002362 010346 MOV R3,-(SP)
002364 010246 MOV R2,-(SP)
002366 005046 CLR -(SP)
002370 012746 000004' MOV #QIOSTS,-(SP)
002374 005046 CLR -(SP)
002376 110116 MOVB R1,(SP)
002400 010146 MOV R1,-(SP)
002402 010446 MOV R4,-(SP)
002404 012746 MOV (PC)+,-(SP)
002406 003 013 .BYTE 3,$$$T1
002410 104375 EMT 375
587 002412 DEVOP2:
588 002412 103456 BCS FTLERR
589 002414 123727 000004' 000000G CMPB QIOSTS+0,#IE.BLK
590 002422 001411 BEQ 20$
591 ;
592 002424 020327 001000 CMP R3,#1000
593 002430 003416 BLE 40$
594 ;
595 002432 105737 000004' TSTB QIOSTS+0
596 002436 003005 BGT 30$
597 002440 012703 001000 MOV #1000,R3
598 002444 000711 BR DEVOP1
599 ;
600 002446 105237 000030' 20$: INCB EOVFLG
601 ;
602 002452 000303 30$: SWAB R3
603 002454 006203 ASR R3
604 002456 060365 000002 ADD R3,2(R5)
605 002462 105515 ADCB (R5)
606 002464 000426 BR DEVOP9
607 ;
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 30-2
I/O ROUTINES
608 002466 105737 000004' 40$: TSTB QIOSTS+0
609 002472 003014 BGT DEVOP8
610 ;
611 002474 123727 000004' 000000G 50$: CMPB QIOSTS+0,#IE.VER
612 002502 001022 BNE FTLERR
613 002504 PUSH R5
002504 010546 MOV R5,-(SP)
614 002506 062705 000004 ADD #SRCDEV-SRCBLK,R5
615 002512 WARN <I/O error on "<3><10>">
000622 012 111 057 .ASCIZ ""<12>"I/O error on "<3><10>""<1>""
000625 117 040 145
000630 162 162 157
000633 162 040 157
000636 156 040 003
000641 010 001 000
002512 012746 000622' MOV #$$$,-(SP)
002516 004737 002754' JSR PC,TYPMSG
616 002522 POP R5
002522 012605 MOV (SP)+,R5
617 ;
618 002524 060302 DEVOP8: ADD R3,R2
619 002526 062765 000001 000002 ADD #1,2(R5)
620 002534 105515 ADCB (R5)
621 002536 020200 CMP R2,R0
622 002540 103653 BLO DEVOP1
623 ;
624 002542 DEVOP9:
625 002542 POP <R3,R2>
002542 012603 MOV (SP)+,R3
002544 012602 MOV (SP)+,R2
626 002546 RETURN
002546 000207 RTS PC
627 ;
628 002550 FTLERR:
629 002550 013706 000000' MOV SPSAVE,SP
630 002554 113700 000004' MOVB QIOSTS+0,R0
631 002560 001404 BEQ 10$
632 002562 120027 000000G CMPB R0,#IE.WLK ;WRITE-LOCK?
633 002566 001411 BEQ WLKERR ;YES-- SAY THAT
634 002570 000402 BR 20$ ;NO-- GO ON
635 ;
636 002572 10$:
637 002572 013700 000000G MOV @#$DSW,R0
638 002576 20$:
639 002576 062705 000004 ADD #SRCDEV-SRCBLK,R5
640 002602 ERROR <Fatal I/O error "<7>" on "<3><10>">
000644 011 106 141 .ASCIZ ""<11>"Fatal I/O error "<7>" on "<3><10>""<5>""
000647 164 141 154
000652 040 111 057
000655 117 040 145
000660 162 162 157
000663 162 040 007
000666 040 157 156
000671 040 003 010
000674 005 000
002602 012746 000644' MOV #$$$,-(SP)
002606 004737 002754' JSR PC,TYPMSG
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 30-3
I/O ROUTINES
641 002612 WLKERR:
642 002612 ERROR <Device "<3>" is write-locked>
000676 011 104 145 .ASCIZ ""<11>"Device "<3>" is write-locked"<5>""
000701 166 151 143
000704 145 040 003
000707 040 151 163
000712 040 167 162
000715 151 164 145
000720 055 154 157
000723 143 153 145
000726 144 005 000
002612 012746 000676' MOV #$$$,-(SP)
002616 004737 002754' JSR PC,TYPMSG
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 31
COMMAND PARSER ROUTINES
644 .SBTTL COMMAND PARSER ROUTINES
645 ;
646 ; GENERAL NOTES:
647 ;
648 ; R4 IS ALWAYS USED AS A POINTER TO THE COMMAND STRING. ON CALL,
649 ; IT POINTS TO THE NEXT CHARACTER TO BE PROCESSED. ON RETURN, R4
650 ; ALWAYS POINTS TO THE CHARACTER AFTER THE LAST ONE PROCESSED, I.E.
651 ; THE NEXT ONE TO BE PROCESSED.
652 ;
653 ; NOTE THAT END-OF-LINE IS A ZERO BYTE
654 ;
655 ;
656 ; GETNB -- GET NEXT NON-BLANK CHARACTER
657 ;
658 ; RETURNS WITH R4 POINTING TO THE NEXT NON-BLANK CHARACTER
659 ; R0 -- NON-BLANK CHARACTER
660 ; CC-Z SET IF END-OF-LINE
661 ;
662 002622 GETNB:
663 002622 112400 MOVB (R4)+,R0 ;GET A CHARACTER
664 002624 122700 000040 CMPB #' ,R0 ;THIS BLANK?
665 002630 001774 BEQ GETNB ;YES-- LOOK SOME MORE
666 002632 122700 000011 CMPB #' ,R0 ;OR A TAB?
667 002636 001771 BEQ GETNB ;YES-- LOOK SOME MORE
668 002640 10$:
669 002640 105744 TSTB -(R4) ;NON-BLANK-- BACK OVER IT (MAY BE EOL)
670 002642 RETURN ; FROM GETNB
002642 000207 RTS PC
671 ;
672 ; GETNAM -- GET TWO-CHARACTER ALPHABETIC NAME
673 ;
674 ; RETURNS AFTER TWO CHARCTERS OR NON-ALPHABETIC
675 ; R0 -- (LOW) FIRST CHARACTER (HIGH) SECOND CHARACTER
676 ; CC-C SET IF MORE THAN TWO CHARACTERS
677 ;
678 002644 GETNAM:
679 002644 005000 CLR R0 ;CLEAR ANSWER
680 002646 10$:
681 002646 122714 000101 CMPB #'A,(R4) ;BELOW A?
682 002652 101015 BHI 50$ ;YES-- RETURN CC-C CLEAR
683 002654 121427 000132 CMPB (R4),#'Z ;OR ABOVE Z?
684 002660 101012 BHI 50$ ;YES-- RETURN CC-C CLEAR
685 002662 005700 TST R0 ;GOT A BYTE YET?
686 002664 001002 BNE 20$ ;YES-- STORE SECOND BYTE
687 002666 112400 MOVB (R4)+,R0 ;NO-- GET LOW BYTE
688 002670 000766 BR 10$ ;LOOP FOR NEXT CHARACTER
689 ;
690 002672 20$:
691 002672 000300 SWAB R0 ;GET HIGH BYTE
692 002674 001003 BNE 40$ ;ALREADY THERE-- ERROR
693 002676 152400 BISB (R4)+,R0 ;OK-- SET SECOND CHARACTER
694 002700 000300 SWAB R0 ;RESTORE R0 TO PROPER ORIENTATION
695 002702 000761 BR 10$ ;LOOP FOR ANOTHER (?)
696 ;
697 002704 40$:
698 002704 000261 SEC ;ERROR
699 002706 50$:
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 31-1
COMMAND PARSER ROUTINES
700 002706 RETURN ; FROM GETNAM
002706 000207 RTS PC
701 ;
702 ; GETNUM -- GET OCTAL NUMBER
703 ;
704 ; RETURNS WITH NON-DIGIT OR IF MORE THAN A WORD'S WORTH
705 ; R0 -- NUMBER
706 ; CC-C SET IF LARGER THAN ONE WORD
707 ;
708 002710 GETNUM:
709 002710 005000 CLR R0 ;CLEAR RESULT
710 002712 10$:
711 002712 112401 MOVB (R4)+,R1 ;GET A DIGIT
712 002714 162701 000060 SUB #'0,R1 ;TRIM DOWN TO DIGIT
713 002720 103413 BLO 40$ ;NOT A DIGIT-- GIVE UP
714 002722 022701 000007 CMP #7,R1 ;TOO HIGH?
715 002726 103410 BLO 40$ ;YES-- GIVE UP WITH CC-C CLEAR
716 000003 .REPT 3
717 ASL R0 ;SHIFT OLD NUMBER A BIT
718 BCS 50$ ;CARRY OUT-- NUMBER TOO BIG-- CC-C SET
719 .ENDR
002730 006300 ASL R0 ;SHIFT OLD NUMBER A BIT
002732 103407 BCS 50$ ;CARRY OUT-- NUMBER TOO BIG-- CC-C SET
002734 006300 ASL R0 ;SHIFT OLD NUMBER A BIT
002736 103405 BCS 50$ ;CARRY OUT-- NUMBER TOO BIG-- CC-C SET
002740 006300 ASL R0 ;SHIFT OLD NUMBER A BIT
002742 103403 BCS 50$ ;CARRY OUT-- NUMBER TOO BIG-- CC-C SET
720 002744 060100 ADD R1,R0 ;ACCUMULATE THIS DIGIT
721 002746 000761 BR 10$ ;FETCH ANOTHER DIGIT
722 ;
723 002750 40$:
724 002750 105744 TSTB -(R4) ;BACK OVER BAD CHARACTER
725 002752 50$:
726 002752 RETURN ;FROM GETNUM
002752 000207 RTS PC
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 32
TYPEOUT ROUTINES
728 .SBTTL TYPEOUT ROUTINES
729 ;
730 ; TYPMSG -- TYPE A RANDOM ASCIZ STRING
731 ;
732 ; CALL:
733 ; PUSH #<ADDRESS OF ASCIZ STRING>
734 ; CALL TYPMSG
735 ;
736 ; SPECIAL CHARACTER CODES IN TEXT:
737 ; 0 -- END OF TEXT
738 ; 1 -- TYPE <CR><LF>
739 ; 2 -- TYPE TWO CHARACTERS FROM R0 (SAVED ON STACK)
740 ; 3 -- TYPE DEVICE NAME AND UNIT FROM PUD ENTRY (R5)
741 ; 4 -- TYPE ASCIZ STRING BY R0
742 ; 5 -- TYPE <CR><LF> AND RETURN TO COPY
743 ; 6 -- OCTAL NUMBER IN R0 (SAVED ON STACK)
744 ; 7 -- DECIMAL NUMBER IN R0 (SAVED ON STACK)
745 ; 10 -- BLOCK # AT SRCBLK-SRCDEV(R5)
746 ; 11 -- FATAL ERROR PREFIX
747 ; 12 -- WARNING ERROR PREFIX
748 ;
749 002754 TYPMSG:
750 002754 PUSH <R3,R2,R1,R0> ;COPY USED REGISTERS
002754 010346 MOV R3,-(SP)
002756 010246 MOV R2,-(SP)
002760 010146 MOV R1,-(SP)
002762 010046 MOV R0,-(SP)
751 002764 016600 000012 MOV 12(SP),R0 ;GET ADDRESS OF STRING
752 002770 012702 000040' MOV #TYPBUF,R2 ;POINT TO OUTPUT BUFFER
753 ;
754 ; ENTER HERE AT TYPMS1:
755 ; R0 -- POINTER TO STRING TO BE OUTPUT (AND FOLLOWING CODE)
756 ; R2 -- CURRENT POINTER TO OUTPUT BUFFER FOR LOADING CHARACTERS
757 ;
758 002774 TYPMS1:
759 002774 112012 MOVB (R0)+,(R2) ;GET A CHARACTER FROM STRING
760 002776 122227 000013 CMPB (R2)+,#TYPMAX ;SPECIAL CODE?
761 003002 103374 BHIS TYPMS1 ;NO-- JUST GET NEXT CHARACTER
762 003004 114203 MOVB -(R2),R3 ;YES-- GET THE CODE
763 003006 006303 ASL R3 ;MAKE IT WORDS
764 003010 011601 MOV (SP),R1 ;GET R0 FROM STACK BACK TO R1
765 003012 CALL @TYPTAB(R3) ;CALL ROUTINE TO PROCESS
003012 004773 003020' JSR PC,@TYPTAB(R3)
766 003016 000766 BR TYPMS1 ;BACK FOR MORE
767 ;
768 ; DISPATCH TABLE FOR SPECIAL CODES
769 ;
770 003020 TYPTAB:
771 003020 003046' 003140' 003144' .WORD TYPDON,TYPCR,TYPTXT,TYPDEV,TYPSTR,TYPCOP,TYPOCT,TYPDEC,TYPBLK,TYPERR,TYPWRN
003026 003156' 003214' 003132'
003034 003322' 003224' 003244'
003042 003202' 003210'
772 000013 TYPMAX=<.-TYPTAB>/2
773 ;
774 ; 0 -- END OF MESSAGE
775 ;
776 003046 TYPDON:
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 32-1
TYPEOUT ROUTINES
777 003046 005726 TST (SP)+ ;POP THE RETURN ADDRESS OFF TO NOWHERE
778 003050 162702 000040' SUB #TYPBUF,R2 ;END OF STRING-- FIND LENGTH
779 003054 QIOW$S #IO.WLB,#CTYLUN,#E.FCTY,,,,<#TYPBUF,R2,#0> ;TYPE STRING ON CTY
003054 005046 CLR -(SP)
003056 010246 MOV R2,-(SP)
003060 012746 000040' MOV #TYPBUF,-(SP)
003064 005046 CLR -(SP)
003066 005046 CLR -(SP)
003070 005046 CLR -(SP)
003072 112716 000001 MOVB #E.FCTY,(SP)
003076 012746 000001 MOV #CTYLUN,-(SP)
003102 012746 000000G MOV #IO.WLB,-(SP)
003106 012746 MOV (PC)+,-(SP)
003110 003 011 .BYTE 3,$$$T1
003112 104375 EMT 375
780 003114 103534 BCS EXIT ;GIVE UP IF FAILURE
781 003116 POP <R0,R1,R2,R3> ;RESTORE REGISTERS
003116 012600 MOV (SP)+,R0
003120 012601 MOV (SP)+,R1
003122 012602 MOV (SP)+,R2
003124 012603 MOV (SP)+,R3
782 003126 POP (SP) ;RESTORE PC OVER ADDRESS OF STRING
003126 012616 MOV (SP)+,(SP)
783 003130 RETURN ;FROM TYPMSG
003130 000207 RTS PC
784 ;
785 ; 5 -- TYPE <CR><LF> AND RETURN TO COPY
786 ;
787 003132 TYPCOP:
788 003132 012766 002152' 000012 MOV #DONE,12(SP) ;SET RETURN PC TO GO BACK TO COPY
789 ; BR TYPCR ;FINISH OFF WITH <CR><LF>
790 ;
791 ; 1 -- TYPE CRLF
792 ;
793 003140 TYPCR:
794 003140 012701 MOV (PC)+,R1 ;GET <CR> AND <LF>
795 003142 015 012 .BYTE 15,12 ; . .
796 ; BR TYPTXT ;TYPE WHAT'S IN R1
797 ;
798 ; 2 -- TYPE TEXT IN R0 (SAVED ON STACK)
799 ;
800 003144 TYPTXT:
801 003144 110122 MOVB R1,(R2)+ ;STORE LOW BYTE FIRST
802 003146 000301 SWAB R1 ;GET HIGH BYTE
803 003150 001401 BEQ 90$ ;NULL-- IGNORE IT
804 003152 110122 MOVB R1,(R2)+ ;STORE SECOND CHARACTER
805 003154 90$:
806 003154 RETURN ; FROM TYPTXT
003154 000207 RTS PC
807 ;
808 ; 3 -- DEVICE AND UNIT # FROM (R5)
809 ;
810 003156 TYPDEV:
811 003156 011501 MOV (R5),R1 ;GET THE NAME
812 003160 CALL TYPTXT ;TYPE THE NAME
003160 004737 003144' JSR PC,TYPTXT
813 003164 116501 000002 MOVB 2(R5),R1 ;GET THE UNIT
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 32-2
TYPEOUT ROUTINES
814 003170 CALL TYPOCT ;TYPE THE NUMBER
003170 004737 003322' JSR PC,TYPOCT
815 003174 112722 000072 MOVB #':,(R2)+ ;MAKE IT A DEVICE
816 003200 RETURN ;BACK FOR MORE
003200 000207 RTS PC
817 ;
818 ; 11 -- FATAL ERROR PREFIX
819 ;
820 003202 TYPERR:
821 003202 012701 000731' MOV #ERRMSG,R1 ;GET ERROR PREFIX
822 003206 000402 BR TYPSTR ;TYPE IT
823 000731 .PSECT TEXT
824 000731 103 117 120 ERRMSG: .ASCIZ \COP -- *Fatal* -- \
000734 040 055 055
000737 040 052 106
000742 141 164 141
000745 154 052 040
000750 055 055 040
000753 000
825 003210 .PSECT
826 ;
827 ; 12 -- WARNING ERROR PREFIX
828 ;
829 003210 TYPWRN:
830 003210 012701 000754' MOV #WRNMSG,R1 ;GET WARNING PREFIX
831 ; BR TYPMSG ;TYPE IT
832 ;
833 000754 .PSECT TEXT
834 000754 103 117 120 WRNMSG: .ASCIZ \COP -- *Diag* -- \
000757 040 055 055
000762 040 052 104
000765 151 141 147
000770 052 040 055
000773 055 040 000
835 003214 .PSECT
836 ;
837 ; 4 -- STRING FROM R1
838 ;
839 003214 TYPSTR:
840 003214 112122 MOVB (R1)+,(R2)+ ;MOVE A CHARACTER
841 003216 001376 BNE TYPSTR ;LOOP TILL END OF COMMAND
842 003220 105742 TSTB -(R2) ;BACK OVER NULL BYTE
843 003222 RETURN ;BACK FOR MORE
003222 000207 RTS PC
844 ;
845 ; 7 -- DECIMAL NUMBER IN R0 (SAVED ON STACK)
846 ;
847 003224 TYPDEC:
848 003224 012737 000012 000002' MOV #10.,RADIX ;SET RADIX TO 10
849 003232 CALL TYPNUM ;TYEP THE NUMBER
003232 004737 003330' JSR PC,TYPNUM
850 003236 112722 000056 MOVB #'.,(R2)+ ;STORE A . TO INDICATE DECIMAL
851 003242 RETURN ;BACK FOR ANOTHER CHAR OF STRING
003242 000207 RTS PC
852 ;
853 ; 10 -- BLOCK # AT SRCBLK-SRCDEV(R5)
854 ;
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 32-3
TYPEOUT ROUTINES
855 003244 TYPBLK:
856 003244 012701 003306' MOV #BLKMSG,R1 ;GET START TEXT
857 003250 CALL TYPSTR ;PUT IT AWAY
003250 004737 003214' JSR PC,TYPSTR
858 003254 116501 177774 MOVB SRCBLK-SRCDEV(R5),R1 ;GET HIGH PART
859 003260 001404 BEQ 10$ ;ZERO-- SKIP IT
860 003262 CALL TYPOCT ;TYPE HIGH PART
003262 004737 003322' JSR PC,TYPOCT
861 003266 112722 000054 MOVB #',,(R2)+ ;SEPERATE IT
862 003272 10$:
863 003272 016501 177776 MOV SRCBLK-SRCDEV+2(R5),R1 ;GET LOW PART
864 003276 012737 000010 000002' MOV #8.,RADIX ;OCTAL
865 003304 000416 BR TYPNM1 ;TYPE UNSIGNED NUMBER AND RETURN
866 ;
867 003306 040 141 164 BLKMSG: .ASCIZ / at block /
003311 040 142 154
003314 157 143 153
003317 040 000
868 .EVEN
869 ;
870 ; 6 -- OCTAL # IN R0
871 ;
872 003322 TYPOCT:
873 003322 012737 000010 000002' MOV #8.,RADIX ;OCTAL
874 ; BR TYPNUM ;AWAY
875 ;
876 ; TYPNUM -- TYPE A NUMBER
877 ; R1 -- NUMBER TO BE TYPED
878 ; RADIX -- OUTPUT RADIX
879 ;
880 ; USES R1,R2,R3
881 ;
882 003330 TYPNUM:
883 003330 005701 TST R1 ;NEGATIVE #?
884 003332 002003 BGE TYPNM1 ;NO-- OK
885 003334 005401 NEG R1 ;YES-- MAKE IT POSITIVE
886 003336 112722 000055 MOVB #'-,(R2)+ ; AND STORE -VE IN STRING
887 003342 TYPNM1:
888 003342 005003 CLR R3 ;CLEAR REMAINDER
889 003344 15$:
890 003344 020137 000002' CMP R1,RADIX ;CAN WE DIVIDE?
891 003350 103404 BLO 20$ ;NO-- DIVIDE DONE
892 003352 163701 000002' SUB RADIX,R1 ;YES-- FORM REMAINDER
893 003356 005203 INC R3 ; AND QUOTIENT
894 003360 000771 BR 15$ ;LOOP TO DIVIDE R1 BY RADIX
895 ;
896 003362 20$:
897 003362 PUSH R1 ;COPY REMAINDER AS A DIGIT
003362 010146 MOV R1,-(SP)
898 003364 010301 MOV R3,R1 ;GO BACK AND DIVIDE AGAIN
899 003366 001402 BEQ 30$ ; UNLESS ALL DONE
900 003370 CALL TYPNM1 ;EXTRACT ANOTHER DIGIT ONTO STACK
003370 004737 003342' JSR PC,TYPNM1
901 003374 30$:
902 003374 POP R1 ;DONE-- GET A DIGIT FROM STACK
003374 012601 MOV (SP)+,R1
903 003376 062701 000060 ADD #'0,R1 ;MAKE IT ASCII
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 32-4
TYPEOUT ROUTINES
904 003402 110122 MOVB R1,(R2)+ ;STORE IT IN OUTPUT STRING
905 003404 RETURN ;FOR ANOTHER DIGIT OR THE END
003404 000207 RTS PC
906 ;
907 ; EXIT HERE
908 ;
909 003406 EXIT:
910 003406 EXIT$S ;TASK EXIT
003406 012746 MOV (PC)+,-(SP)
003410 063 001 .BYTE 51.,1
003412 104375 EMT 375
911 003414 000774 BR EXIT ;JUST IN CASE . . . .
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 33
END STATEMENT
913 .SBTTL END STATEMENT
914 000342' .END COPY
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 33-1
SYMBOL TABLE
BLKMSG 003306R CLKWRD= 177546 DH..OP= 000040 DONEA 001732R LP1STS= 177520
BR0 = 000000 CMDCLN= 000034 DH..PE= 010000 DSTBLK 000020R L2.A16= 000020
BR1 = 000040 CMDCLR= 000004R DH..RI= 000200 DSTDEV 000024R L2.A17= 000040
BR2 = 000100 CMDONE 001206R DH..SI= 040000 DSTLUN= 000003 L2.BCM= 007777
BR3 = 000140 COPVFY 001372R DH..TI= 100000 DSTNBF 000027R L2.DB = 000377
BR4 = 000200 COPY 000342R DH.2SB= 000004 DSTOP 002224R L2.DEL= 002000
BR5 = 000240 CO.INE= 000100 DLDADR= 175610 DSTRD 002212R L2.DH = 002000
BR6 = 000300 CO..MM= 000004 DLDSIZ= 000010 DSTUNT 000026R L2.DL = 000010
BR7 = 000340 CPFLAG 000034R DLRBUF= 000002 DSTWT 002220R L2.DNR= 000100
BUFADR= 000340R CPVFLG 000034R DLRSTS= 000000 EOVFLG 000030R L2.DON= 000200
BUFBL4 000334R CTCCHK 002112R DLXBUF= 000006 ERRMSG 000731R 002 L2.DR = 010000
BUFEND 000336R CTICHR= 177562 DLXSTS= 000004 EXIT 003406R L2.DTE= 000002
BUFSIZ 000326R CTILVL= 000004 DL.BRK= 000001 EXITA 001144R L2.ENB= 000100
BUFSZ2 000330R CTISTS= 177560 DL.CAR= 010000 EXITC 000560R L2.ERE= 001000
BUFSZ4 000332R CTIVEC= 000060 DL.CTS= 020000 E.FCTC= ****** GX L2.ERR= 100000
B.DM11= 170500 CTOCHR= 177566 DL.DIE= 000040 E.FCTY= 000001 L2.GER= 000001
B0 = 000001 CTOLVL= 000004 DL.DSC= 100000 E.FDST= 000003 L2.GO = 000001
B1 = 000002 CTOSTS= 177564 DL.DTR= 000002 E.FSRC= 000002 L2.INI= 000400
B10 = 002000 CTOVEC= 000064 DL.ERR= 100000 FTASRT= 000001 L2.INT= 004000
B11 = 004000 CTYBFL= 000120 DL.LVL= 000004 FTECHO= 000000 L2.LDP= 010000
B12 = 010000 CTYBUF 000204R DL.OVR= 040000 FTETR = 000000 L2.LPE= 000040
B13 = 020000 CTYLUN= 000001 DL.RGO= 004000 FTGLOM= 000000 L2.LVL= 000004
B14 = 040000 CTZFLG 000031R DL.RIE= 000100 FTLERR 002550R L2.MPE= 000020
B15 = 100000 DEVOP 002234R DL.RNG= 040000 FT.CHK= 000001 L2.MST= 000004
B2 = 000004 DEVOP1 002270R DL.ROK= 000200 FT.DDT= 000000 L2.ONL= 004000
B3 = 000010 DEVOP2 002412R DL.RTS= 000004 FT.D75= 000000 L2.OVF= 004000
B4 = 000020 DEVOP8 002524R DL.XIE= 000100 FT.HLP= 000001 L2.PCM= 007777
B5 = 000040 DEVOP9 002542R DL.XOK= 000200 GETNAM 002644R L2.PEN= 000002
B6 = 000100 DGUTS = 000000 DL..FE= 020000 GETNB 002622R L2.PI = 000400
B7 = 000200 DHBASE= 160020 DL..MM= 000004 GETNUM 002710R L2.PNR= 020000
B8 = 000400 DHRFER= 020000 DL..PE= 010000 GOTDEV 001276R L2.POL= 000200
B9 = 001000 DHROVR= 040000 DL..RC= 000377 GOTDV1 001340R L2.PZE= 040000
CD.CFD= 000001 DH.AEE= 100000 DL..RE= 000001 G.PRFW= 000004 L2.RDB= 007777
CD.CHK= 040000 DH.BAR= 000012 DL..XC= 000377 G.PRPB= 000000 L2.RPB= 010000
CD.DAT= 177162 DH.BCR= 000010 DL.2RC= 002000 G.PRPS= 000002 L2.RPE= 000010
CD.DTE= 004000 DH.BRK= 000014 DL.2XM= 000010 HEFLAG 000032R L2.SPR= 040000
CD.DTL= 002000 DH.CAR= 000006 DMBASE= 170500 IE.BLK= ****** GX L2.TB0= 000400
CD.EOF= 020000 DH.CL5= 000000 DM.ALI= 000017 IE.EOF= ****** GX L2.TB1= 001000
CD.ERR= 100000 DH.CL6= 000001 DM.BSY= 000020 IE.VER= ****** GX L2.TB2= 002000
CD.HEM= 000004 DH.CL7= 000002 DM.CAR= 000100 IE.WLK= ****** GX L2.TM = 000004
CD.INE= 000100 DH.CL8= 000003 DM.CTS= 000040 IO.RLB= ****** GX L2.TRN= 001000
CD.LVL= 000006 DH.CNX= 000400 DM.DNE= 000200 IO.WLB= ****** GX L2.UCD= 020000
CD.NXM= 001000 DH.DOV= 040000 DM.DTR= 000002 IS.SET= ****** GX L2.VD = 100000
CD.OFL= 010000 DH.LPR= 000004 DM.ENB= 000040 KL.LVL= 000004 L2.VEC= 000754
CD.ONL= 000010 DH.LVL= 000005 DM.IEN= 000100 KPAR0 = 172340 L20ADR= 000004
CD.PAK= 000002 DH.NRC= 000002 DM.INI= 002000 KW.INE= 000100 L20BCT= 000006
CD.PWR= 000400 DH.NXM= 002000 DM.LE = 000001 KW.TIC= 000200 L20BUF= 000014
CD.RDY= 000200 DH.PEN= 000020 DM.LVL= 000004 LP.DAT= 177516 L20CHK= 000017
CD.STS= 177160 DH.RIE= 000100 DM.RNG= 000200 LP.DNE= 000200 L20COL= 000015
CD.VEC= 000230 DH.SIE= 010000 DM.RTS= 000004 LP.ERR= 100000 L20CRA= 000000
CD0DAT= 177162 DH.SSR= 000016 DM.SCN= 004000 LP.INE= 000100 L20CRB= 000002
CD0STS= 177160 DH.TIE= 020000 DM.SR = 000020 LP.LVL= 000004 L20PCT= 000010
CFMERR 001734R DH.VDP= 100000 DM.ST = 000010 LP.STS= 177514 L20PDA= 000016
CI.INE= 000100 DH..FE= 020000 DM.STP= 000400 LP.VEC= 000200 L20RAM= 000012
CLKENB= 000100 DH..HD= 040000 DM..MM= 001000 LP0DAT= 177516 L20STS= 175400
CLKLVL= 000006 DH..MC= 004000 DNSERR 001266R LP0STS= 177514 L21STS= 175420
CLKVEC= 000100 DH..MM= 001000 DONE 002152R LP1DAT= 177522 MM.SR0= 177572
COPY -- MCR FUNCTION 'COP' FOR MACRO M1113 14-APR-81 11:14 PAGE 33-2
SYMBOL TABLE
MODTBL 001150R SPSAVE 000000R TC.NXM= 000400 TE.LVL= 000006 TS.XER= 020000
MODTLN= 000005 SRCBLK 000010R TC.PAR= 040000 TE.NNN= 000004 TS.XNT= 100000
MP.ENB= 000001 SRCDEV 000014R TC.RDA= 000006 TE.STW= 000034 TS.XTS= 040000
MP.ERR= 100000 SRCLUN= 000002 TC.RDY= 000200 TE.VEC= 000774 TS.ZST= 040000
MP.LVL= 000007 SRCNBF 000017R TC.REV= 004000 TE.XAD= 000020 TYPBLK 003244R
MP.REG= 172100 SRCRD 002174R TC.RMT= 000002 TE.XA1= 000010 TYPBUF 000040R
MP.VEC= 000114 SRCUNT 000016R TC.SAT= 000000 TE.XA2= 000012 TYPCOP 003132R
MP.WWP= 000004 STKLEN= 000200 TC.SST= 000010 TE.XBC= 000014 TYPCR 003140R
NISERR 001754R SYNERR 001174R TC.STS= 177340 TE.XDT= 000024 TYPDEC 003224R
NOSERR 001744R S..AMC= 000000 TC.UPS= 000200 TE.XW1= 000006 TYPDEV 003156R
NXMVEC= 000004 S..BDT= 000011 TC.US0= 000000 TE.XW2= 000004 TYPDON 003046R
OB0 = 000001 S..CHK= 000012 TC.US1= 000400 TE.XW3= 000002 TYPERR 003202R
OB1 = 000002 S..CNK= 000003 TC.US2= 001000 TMDERR 001774R TYPMAX= 000013
OB10 = 000400 S..CTY= 000005 TC.US3= 001400 TMSERR 001764R TYPMSG 002754R
OB11 = 001000 S..DCP= 000013 TC.US4= 002000 TRPVEC= 000034 TYPMS1 002774R
OB12 = 002000 S..DL1= 000002 TC.US5= 002400 TS.CET= 000001 TYPNM1 003342R
OB13 = 004000 S..DTE= 000002 TC.US6= 003000 TS.DEI= 000010 TYPNUM 003330R
OB14 = 010000 S..ILS= 000004 TC.US7= 003400 TS.DEP= 010000 TYPOCT 003322R
OB15 = 020000 S..KW1= 000007 TC.VEC= 000214 TS.EBM= 020000 TYPSTR 003214R
OB16 = 040000 S..MEM= 000006 TC.WCR= 177344 TS.EEE= 000040 TYPTAB 003020R
OB17 = 100000 S..NCN= 000010 TC.WRA= 000016 TS.EET= 000002 TYPTXT 003144R
OB2 = 000004 S..NXM= 000001 TC.WTM= 000012 TS.EEX= 000400 TYPWRN 003210R
OB3 = 000010 TC.A16= 000020 TC..BM= 002000 TS.EIS= 002000 VERIFY 001502R
OB4 = 000020 TC.A17= 000040 TC..DI= 010000 TS.ENT= 000100 VFFLAG 000035R
OB5 = 000040 TC.BAR= 177346 TC..DM= 001000 TS.EPE= 000020 VFY1 001506R
OB6 = 000100 TC.CLK= 000100 TC..EZ= 100000 TS.ETD= 000200 VFY2 001604R
OB7 = 000200 TC.CMD= 177342 TC..MM= 020000 TS.IEN= 000001 VFY3 001716R
PARSE 000630R TC.DAT= 177350 TC..RD= 000004 TS.IFB= 100000 VRS = 000022
PASS = 000002 TC.DT0= 000020 TC..SE= 004000 TS.MPE= 001000 WLKERR 002612R
PDP11 = 000040 TC.DT1= 000010 TC..WR= 000014 TS.PEX= 100000 WRNMSG 000754R 002
QIOSTS 000004R TC.DT2= 000004 TE.BAS= 174400 TS.POF= 004000 ZEFLAG 000037R
RADIX 000002R TC.D16= 000001 TE.BNX= 000040 TS.RES= 004000 ZERO 002012R
RDFLAG 000036R TC.D17= 000002 TE.DG1= 000030 TS.RM = 000010 $DSW = ****** GX
RDZERO 002004R TC.ERR= 100000 TE.DG2= 000032 TS.RST= 000100 $$ = 000037
RDZFLG 000036R TC.ILO= 010000 TE.DG3= 000036 TS.TBM= 000001 $$$ = 000676R 002
RD.LVL= 000004 TC.INE= 000100 TE.DYC= 000000 TS.XDN= 000004 $$$ARG= 000003
READ 002062R TC.LVL= 000006 TE.EAD= 000022 TS.XEC= 010000 $$$OST= 000006
R$$11M= 000001 TC.MMT= 000040 TE.EBC= 000016 TS.XEE= 004000 $$$T1 = 000011
R$$20F= 000001 TC.MTE= 020000 TE.EDT= 000026
. ABS. 000000 000
003416 001
TEXT 000776 002
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 6189 WORDS ( 25 PAGES)
DYNAMIC MEMORY: 7798 WORDS ( 29 PAGES)
ELAPSED TIME: 00:00:41
[52,10]COPY,[52,20]COPY/-SP/CR=[52,30]RSXDC,COPY
COPY CREATED BY MACRO ON 14-APR-81 AT 11:14 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
BLKMSG 003306 R 32-856 #32-867
BR0 = 000000 #3-154
BR1 = 000040 #3-155
BR2 = 000100 #3-156
BR3 = 000140 #3-157
BR4 = 000200 #3-158
BR5 = 000240 #3-159
BR6 = 000300 #3-160
BR7 = 000340 #3-161
BUFADR = 000340 R #21-142 22-169 25-336 26-399
BUFBL4 000334 R #21-140 26-431
BUFEND 000336 R #21-141 26-397
BUFSIZ 000326 R #21-137 22-161 25-337
BUFSZ2 000330 R #21-138 28-481
BUFSZ4 000332 R #21-139 26-388 26-424
B.DM11 = 170500 #8-311
B0 = 000001 #3-118 3-136 4-187 6-247 6-249 7-264 7-282 7-293 7-303
8-320 8-323 15-497 16-586 16-587 16-590
B1 = 000002 #3-119 3-137 4-186 6-248 6-249 7-265 7-282 7-303 8-320
8-324 15-496 15-517 15-519 15-521 15-523 16-585
B10 = 002000 #3-128 3-146 4-179 6-218 7-271 8-313 15-487 15-508 15-509
15-510 15-511 16-575
B11 = 004000 #3-129 3-147 4-178 6-219 7-272 8-312 15-486 15-503 16-547
16-573 16-574
B12 = 010000 #3-130 3-148 4-177 6-220 6-238 7-273 7-283 15-485 15-502
16-546 16-572
B13 = 020000 #3-131 3-149 4-176 6-221 6-234 6-237 7-274 7-284 15-484
15-501 16-556 16-571
B14 = 040000 #3-132 3-150 4-175 6-222 6-233 6-236 6-242 7-275 7-285
15-483 16-555 16-570
B15 = 100000 #3-133 3-151 4-174 6-223 6-235 6-241 7-276 7-286 11-376
15-482 15-500 16-548 16-554 16-569
B2 = 000004 #3-120 3-138 4-185 5-208 6-245 7-266 7-282 7-294 7-303
8-320 15-495 15-518 15-519 15-522 15-523 16-584
B3 = 000010 #3-121 3-139 4-184 7-267 7-282 7-303 8-320 8-328 15-494
15-520 15-521 15-522 15-523 16-582 16-583
B4 = 000020 #3-122 3-140 6-244 7-282 7-303 8-319 8-329 15-493 15-515
16-581
B5 = 000040 #3-123 3-141 6-243 7-268 7-282 7-303 8-318 8-330 15-492
15-514 16-580
B6 = 000100 #3-124 3-142 4-183 5-203 5-207 6-214 7-269 7-282 7-295
7-303 8-317 8-331 10-364 10-365 11-378 15-491 15-513 16-564
16-579
B7 = 000200 #3-125 3-143 4-182 6-215 7-270 7-282 7-296 7-303 8-316
8-332 10-366 11-377 15-490 15-512 16-578
B8 = 000400 #3-126 3-144 4-181 6-216 8-315 15-489 15-505 15-507 15-509
15-511 16-577
B9 = 001000 #3-127 3-145 4-180 6-217 8-314 15-488 15-506 15-507 15-510
15-511 16-576
CD.CFD = 000001 #4-187
CD.CHK = 040000 #4-175
CD.DAT = 177162 #4-189
COPY CREATED BY MACRO ON 14-APR-81 AT 11:14 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
CD.DTE = 004000 #4-178
CD.DTL = 002000 #4-179
CD.EOF = 020000 #4-176
CD.ERR = 100000 #4-174
CD.HEM = 000004 #4-185
CD.INE = 000100 #4-183
CD.LVL = 000006 #4-166
CD.NXM = 001000 #4-180
CD.OFL = 010000 #4-177
CD.ONL = 000010 #4-184
CD.PAK = 000002 #4-186
CD.PWR = 000400 #4-181
CD.RDY = 000200 #4-182
CD.STS = 177160 #4-172
CD.VEC = 000230 #4-167
CD0DAT = 177162 #4-170 4-189
CD0STS = 177160 #4-169 4-170 4-172
CFMERR 001734 R 26-363 #27-451 28-474
CI.INE = 000100 #5-203
CLKENB = 000100 #10-365
CLKLVL = 000006 #10-356
CLKVEC = 000100 #10-360
CLKWRD = 177546 #10-362
CMDCLN = 000034 #21-125 22-154
CMDCLR = 000004 R #21-97 21-125 22-153
CMDONE 001206 R 23-224 23-229 23-245 #24-314
COPVFY 001372 R 25-346 #26-361
COPY 000342 R #22-148 29-525 33-914
CO.INE = 000100 #5-207
CO..MM = 000004 #5-208
CPFLAG 000034 R #21-119 23-301 26-368
CPVFLG 000034 R #21-118 25-345 *25-355
CTCCHK 002112 R 26-437 26-437 #29-508 30-576 30-576
CTICHR = 177562 #5-197 5-198
CTILVL = 000004 #5-202
CTISTS = 177560 #5-196 5-197
CTIVEC = 000060 #5-201 5-204
CTOCHR = 177566 #5-199
CTOLVL = 000004 #5-205
CTOSTS = 177564 #5-198 5-199
CTOVEC = 000064 #5-204
CTYBFL = 000120 #21-131 22-188
CTYBUF 000204 R #21-130 21-131 22-188 *22-199 22-200
CTYLUN = 000001 #20-84 20-85 22-185 22-188 32-779
CTZFLG 000031 R #21-115 *22-195 29-523
DEVOP 002234 R 30-537 #30-564
DEVOP1 002270 R 30-570 #30-575 30-598 30-622
DEVOP2 002412 R 30-573 #30-587
DEVOP8 002524 R 30-609 #30-618
DEVOP9 002542 R 30-583 30-606 #30-624
DGUTS = 000000 1-45 1-46
DHBASE = 160020 #6-211
COPY CREATED BY MACRO ON 14-APR-81 AT 11:14 PAGE 3
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
DHRFER = 020000 #6-234
DHROVR = 040000 #6-233
DH.AEE = 100000 #6-241
DH.BAR = 000012 #6-228
DH.BCR = 000010 #6-227
DH.BRK = 000014 #6-229
DH.CAR = 000006 #6-226
DH.CL5 = 000000 #6-246
DH.CL6 = 000001 #6-247
DH.CL7 = 000002 #6-248
DH.CL8 = 000003 #6-249
DH.CNX = 000400 #6-216
DH.DOV = 040000 #6-236
DH.LPR = 000004 #6-225
DH.LVL = 000005 #6-212
DH.NRC = 000002 #6-224
DH.NXM = 002000 #6-218
DH.PEN = 000020 #6-244
DH.RIE = 000100 #6-214
DH.SIE = 010000 #6-220
DH.SSR = 000016 #6-230
DH.TIE = 020000 #6-221
DH.VDP = 100000 #6-235
DH..FE = 020000 #6-237
DH..HD = 040000 #6-242
DH..MC = 004000 #6-219
DH..MM = 001000 #6-217
DH..OP = 000040 #6-243
DH..PE = 010000 #6-238
DH..RI = 000200 #6-215
DH..SI = 040000 #6-222
DH..TI = 100000 #6-223
DH.2SB = 000004 #6-245
DLDADR = 175610 #7-253
DLDSIZ = 000010 #7-254
DLRBUF = 000002 #7-279
DLRSTS = 000000 #7-261
DLXBUF = 000006 #7-300
DLXSTS = 000004 #7-290
DL.BRK = 000001 #7-293
DL.CAR = 010000 #7-273
DL.CTS = 020000 #7-274
DL.DIE = 000040 #7-268
DL.DSC = 100000 #7-276
DL.DTR = 000002 #7-265
DL.ERR = 100000 #7-286
DL.LVL = 000004 #7-255 7-256
DL.OVR = 040000 #7-285
DL.RGO = 004000 #7-272
DL.RIE = 000100 #7-269
DL.RNG = 040000 #7-275
DL.ROK = 000200 #7-270
COPY CREATED BY MACRO ON 14-APR-81 AT 11:14 PAGE 4
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
DL.RTS = 000004 #7-266
DL.XIE = 000100 #7-295
DL.XOK = 000200 #7-296
DL..FE = 020000 #7-284
DL..MM = 000004 #7-294
DL..PE = 010000 #7-283
DL..RC = 000377 #7-282
DL..RE = 000001 #7-264
DL..XC = 000377 #7-303
DL.2RC = 002000 #7-271
DL.2XM = 000010 #7-267
DMBASE = 170500 #8-307
DM.ALI = 000017 #8-320
DM.BSY = 000020 #8-319
DM.CAR = 000100 #8-331
DM.CTS = 000040 #8-330
DM.DNE = 000200 #8-316
DM.DTR = 000002 #8-324
DM.ENB = 000040 #8-318
DM.IEN = 000100 #8-317
DM.INI = 002000 #8-313
DM.LE = 000001 #8-323
DM.LVL = 000004 #8-309
DM.RNG = 000200 #8-332
DM.RTS = 000004 8-325
DM.SCN = 004000 #8-312
DM.SR = 000020 #8-329
DM.ST = 000010 #8-328
DM.STP = 000400 #8-315
DM..MM = 001000 #8-314
DNSERR 001266 R 24-319 #24-326
DONE 002152 R 23-210 26-446 28-489 28-502 #29-521 32-788
DONEA 001732 R 25-342 26-376 #26-445
DSTBLK 000020 R #21-109 *23-270 *23-275 *26-380 *26-381 30-551
DSTDEV 000024 R #21-110 *23-214 24-321 25-349 26-366 28-475 28-494
DSTLUN = 000003 #20-88 20-89 24-324 30-550
DSTNBF 000027 R #21-112 *26-404
DSTOP 002224 R 30-543 #30-549
DSTRD 002212 R 26-393 26-393 26-405 26-405 #30-541
DSTUNT 000026 R #21-111 *23-218
DSTWT 002220 R 26-372 26-372 28-486 28-486 #30-547
EOVFLG 000030 R #21-114 26-373 *26-382 26-395 26-443 28-487 28-500 *30-600
ERRMSG 000731 R 32-821 #32-824
EXIT 003406 R 23-292 29-527 32-780 #32-909 32-911
EXITA 001144 R 22-190 22-194 #23-291
EXITC 000560 R 22-163 22-186 #22-189
E.FCTC = ****** GX 25-334 29-509
E.FCTY = 000001 #20-85 22-188 32-779
E.FDST = 000003 #20-89
E.FSRC = 000002 #20-87
FTASRT = 000001 1-64
FTECHO = 000000 1-61
COPY CREATED BY MACRO ON 14-APR-81 AT 11:14 PAGE 5
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FTETR = 000000 1-60
FTGLOM = 000000 1-54
FTLERR 002550 R 30-582 30-588 30-612 #30-628
FT.CHK = 000001 1-63
FT.DDT = 000000 1-59
FT.D75 = 000000 10-354 10-355
FT.HLP = 000001 1-53
GETNAM 002644 R 23-212 23-212 23-230 23-230 23-255 23-255 #31-678
GETNB 002622 R 23-208 23-208 23-223 23-223 23-228 23-228 23-244 23-244 23-263
23-263 #31-662 31-665 31-667
GETNUM 002710 R 23-216 23-216 23-234 23-234 23-265 23-265 #31-708
GOTDEV 001276 R 24-323 24-325 #25-333
GOTDV1 001340 R 25-340 #25-344
G.PRFW = 000004 #22-162
G.PRPB = 000000 #22-162
G.PRPS = 000002 #22-162
HEFLAG 000032 R #21-116 23-301 25-339
IE.BLK = ****** GX 30-589
IE.EOF = ****** GX 22-193
IE.VER = ****** GX 30-611
IE.WLK = ****** GX 30-632
IO.RLB = ****** GX 22-188 30-534 30-542
IO.WLB = ****** GX 30-548 32-779
IS.SET = ****** GX 29-510
KL.LVL = 000004 #7-257
KPAR0 = 172340 #1-28
KW.INE = 000100 #10-364
KW.TIC = 000200 #10-366
LP.DAT = 177516 #11-381
LP.DNE = 000200 #11-377
LP.ERR = 100000 #11-376
LP.INE = 000100 #11-378
LP.LVL = 000004 #11-370
LP.STS = 177514 #11-374
LP.VEC = 000200 #11-371
LP0DAT = 177516 #11-380 11-381 11-385
LP0STS = 177514 #11-373 11-374 11-380
LP1DAT = 177522 #11-386
LP1STS = 177520 #11-385 11-386
L2.A16 = 000020 #12-413
L2.A17 = 000040 #12-412
L2.BCM = 007777 #13-442
L2.DB = 000377 #13-454
L2.DEL = 002000 #13-451
L2.DH = 002000 #12-407
L2.DL = 000010 #12-414
L2.DNR = 000100 #12-429
L2.DON = 000200 #12-410
L2.DR = 010000 #12-405
L2.DTE = 000002 #12-434
L2.ENB = 000100 #12-411
L2.ERE = 001000 #12-408
COPY CREATED BY MACRO ON 14-APR-81 AT 11:14 PAGE 6
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
L2.ERR = 100000 #12-402
L2.GER = 000001 #12-435
L2.GO = 000001 #12-417
L2.INI = 000400 #12-409
L2.INT = 004000 #13-450
L2.LDP = 010000 #12-423
L2.LPE = 000040 #12-430
L2.LVL = 000004 #12-396
L2.MPE = 000020 #12-431
L2.MST = 000004 #12-433
L2.ONL = 004000 #12-406
L2.OVF = 004000 #12-424
L2.PCM = 007777 #13-445
L2.PEN = 000002 #12-416
L2.PI = 000400 #13-453
L2.PNR = 020000 #12-422
L2.POL = 000200 #12-428
L2.PZE = 040000 #12-403
L2.RDB = 007777 #13-449
L2.RPB = 010000 #13-448
L2.RPE = 000010 #12-432
L2.SPR = 040000 #12-421
L2.TB0 = 000400 #12-427
L2.TB1 = 001000 #12-426
L2.TB2 = 002000 #12-425
L2.TM = 000004 #12-415
L2.TRN = 001000 #13-452
L2.UCD = 020000 #12-404
L2.VD = 100000 #12-420
L2.VEC = 000754 #12-397
L20ADR = 000004 #13-439 13-441
L20BCT = 000006 #13-441 13-444
L20BUF = 000014 #13-456 13-458
L20CHK = 000017 #13-462
L20COL = 000015 #13-458 13-460
L20CRA = 000000 #12-401 12-419
L20CRB = 000002 #12-419 13-439
L20PCT = 000010 #13-444 13-447
L20PDA = 000016 #13-460 13-462
L20RAM = 000012 #13-447 13-456
L20STS = 175400 #12-398
L21STS = 175420 #12-399
MM.SR0 = 177572 #1-29
MODTBL 001150 R 23-279 #23-296 23-302
MODTLN = 000005 23-280 #23-302
MP.ENB = 000001 #14-474
MP.ERR = 100000 #14-471
MP.LVL = 000007 #14-467
MP.REG = 172100 #14-469
MP.VEC = 000114 #14-466
MP.WWP = 000004 #14-473
NISERR 001754 R 26-365 #27-455 28-497
COPY CREATED BY MACRO ON 14-APR-81 AT 11:14 PAGE 7
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
NOSERR 001744 R 26-367 #27-453 28-476
NXMVEC = 000004 #1-30
OB0 = 000001 #3-136
OB1 = 000002 #3-137
OB10 = 000400 #3-144
OB11 = 001000 #3-145
OB12 = 002000 #3-146
OB13 = 004000 #3-147
OB14 = 010000 #3-148
OB15 = 020000 #3-149
OB16 = 040000 #3-150
OB17 = 100000 #3-151
OB2 = 000004 #3-138
OB3 = 000010 #3-139
OB4 = 000020 #3-140
OB5 = 000040 #3-141
OB6 = 000100 #3-142
OB7 = 000200 #3-143
PARSE 000630 R #23-207
PASS = 000002 1-84 1-85 #1-85
PDP11 = 000040 1-68
QIOSTS 000004 R #21-98 22-188 22-191 22-193 22-198 30-581 30-586 30-589 30-595
30-608 30-611 30-630
RADIX 000002 R #21-96 *32-848 *32-864 *32-873 32-890 32-892
RDFLAG 000036 R #21-123 23-301 28-473
RDZERO 002004 R 25-352 #28-465
RDZFLG 000036 R #21-122 25-347 26-362
RD.LVL = 000004 #7-256 7-257
READ 002062 R 28-467 #28-493
R$$11M = 000001 #1-27
R$$20F = 000001 #1-26
SPSAVE 000000 R #21-95 *22-149 29-522 30-629
SRCBLK 000010 R #21-102 *23-269 *23-274 *26-378 *26-379 26-428 26-429 26-434 26-436
29-515 30-536 30-569 *30-571 30-578 *30-580 30-614 30-639 32-858
32-863
SRCDEV 000014 R #21-103 *23-232 24-315 26-364 26-434 26-436 28-477 28-496 29-515
30-614 30-639 32-858 32-863
SRCLUN = 000002 #20-86 20-87 24-318 30-535
SRCNBF 000017 R #21-105 *26-401 30-569 *30-571 30-578 *30-580
SRCRD 002174 R 26-371 26-371 26-390 26-390 26-402 26-402 28-499 28-499 #30-533
SRCUNT 000016 R #21-104 *23-236
STKLEN = 000200 1-62
SYNERR 001174 R 23-213 23-217 23-231 23-235 23-247 23-256 23-260 23-264 23-266
#23-306
S..AMC = 000000 #2-89
S..BDT = 000011 #2-100
S..CHK = 000012 #2-101
S..CNK = 000003 #2-93
S..CTY = 000005 #2-95
S..DCP = 000013 #2-102
S..DL1 = 000002 #2-91
S..DTE = 000002 #2-92
COPY CREATED BY MACRO ON 14-APR-81 AT 11:14 PAGE 8
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
S..ILS = 000004 #2-94
S..KW1 = 000007 #2-97
S..MEM = 000006 #2-96
S..NCN = 000010 #2-98
S..NXM = 000001 #2-90
TC.A16 = 000020 #15-515
TC.A17 = 000040 #15-514
TC.BAR = 177346 #15-527
TC.CLK = 000100 #15-491
TC.CMD = 177342 #15-499
TC.DAT = 177350 #15-529
TC.DT0 = 000020 #15-493
TC.DT1 = 000010 #15-494
TC.DT2 = 000004 #15-495
TC.D16 = 000001 #15-497
TC.D17 = 000002 #15-496
TC.ERR = 100000 #15-500
TC.ILO = 010000 #15-485
TC.INE = 000100 #15-513
TC.LVL = 000006 #15-479
TC.MMT = 000040 #15-492
TC.MTE = 020000 #15-484
TC.NXM = 000400 #15-489
TC.PAR = 040000 #15-483
TC.RDA = 000006 #15-519
TC.RDY = 000200 #15-512
TC.REV = 004000 #15-503
TC.RMT = 000002 #15-517
TC.SAT = 000000 #15-516
TC.SST = 000010 #15-520
TC.STS = 177340 #15-481
TC.UPS = 000200 #15-490
TC.US0 = 000000 #15-504
TC.US1 = 000400 #15-505
TC.US2 = 001000 #15-506
TC.US3 = 001400 #15-507
TC.US4 = 002000 #15-508
TC.US5 = 002400 #15-509
TC.US6 = 003000 #15-510
TC.US7 = 003400 #15-511
TC.VEC = 000214 #15-478
TC.WCR = 177344 #15-525
TC.WRA = 000016 #15-523
TC.WTM = 000012 #15-521
TC..BM = 002000 #15-487
TC..DI = 010000 #15-502
TC..DM = 001000 #15-488
TC..EZ = 100000 #15-482
TC..MM = 020000 #15-501
TC..RD = 000004 #15-518
TC..SE = 004000 #15-486
TC..WR = 000014 #15-522
COPY CREATED BY MACRO ON 14-APR-81 AT 11:14 PAGE 9
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
TE.BAS = 174400 #16-537
TE.BNX = 000040 #16-538
TE.DG1 = 000030 #16-562
TE.DG2 = 000032 #16-563
TE.DG3 = 000036 #16-589
TE.DYC = 000000 #16-540
TE.EAD = 000022 #16-559
TE.EBC = 000016 #16-552
TE.EDT = 000026 #16-561
TE.LVL = 000006 #16-533
TE.NNN = 000004 #16-536
TE.STW = 000034 #16-567
TE.VEC = 000774 #16-534
TE.XAD = 000020 #16-558
TE.XA1 = 000010 #16-544
TE.XA2 = 000012 #16-550
TE.XBC = 000014 #16-551
TE.XDT = 000024 #16-560
TE.XW1 = 000006 #16-543
TE.XW2 = 000004 #16-542
TE.XW3 = 000002 #16-541
TMDERR 001774 R #27-459 28-495
TMSERR 001764 R #27-457 28-478
TRPVEC = 000034 #1-31
TS.CET = 000001 #16-587
TS.DEI = 000010 #16-583
TS.DEP = 010000 #16-546
TS.EBM = 020000 #16-556
TS.EEE = 000040 #16-580
TS.EET = 000002 #16-585
TS.EEX = 000400 #16-577
TS.EIS = 002000 #16-575
TS.ENT = 000100 #16-579
TS.EPE = 000020 #16-581
TS.ETD = 000200 #16-578
TS.IEN = 000001 #16-586
TS.IFB = 100000 #16-554
TS.MPE = 001000 #16-576
TS.PEX = 100000 #16-548
TS.POF = 004000 #16-547
TS.RES = 004000 #16-574
TS.RM = 000010 #16-582
TS.RST = 000100 #16-564
TS.TBM = 000001 #16-590
TS.XDN = 000004 #16-584
TS.XEC = 010000 #16-572
TS.XEE = 004000 #16-573
TS.XER = 020000 #16-571
TS.XNT = 100000 #16-569
TS.XTS = 040000 #16-570
TS.ZST = 040000 #16-555
TYPBLK 003244 R 32-771 #32-855
COPY CREATED BY MACRO ON 14-APR-81 AT 11:14 PAGE 10
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
TYPBUF 000040 R #21-129 32-752 32-778 32-779
TYPCOP 003132 R 32-771 #32-787
TYPCR 003140 R 32-771 #32-793
TYPDEC 003224 R 32-771 #32-847
TYPDEV 003156 R 32-771 #32-810
TYPDON 003046 R 32-771 #32-776
TYPERR 003202 R 32-771 #32-820
TYPMAX = 000013 32-760 #32-772
TYPMSG 002754 R 22-187 22-187 22-197 22-197 23-290 23-290 23-308 23-308 24-327
24-327 25-341 25-341 26-377 26-377 26-435 26-435 27-452 27-452
27-454 27-454 27-456 27-456 27-458 27-458 27-460 27-460 29-516
29-516 30-615 30-615 30-640 30-640 30-642 30-642 #32-749
TYPMS1 002774 R #32-758 32-761 32-766
TYPNM1 003342 R 32-865 32-884 #32-887 32-900 32-900
TYPNUM 003330 R 32-849 32-849 #32-882
TYPOCT 003322 R 32-771 32-814 32-814 32-860 32-860 #32-872
TYPSTR 003214 R 32-771 32-822 #32-839 32-841 32-857 32-857
TYPTAB 003020 R 32-765 32-765 #32-770 32-772
TYPTXT 003144 R 32-771 #32-800 32-812 32-812
TYPWRN 003210 R 32-771 #32-829
VERIFY 001502 R 26-369 #26-387
VFFLAG 000035 R #21-120 23-301 26-375
VFY1 001506 R #26-390 26-444
VFY2 001604 R #26-414 26-441
VFY3 001716 R 26-416 #26-439
VRS = 000022 #1-38
WLKERR 002612 R 30-633 #30-641
WRNMSG 000754 R 32-830 #32-834
ZEFLAG 000037 R #21-124 23-301 28-466
ZERO 002012 R #28-472
$DSW = ****** GX 22-164 29-510 30-637
$$ = 000037 #22-187 22-187 #22-197 22-197 #23-208 23-208 #23-212 23-212 #23-216
23-216 #23-223 23-223 #23-228 23-228 #23-230 23-230 #23-234 23-234
#23-244 23-244 #23-255 23-255 #23-263 23-263 #23-265 23-265 #23-290
23-290 #23-308 23-308 #24-327 24-327 #25-341 25-341 #26-371 26-371
#26-372 26-372 #26-377 26-377 #26-390 26-390 #26-393 26-393 #26-402
26-402 #26-405 26-405 #26-435 26-435 #26-437 26-437 #27-452 27-452
#27-454 27-454 #27-456 27-456 #27-458 27-458 #27-460 27-460 #28-486
28-486 #28-499 28-499 #29-516 29-516 #30-576 30-576 #30-615 30-615
#30-640 30-640 #30-642 30-642 #32-765 32-765 #32-812 32-812 #32-814
32-814 #32-849 32-849 #32-857 32-857 #32-860 32-860 #32-900 32-900
$$$ = 000676 R #22-187 22-187 #22-197 22-197 #23-290 23-290 #23-308 23-308 #24-327
24-327 #25-341 25-341 #26-377 26-377 #26-435 26-435 #27-452 27-452
#27-454 27-454 #27-456 27-456 #27-458 27-458 #27-460 27-460 #29-516
29-516 #30-615 30-615 #30-640 30-640 #30-642 30-642
$$$ARG = 000003 #22-185 22-185 #22-185 22-185 #22-185 22-185 #22-185 22-185 22-185
22-185 22-185 22-185 22-185 22-185 22-185 22-185 22-185 #22-188
22-188 22-188 22-188 22-188 22-188 22-188 22-188 22-188 22-188
22-188 22-188 #24-318 24-318 #24-318 24-318 #24-318 24-318 #24-318
24-318 24-318 24-318 24-318 24-318 24-318 24-318 24-318 24-318
24-318 #24-324 24-324 #24-324 24-324 #24-324 24-324 #24-324 24-324
24-324 24-324 24-324 24-324 24-324 24-324 24-324 24-324 24-324
COPY CREATED BY MACRO ON 14-APR-81 AT 11:14 PAGE 11
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
#30-581 30-581 30-581 30-581 30-581 30-581 30-581 30-581 30-581
30-581 30-581 30-581 #30-586 30-586 30-586 30-586 30-586 30-586
30-586 30-586 30-586 30-586 30-586 30-586 #32-779 32-779 32-779
32-779 32-779 32-779 32-779 32-779 32-779 32-779 32-779 32-779
$$$GLB = ****** 22-162 22-162 22-162
$$$OST = 000006 #22-162 22-162 22-162 #22-162 22-162 22-162 #22-162 22-162 22-162
#22-162
$$$T1 = 000011 #22-188 22-188 #30-581 30-581 #30-586 30-586 #32-779 32-779
COPY CREATED BY MACRO ON 14-APR-81 AT 11:14 PAGE 12
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
ALUN$S #20-53 #22-185 #24-318 #24-324
CALL #1-23 #20-53 22-187 22-197 23-208 23-212 23-216 23-223 23-228 23-230
23-234 23-244 23-255 23-263 23-265 23-290 23-308 24-327 25-341 26-371
26-372 26-377 26-390 26-393 26-402 26-405 26-435 26-437 27-452 27-454
27-456 27-458 27-460 28-486 28-499 29-516 30-576 30-615 30-640 30-642
32-765 32-812 32-814 32-849 32-857 32-860 32-900
CLEF$S #20-53 25-334 29-509
DIR$ #22-162 22-162 #22-185 22-185 #22-188 22-188 #24-318 24-318 #24-324 24-324
#25-334 25-334 #29-509 29-509 #30-572 30-572 #30-581 30-581 #30-586 30-586
#32-779 32-779 #32-910 32-910
ERROR #20-70 23-290 23-308 24-327 27-452 27-454 27-456 27-458 27-460 30-640
30-642
ERR$ #22-162 #22-185 #22-188 #24-318 #24-324 #25-334 #29-509 #30-572 #30-581 #30-586
#32-779 #32-910
EXIT$S #20-53 #32-910
GPRT$S #20-53 #22-162
MOV$ #22-162 #22-162 #22-185 #22-185 #22-185 #22-185 #22-185 #22-188 #22-188 #22-188
#22-188 #22-188 #22-188 #22-188 #22-188 #24-318 #24-318 #24-318 #24-318 #24-318
#24-324 #24-324 #24-324 #24-324 #24-324 #25-334 #25-334 #29-509 #29-509 #30-572
#30-572 #30-581 #30-581 #30-581 #30-581 #30-581 #30-581 #30-581 #30-581 #30-581
#30-581 #30-581 #30-586 #30-586 #30-586 #30-586 #30-586 #30-586 #30-586 #30-586
#30-586 #30-586 #30-586 #32-779 #32-779 #32-779 #32-779 #32-779 #32-779 #32-779
#32-779 #32-779
MVB$ #22-188 22-188 #30-581 30-581 #30-586 30-586 #32-779 32-779
NBL$ #22-185 22-185 #24-318 24-318 #24-324 24-324
ND #17-593
OFF$ #22-162 #22-162 #22-162 #22-162
POP #20-53 26-408 26-442 30-616 30-625 32-781 32-782 32-902
PUSH #20-53 22-187 22-197 23-290 23-308 24-327 25-341 26-377 26-391 26-409
26-435 27-452 27-454 27-456 27-458 27-460 29-516 30-565 30-613 30-615
30-640 30-642 32-750 32-897
QDPB$S #22-188 22-188 #30-581 30-581 #30-586 30-586 #32-779 32-779
QIOW$S #20-53 22-188 30-586 32-779
QIO$S #20-53 #30-581
RETURN #1-23 #20-53 29-512 30-626 31-670 31-700 31-726 32-783 32-806 32-816
32-843 32-851 32-905
RFA$ #22-162 22-162
RVP$ #22-185 #22-185 #22-188 #22-188 #24-318 #24-318 #24-324 #24-324 #30-581 #30-581
#30-586 #30-586 #32-779 #32-779
STOPCD #2-107
TYPE #20-57 #22-187 #22-197 #23-290 #23-308 #24-327 #25-341 #26-377 #26-435 #27-452
#27-454 #27-456 #27-458 #27-460 #29-516 #30-615 #30-640 #30-642
WARN #20-74 26-435 29-516 30-615
WTSE$S #20-53 #30-572
.CKTTS #17-597