Trailing-Edge
-
PDP-10 Archives
-
bb-m403a-bk
-
boot.lst
There are 2 other files named boot.lst in the archive. Click here to see a list.
BOOT - BOOT NEW SYSTEM MACRO M1113 14-APR-81 11:11
TABLE OF CONTENTS
20- 44 EQUATED SYMBOLS
21- 100 PHASE 1 LOCAL DATA
22- 188 ERROR MESSAGE
23- 215 BOOT PHASE I
25- 419 PHASE 1 - ERROR PROCESSING
BOOT - BOOT NEW SYSTEM MACRO M1113 14-APR-81 11:11 PAGE 17
DTE20 HARDWARE BITS
700 .LIST MEB
BOOT - BOOT NEW SYSTEM MACRO M1113 14-APR-81 11:11 PAGE 19
DTE20 HARDWARE BITS
1 .TITLE BOOT - BOOT NEW SYSTEM
2 .IDENT "02"
3
4 ; COPYRIGHT (C) 1973, 1978 BY
5 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6 ;
7 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
8 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
9 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
10 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
11 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
12 ;
13 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
14 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
15 ; CORPORATION.
16 ;
17 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
18 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
19 ;
20 ;
21 ; VERSION: 02
22 ; BY: H. LEV
23 ; DATE: 9/1/73
24 ; MODIFIED: 8/9/74 BRAKE INTO TWO MODULES FOR ASSEMBLY PURPOSES
25 ; 3/10/75 SWITCH TO SYSTEM STATE TO SEARCH LISTS
26 ; 4/8/75 ADD RX11 SUPPORT
27 ; 4/11/75 USE SAME DRIVERS FOR BOOT + SAVE
28 ; AND BOOT SYSTEMS OF ANY SIZE
29
30 ;
31 ; THIS PROGRAM BOOTS IN AN RSX-11M SYSTEM IMAGE FROM A FILES-11 DEVICE. IT OPENS AN
32 ; RSX-11M TASK IMAGE FILE, VERIFIES THAT IT IS AN OPERATING SYSTEM IMAGE
33 ; (NO TASK HEADER) AND THEN READS THE IMAGE INTO CORE
34 ;
35
36 .MCALL CSI$
37 000000 CSI$ ; DEFINE CSI CONTROL BLOCK OFFSETS
38 .MCALL FDOFF$
39 000000 FDOFF$ DEF$L ; DEFINE FDB OFFSETS
40 .MCALL CALL,DIR$,EXIT$S
41 .MCALL FDBK$A,FDBF$A,FDBDF$,FDOP$A
42 .MCALL FINIT$,FSRSZ$,NMBLK$,RETURN,WTSE$S
BOOT - BOOT NEW SYSTEM MACRO M1113 14-APR-81 11:11 PAGE 20
EQUATED SYMBOLS
44 .SBTTL EQUATED SYMBOLS
45 ;
46 ; CSI SWITCH FLAGS
47 ;
48 000001 FIDBIT = 1 ; /FI FILE ID.
49 ;
50 ; LOGICAL UNITS
51 ;
52 000001 LUN1 = 1 ; CO LUN
53 000002 LUN2 = 2 ; LUN FOR SYSTEM IMAGE FILE
54
55
56
57 ;
58 ; LABEL BLOCK OFFSETS
59 ;
60 000010 L$BFLG = 10 ; LABEL FLAGS
61 000014 L$BLDZ = 14 ; LOAD SIZE IN 32 WORD BLOCKS
62 000022 L$BHRB = 22 ; RELATIVE BLOCK OF START OF CODE
63 000026 L$BXFR = 26 ; SYSTEM TRANSFER ADDRESS
64 ;
65 ; LABEL FLAG BITS (L$BFLG)
66 ;
67 040000 TS$NHD = 40000 ; TASK IMAGE HAS NO HEADER
68
69 ;
70 ; MISCELANEOUS CONSTANTS
71 ;
72 000040 SPA = 40 ;
73 000015 CR = 15 ;
74 000033 ESC = 33 ;
75
76 000001 EFN1 = 1 ; EVENT FLAG TO WAIT ON
77
78 ;
79 ; DEVICE DRIVER TABLE OFFSETS
80 ;
81 000000 DRVNAM = 0 ; DEVICE NAME IN ASCII
82 000002 DRVSET = 2 ; DRIVER SET UP ROUTINE
83 000004 DRVLLN = 4 ; LOAD LENGTH WORD ADDRESS
84 000006 DRVBA = 6 ; BUFFER WORD ADDRESS
85 000010 DRVFUN = 10 ; DRIVER FUNCTION CODE ADDRESS
86 000012 DRVADR == 12 ; DRIVER ADDRESS
87 000014 DRVLEN == 14 ; DRIVER LENGTH IN WORDS
88 000016 DRVWRT = 16 ; WRITE FUNCTION CODE (WITH GO BIT)
89 000020 DRVRD = 20 ; READ FUNCTION CODE (WITH GO BIT)
90 000022 DRVUNT == 22 ; UNIT SELECT BITS IN CORRECT POSITION
91 000026 DRCSR == 26 ; ADDRESS OF CSR ADDRESS
92 000024 DRVSEL = 24 ; DRIVE SELECT WORD ADDRESS
93 .IF DF R$$20F
94 000030 DRCSRA = 30 ; CSR ADDRESS
95 000032 DRVENT = 32 ; LENGTH OF DRIVER ENTRY
96 .IFF ; .IF DF R$$20F
97 DRVENT = 30 ; LENGTH OF DRIVER ENTRY
98 .ENDC ; .IF DF R$$20F
BOOT - BOOT NEW SYSTEM MACRO M1113 14-APR-81 11:11 PAGE 21
PHASE 1 LOCAL DATA
100 .SBTTL PHASE 1 LOCAL DATA
101 ;
102 ; CSI CONTROL BLOCK
103 ;
104 000000 BOTCSI: .BLKB C.SIZE ;
105
106
107 ;
108 ; DISK FILE DESCRIPTOR BLOCK
109 ;
110 000054 BOTFDB: FDBDF$ ; ALLOCATE SPACE
111 000214 FDBK$A ,,,,BOTSTA ; I/O STATUS BLOCK
000100 001254' .WORD BOTSTA
112 000214 FDOP$A LUN2,BOTCSI+C.DSDS,BOTDNB ;
000116 002 .BYTE LUN2
000120 000006' .WORD BOTCSI+C.DSDS
000122 001216' .WORD BOTDNB
113 000214 FDBF$A EFN1 ;
000124 001 .BYTE EFN1
114 ;
115 ; COMMAND LINE DPB AND DISK BUFFER
116 ;
117 000214 177 051 BOTGCL: .BYTE 127.,41. ; DK AND LENGTH
118 000216 BOTBUF: .BLKB 512. ; COMMAND AND DISK BUFFER
119
120 ;
121 ; DEFAULT NAME BLOCK
122 ;
123 .IF DF R$$20F
124 001216 BOTDNB: NMBLK$ RSX20F,SYS,,SY
001224 071620 146266 .RAD50 /RSX20F/
001230 000000 .WORD 0
001232 075273 .RAD50 /SYS/
001250 054523 .WORD "SY
125 .IFF
126 BOTDNB: NMBLK$ RSX11M,SYS,,SY ; DEFAULT TO SY:RSX11M.SYS
127 .ENDC
128
129 ;
130 ; I/O STATUS BLOCK
131 ;
132 001254 BOTSTA: .BLKW 2 ;
133
134 ;
135 ; DISK FILE QIO DPB
136 ;
137 .IF DF R$$11M
138 .IFF
139 DSKDPB: .BYTE 1.,11. ; DIC AND LENGTH
140 .WORD 0 ; FUNCTION CODE
141 .WORD LUN2 ; LOGICAL UNIT
142 .WORD EFN1 ; EVENT FLAG TO WAIT ON
143 .WORD BOTSTA ; I/O STATUS BLOCK
144 .WORD 0 ; AST
145 DSKBUF: .WORD 0 ; PARAMETER AREA
146 .WORD 0,0,0,0 ;
147 .IFT
BOOT - BOOT NEW SYSTEM MACRO M1113 14-APR-81 11:11 PAGE 21-1
PHASE 1 LOCAL DATA
148 001260 001 014 DSKDPB: .BYTE 1.,12. ; DIC AND LENGTH
149 001262 000000 .WORD 0 ; FUNCTION CODE
150 001264 000002 .WORD LUN2 ;
151 001266 000001 .WORD EFN1 ;
152 001270 001254' .WORD BOTSTA ; I/O STATUS BLOCK
153 001272 000000 .WORD 0 ; AST ADDRESS
154 001274 000000 DSKBUF: .WORD 0 ; PARAMETER AREA
155 001276 000000 000000 000000 .WORD 0,0,0,0,0 ;
001304 000000 000000
156 .ENDC
157
158 ;
159 ; ERROR MESSAGE DPB
160 ;
161 001310 001 014 ERRDPB: .BYTE 1.,12. ; DIC AND LENGTH
162 001312 000000G .WORD IO.WVB ; FUNCTION CODE
163 001314 000001 .WORD LUN1 ; LOGICAL UNIT FOR "CO"
164 001316 000001 .WORD EFN1 ; EVENT FLAG
165 001320 000000 000000 .WORD 0,0 ; I/O STATUS AND AST
166 001324 000000 ERRBUF: .WORD 0 ; BUFFER ADDRESS
167 001326 000000 .WORD 0 ; LENGTH
168 001330 000040 .WORD 40 ; CARRIAGE CONTROL
169
170 ;
171 ; INTIALIZE FSR
172 ;
173 001332 FSRSZ$ 0 ; NO BUFFERS NEEDED
174
175
176 ;
177 ; CONTROL BLOCK FOR FILBN
178 ;
179 001332 000054' LBNBLK: .WORD BOTFDB ; FILE DESCRIPTOR BLOCK ADDRESS
180 001334 001216' .WORD BOTDNB ; DEFAULT NAME BLOCK
181 001336 000000' .WORD BOTCSI ; CSI CONTROL BLOCK ADDRESS
182 001340 .BLKW 2 ; SPACE FOR FILE LBN
183 .IF DF R$$11M
184 001344 .BLKW 1 ; SPACE FOR UNREDIRECTED UCB ADDRESS
185 .ENDC
186 001346 .BLKW 1 ; SPACE FOR FILE SIZE IN BLOCKS
BOOT - BOOT NEW SYSTEM MACRO M1113 14-APR-81 11:11 PAGE 22
ERROR MESSAGE
188 .SBTTL ERROR MESSAGE
189
190 001350 015 102 117 ERR1: .ASCIZ <15>/BOO -- SYNTAX ERROR/
001353 117 040 055
001356 055 040 123
001361 131 116 124
001364 101 130 040
001367 105 122 122
001372 117 122 000
191 001375 015 102 117 ERR2: .ASCIZ <15>/BOO -- FILE NOT FOUND/
001400 117 040 055
001403 055 040 106
001406 111 114 105
001411 040 116 117
001414 124 040 106
001417 117 125 116
001422 104 000
192 001424 015 102 117 ERR3: .ASCIZ <15>/BOO -- INVALID LOAD DEVICE/
001427 117 040 055
001432 055 040 111
001435 116 126 101
001440 114 111 104
001443 040 114 117
001446 101 104 040
001451 104 105 126
001454 111 103 105
001457 000
193 001460 015 102 117 ERR4: .ASCIZ <15>/BOO -- FILE NOT CONTIGUOUS/
001463 117 040 055
001466 055 040 106
001471 111 114 105
001474 040 116 117
001477 124 040 103
001502 117 116 124
001505 111 107 125
001510 117 125 123
001513 000
194 001514 015 102 117 ERR5: .ASCIZ <15>/BOO -- DPB ERROR/
001517 117 040 055
001522 055 040 104
001525 120 102 040
001530 105 122 122
001533 117 122 000
195 001536 015 102 117 ERR6: .ASCIZ <15>/BOO -- LABEL BLOCK READ ERROR/
001541 117 040 055
001544 055 040 114
001547 101 102 105
001552 114 040 102
001555 114 117 103
001560 113 040 122
001563 105 101 104
001566 040 105 122
001571 122 117 122
001574 000
196 001575 015 102 117 ERR7: .ASCIZ <15>/BOO -- NOT SYSTEM IMAGE/
001600 117 040 055
001603 055 040 116
BOOT - BOOT NEW SYSTEM MACRO M1113 14-APR-81 11:11 PAGE 22-1
ERROR MESSAGE
001606 117 124 040
001611 123 131 123
001614 124 105 115
001617 040 111 115
001622 101 107 105
001625 000
197 001626 015 102 117 ERR8: .ASCIZ <15>/BOO -- NO TRANSFER ADDRESS/
001631 117 040 055
001634 055 040 116
001637 117 040 124
001642 122 101 116
001645 123 106 105
001650 122 040 101
001653 104 104 122
001656 105 123 123
001661 000
198 .IF DF DEBUG
199 ERR10: .ASCIZ <15>/PAR5 SET/
200 ERR11: .ASCIZ <15>/PHASE 2 MOVED/
201 .ENDC
202 001662 015 102 117 ERR14: .ASCIZ <15>/BOO -- DEVICE NOT MOUNTED/
001665 117 040 055
001670 055 040 104
001673 105 126 111
001676 103 105 040
001701 116 117 124
001704 040 115 117
001707 125 116 124
001712 105 104 000
203 .IF DF R$$11M
204 .IFT
205 001715 015 102 117 ERR15: .ASCIZ <15>/BOO -- PRIVILEGED COMMAND/
001720 117 040 055
001723 055 040 120
001726 122 111 126
001731 111 114 105
001734 107 105 104
001737 040 103 117
001742 115 115 101
001745 116 104 000
206 001750 015 102 117 ERR16: .ASCIZ <15>/BOO -- DEVICE NOT IN SYSTEM/
001753 117 040 055
001756 055 040 104
001761 105 126 111
001764 103 105 040
001767 116 117 124
001772 040 111 116
001775 040 123 131
002000 123 124 105
002003 115 000
207 .ENDC
208 .IF DF R$$20F
209 002005 015 102 117 PRIPRM: .ASCIZ <15>/BOO -- PRIMARY PROTOCOL RUNNING/
002010 117 040 055
002013 055 040 120
002016 122 111 115
002021 101 122 131
BOOT - BOOT NEW SYSTEM MACRO M1113 14-APR-81 11:11 PAGE 22-2
ERROR MESSAGE
002024 040 120 122
002027 117 124 117
002032 103 117 114
002035 040 122 125
002040 116 116 111
002043 116 107 000
210 002046 102 117 117 BTPRMT: .ASCII /BOO>/
002051 076
211 000004 BTPRML=.-BTPRMT
212 .ENDC ; .IF DF R$$20F
213 .EVEN
BOOT - BOOT NEW SYSTEM MACRO M1113 14-APR-81 11:11 PAGE 23
BOOT PHASE I
215 .SBTTL BOOT PHASE I
216
217 ;+
218 ; *** - BOOTEP ENTRY POINT FOR BOOT COMMAND
219 ;
220 ; THIS SECTION OF CODE GETS THE MCR COMMAND LINE
221 ; CALLS CSI TO PARSE AND ANALIZE THE FILE SPECIFICATION.
222 ; IT THEN OPENS THE FILE AND READS THE FIRST BLOCK WHICH
223 ; IS THE LABEL BLOCK. THE SECOND SECTION OF CODE IS THEN
224 ; MOVED TO LOCATION 120000 AND CONTROL IS TRANSFERRED
225 ; THERE TO CONTINUE THE BOOT PROCESS
226 ;
227 ;-
228
229 002052 BOOTEP: FINIT$ ; INIT FCS
002052 004767 000000G JSR PC,.FINIT
230 .IF DF R$$20F
231 .IFF
232 .IF DF R$$11M
233 MOV $TKTCB,R0 ; GET OUR TCB ADDRESS
234 MOV T.UCB(R0),R0 ; GET TI UCB ADDRESS
235 CALL $SWSTK,6$ ; SWITCH TO SYSTEM STATE
236 5$: MOV U.RED(R0),R0 ; FOLLOW REDIRECT POINTER
237 CMP R0,U.RED(R0) ; END?
238 BNE 5$ ; NO CONTINUE DOWN LIST
239 MOV R0,2(SP) ; SET USER STATE R0
240 RETURN ; RETURN TO USER STATE
241 6$: BIT #U2.PRV,U.CW2(R0) ; IS TERMINAL PRIVILEGED?
242 BEQ 12$ ; NO , ERROR
243 .ENDC
244 DIR$ #BOTGCL ; GET MCR COMMAND LINE
245 BCS 10$ ; ERROR
246 MOV #BOTBUF,R0 ; GET BUFFER ADDRESS
247 .IFT
248 002056 012704 002046' MOV #BTPRMT,R4 ; POINT TO PROMPT
249 002062 012703 000004 MOV #BTPRML,R3 ; AND LENGTH
250 002066 CALL .GTCML ; GET THE COMMAND LINE
002066 004767 000000G JSR PC,.GTCML
251 002072 010400 MOV R4,R0 ; COPY THE BUFFER POINTER
252 .ENDC ; .IF DF R$$20F
253 002074 012705 001332' MOV #LBNBLK,R5 ; GET CONTROL BLOCK ADDRESS FOR FILBN
254 002100 CALL $FILBN ; GET FILE LBN
002100 004767 000000G JSR PC,$FILBN
255 002104 103027 BCC 20$ ; SKIP IF NO ERRORS
256 002106 005201 INC R1 ; IS IT SYNTAX?
257 002110 001405 BEQ 10$ ; YES
258 002112 005201 INC R1 ; NO, FILE NOT FOUND?
259 002114 001407 BEQ 15$ ; YES
260 002116 005201 INC R1 ; NO, DEVICE NOT MOUNTED?
261 002120 001407 BEQ 16$ ; YES
262 002122 000412 BR 18$ ; NO, DEVICE NOT IN SYSTEM
263 002124 000167 000672 10$: JMP BTER1 ; YES
264 002130 000167 000600 12$: JMP BTER15 ; PRIVILEGED COMMAND
265 002134 000167 000654 15$: JMP BTER2 ; FILE NOT FOUND
266 002140 000167 000576 16$: JMP BTER14 ; DEVICE NOT MOUNTED
267 002144 000167 000630 17$: JMP BTER4 ;
268 002150 000167 000552 18$: JMP BTER16 ; DEVICE NOT IN SYSTEM
BOOT - BOOT NEW SYSTEM MACRO M1113 14-APR-81 11:11 PAGE 23-1
BOOT PHASE I
269 .IF DF R$$20F
270 002154 012705 002005' 199$: MOV #PRIPRM,R5 ; GET MESSAGE ADDRESS
271 002160 000167 000642 JMP BTERR ; AND SEND IT
272 .IFTF
273 002164 005701 20$: TST R1 ; IS FILE CONTIGUOUS?
274 002166 001766 BEQ 17$ ; NO, NOT SYSTEM IMAGE
275 .IFT
276 002170 032767 000000G 000002G BIT #EF.PR1,.COMEF+2 ; PRIMARY PROTOCOL?
277 002176 001366 BNE 199$ ; YES -- PRIMARY PROTOCOL ILLEGAL
278 .ENDC ;.IF DF R$$20F
279 002200 016567 000014 000000G MOV 14(R5),$BTFSZ ; SAVE FILE SIZE IN BLOCKS
BOOT - BOOT NEW SYSTEM MACRO M1113 14-APR-81 11:11 PAGE 24
BOOT PHASE I
281 ;
282 ; CHECK FOR VALID DEVICE
283 ;
284 002206 016567 000006 000000G MOV 6(R5),$BTLBN ; SET LBN
285 002214 016567 000010 000002G MOV 10(R5),$BTLBN+2 ;
286 002222 011500 MOV (R5),R0 ; GET FDB ADDRESS
287 002224 012704 000000G MOV #$DVDRV,R4 ; GET ADDRESS OF DRIVER TABLE
288 002230 026064 000134 000000 25$: CMP F.DVNM(R0),DRVNAM(R4) ; IS THIS THE DEVICE?
289 002236 001407 BEQ 30$ ; YES
290 002240 062704 000032 ADD #DRVENT,R4 ; NO, INDEX TO NEXT ENTRY
291 002244 005764 000000 TST DRVNAM(R4) ; END OF TABLE?
292 002250 001367 BNE 25$ ; NO
293 002252 000167 000530 JMP BTER3 ; YES, ERROR
294 002256 016067 000134 000000G 30$: MOV F.DVNM(R0),$BTDEV ; GET DEVICE MNEMONIC
295 002264 016067 000136 000000G MOV F.UNIT(R0),$BTLUN ; SAVE LOGICAL DEVICE NUMBER
296 ;
297 ; READ LABEL BLOCK
298 ;
299 002272 016500 000012 MOV 12(R5),R0 ; GET UCB ADDRESS
300 .IF DF R$$20F
301 .IFF
302 CALL $SWSTK,40$ ; SWITCH TO SYSTEM STATE
303 35$: MOV U.RED(R0),R0 ; FOLLOW REDIRECT POINTER
304 CMP R0,U.RED(R0) ; END OF LIST?
305 BNE 35$ ; NO, CONTINUE DOWN LIST
306 MOV R0,2(SP) ; SET USER R0 WITH UCB ADDRESS
307 RETURN ; RETURN TO USER STATE
308 40$:
309 MOVB U.UNIT(R0),$BTUNT ; SET PHYSICAL UNIT NUMBER
310 MOV U.SCB(R0),R0 ; GET SCB ADDRESS
311 MOV S.CSR(R0),$BTCSR ; SAVE DEVICE CSR ADDRESS
312 .IFT ; .IF DF R$$20F
313 002276 016000 000000G MOV U.RP(R0),R0 ;GET UN-REDIRECTED PUD ENTRY ADDRESS
314 002302 116067 000000G 000000G MOVB U.UN(R0),$BTUNT ; SET PHYSICAL UNIT #
315 002310 016467 000030 000000G MOV DRCSRA(R4),$BTCSR ; SET CSR ADDRESS
316 .ENDC ; .IF DF R$$20F
317 002316 012767 000000G 176736 MOV #IO.RLB,DSKDPB+2 ; SET READ LOGICAL BLOCK FUNCTION
318 002324 012767 000216' 176742 MOV #BOTBUF,DSKBUF ; SET BUFFER ADDRESS
319 002332 012767 001000 176736 MOV #512.,DSKBUF+2 ; SET BUFFER LENGTH
320 002340 005067 176734 CLR DSKBUF+4 ; ZERO CARRIAGE CONTROL
321 002344 016767 000000G 176730 MOV $BTLBN,DSKBUF+6 ; SET HIGH LBN
322 002352 016767 000002G 176724 MOV $BTLBN+2,DSKBUF+10 ; AND LOW
323 002360 DIR$ #DSKDPB ; READ LABEL BLOCK
002360 012746 001260' MOV #DSKDPB,-(SP)
002364 104375 EMT 375
324 002366 103406 BCS 43$ ; ERROR IN DPB
325 002370 WTSE$S #EFN1 ; WAIT TILL DONE
002370 012746 000001 MOV #EFN1,-(SP)
002374 012746 MOV (PC)+,-(SP)
002376 051 002 .BYTE 41.,2
002400 104375 EMT 375
326 002402 103004 BCC 47$ ; OKAY
327 002404 000167 000362 43$: JMP BTER5 ; ERROR
328 002410 000167 000350 44$: JMP BTER6 ;
329 002414 005367 176634 47$: DEC BOTSTA ; ANY I/O ERRORS
330 002420 001373 BNE 44$ ; YES
331 002422 012705 000216' MOV #BOTBUF,R5 ; POINT TO LABEL BLOCK BUFFER
BOOT - BOOT NEW SYSTEM MACRO M1113 14-APR-81 11:11 PAGE 24-1
BOOT PHASE I
332 002426 066567 000022 000002G ADD L$BHRB(R5),$BTLBN+2 ; COMPUTE SYSTEM
333 002434 005567 000000G ADC $BTLBN ; IMAGE LBN
334 002440 166567 000022 000000G SUB L$BHRB(R5),$BTFSZ ; COMPUTE LOAD IMAGE LENGTH
335 002446 016567 000014 000000G MOV L$BLDZ(R5),$BTLLN ; SAVE SYSTEM IMAGE LENGTH IN 32 WORD BLOCKS
336 002454 016567 000026 000000G MOV L$BXFR(R5),$BTXFR ; SAVE TRANSFER ADDRESS
337 002462 032765 040000 000010 BIT #TS$NHD,L$BFLG(R5) ; IS THIS SYSTEM IMAGE? (NO HEADER?)
338 002470 001532 BEQ BTER7 ; NO, NOT OP SYSTEM
339 ;
340 ; COMPUTE MAXIMUM IMAGE TO READ
341 ;
342 .IF DF M$$MGE
343 MOV #7560,R1 ; SET 124K-.5K
344 .IFF
345 002472 012701 001560 MOV #1560,R1 ; SET 28K-.5K
346 .ENDC
347 .IF DF R$$20F
348 002476 020167 000000G 50$: CMP R1,.MSIZE ; ABOVE SYSTEM TOP?
349 .IFF
350 50$: CMP R1,$SYSIZ ; ABOVE SYSTEM TOP
351 .ENDC ; .IF DF R$$20F
352 002502 103403 BLO 55$ ; NO
353 002504 162701 000020 SUB #20,R1 ; YES, BACK OFF .5K
354 002510 000772 BR 50$ ; TRY AGAIN
355 002512 010167 000000G 55$: MOV R1,$BTMAX ; SET MAXIMUM READ LENGTH
356 ;
357 ; SET UP DRIVER
358 ;
359 002516 016701 000000G MOV $BTLLN,R1 ; GET LOAD LENGTH IN 32 WORD BLOCKS
360 002522 020167 000000G CMP R1,$BTMAX ; HIGHER THAN TOP OF CORE?
361 002526 101402 BLOS 57$ ; NO
362 002530 016701 000000G MOV $BTMAX,R1 ; YES, USE TOP OF CORE
363 002534 062701 000007 57$: ADD #7,R1 ; ROUND UP TO NEXT LBN
364 002540 006201 ASR R1 ; CONVERT TO NUMBER OF LBNS
365 002542 006201 ASR R1 ;
366 002544 006201 ASR R1 ;
367 002546 005767 000000G TST $BTXFR ; SAVED SYSTEM?
368 002552 001002 BNE 58$ ; NO
369 002554 012701 000001 MOV #1,R1 ; YES, READ ONLY ONE BLOCK
370 002560 010174 000004 58$: MOV R1,@DRVLLN(R4) ; SET LOAD LENGTH
371 002564 005074 000006 CLR @DRVBA(R4) ; SET STARTING BUFFER ADDRESS TO ZERO
372 002570 116474 000020 000010 MOVB DRVRD(R4),@DRVFUN(R4) ; SET READ FUNCTION
373 002576 016774 000000G 000026 MOV $BTCSR,@DRCSR(R4) ; SET CSR ADDRESS
374 002604 010405 MOV R4,R5 ; COPY DRIVER TABLE ENTRY ADDRESS
375 002606 CALL @DRVSET(R5) ; SET UP DRIVER
002606 004775 000002 JSR PC,@DRVSET(R5)
376 002612 056575 000022 000024 BIS DRVUNT(R5),@DRVSEL(R5) ; SET UNIT SELECT
377 ;
378 ; MOVE DRIVER TO CORRECT PLACE IN PHASE2
379 ;
380 002620 016500 000012 MOV DRVADR(R5),R0 ; GET DRIVER ADDRESS
381 002624 016502 000014 MOV DRVLEN(R5),R2 ; GET LENGTH IN WORDS
382 002630 012701 000000G MOV #$DRVER,R1 ; GET DESTINATION ADDRESS
383 002634 012021 60$: MOV (R0)+,(R1)+ ; MOVE DRIVER
384 002636 005302 DEC R2 ; DONE?
385 002640 003375 BGT 60$ ; NO, LOOP
386 ;
387 ; SWITCH TO SYSTEM STATE AND MOVE REST OF BOOT TO TOP OF MEMORY
BOOT - BOOT NEW SYSTEM MACRO M1113 14-APR-81 11:11 PAGE 24-2
BOOT PHASE I
388 ;
389 002642 032767 000001 000000G BIT #1,$BTXFR ; IS THERE A TRANSFER ADDRESS (MUST BE EVEN)
390 002650 001037 BNE BTER8 ; NO, ODD ADDRESS
391 .IF DF R$$20F
392 .IFF
393 CALL $SWSTK,90$ ; SWITCH TO SYSTEM STATE
394 .ENDC ;.IF DF R$$20F
395 002652 052737 000340 000000G BIS #340,@#PS ; INHIBIT INTERRUPTS
396 002660 016705 000000G MOV $BTMAX,R5 ;;; GET ADDRESS TO MOVE TO
397 .IF DF M$$MGE
398 MOV R5,@#KISAR6 ;;; SET APR6
399 MOV #1400,R5 ;;; SET TO USE APR6
400 .ENDC
401 002664 010504 MOV R5,R4 ;;; COPY
402 002666 012702 000006 MOV #6,R2 ;;; SET SHIFT COUNT
403 002672 006305 87$: ASL R5 ;;; SHIFT UP
404 002674 005302 DEC R2 ;;; DONE?
405 002676 001375 BNE 87$ ;;; NO, LOOP
406 002700 010504 MOV R5,R4 ;;; SAVE FOR BASE OF PHASE 2
407 002702 012701 000000C MOV #$BTEND-$BTPH2,R1 ;;; SET LENGTH OF MOVE IN BYTES
408 002706 006201 ASR R1 ;;; CONVERT TO WORDS
409 002710 012700 000000G MOV #$BTPH2,R0 ;;; SET SOURCE ADDRESS
410 002714 012024 90$: MOV (R0)+,(R4)+ ;;; MOVE A WORD
411 002716 005301 DEC R1 ;;; DONE
412 002720 001375 BNE 90$ ;;; NO, LOOP
413 .IF DF DEBUG
414 MOV #ERR11,R0
415 CALL TYPE
416 .ENDC
417 002722 000165 000000C JMP $BTEP2-$BTPH2(R5) ;;; GO TO MOVED ROUTINE
BOOT - BOOT NEW SYSTEM MACRO M1113 14-APR-81 11:11 PAGE 25
PHASE 1 - ERROR PROCESSING
419 .SBTTL PHASE 1 - ERROR PROCESSING
420
421 002726 012705 001750' BTER16: MOV #ERR16,R5 ; DEVICE NOT IN SYSTEM
422 002732 000435 BR BTERR ;
423 002734 012705 001715' BTER15: MOV #ERR15,R5 ; PRIVILEGED COMMAND
424 002740 000432 BR BTERR ;
425 002742 012705 001662' BTER14: MOV #ERR14,R5 ; DEVICE NOT MOUNTED
426 002746 000427 BR BTERR ;
427 002750 012705 001626' BTER8: MOV #ERR8,R5 ; NO TRANSFER ADDRESS
428 002754 000424 BR BTERR ;
429 002756 012705 001575' BTER7: MOV #ERR7,R5 ; NOT SYSTEM IMAGE
430 002762 000421 BR BTERR ;
431 002764 012705 001536' BTER6: MOV #ERR6,R5 ; LABEL BLOCK READ ERROR
432 002770 000416 BR BTERR ;
433 002772 012705 001514' BTER5: MOV #ERR5,R5 ; DPB ERROR
434 002776 000413 BR BTERR ;
435 003000 012705 001460' BTER4: MOV #ERR4,R5 ; FILE NOT CONTIGUOUS
436 003004 000410 BR BTERR ;
437 003006 012705 001424' BTER3: MOV #ERR3,R5 ; INVALID LOAD DEVICE
438 003012 000405 BR BTERR ;
439 003014 012705 001375' BTER2: MOV #ERR2,R5 ; OPEN ERROR
440 003020 000402 BR BTERR
441 003022 012705 001350' BTER1: MOV #ERR1,R5 ; SYNTAX ERROR
442 003026 010500 BTERR: MOV R5,R0 ; COPY ADDRESS
443 003030 105720 10$: TSTB (R0)+ ; IS NEXT CHAR END?
444 003032 001376 BNE 10$ ; NO, LOOP
445 003034 005300 DEC R0 ; FIX FOR CORRECT COUNT
446 003036 160500 SUB R5,R0 ; COMPUTE LENGTH
447 003040 010567 176260 MOV R5,ERRBUF ; SET BUFFER ADDRESS
448 003044 010067 176256 MOV R0,ERRBUF+2 ; AND LENGTH
449 003050 DIR$ #ERRDPB ; WRITE IT OUT
003050 012746 001310' MOV #ERRDPB,-(SP)
003054 104375 EMT 375
450 003056 103405 BCS 20$ ; ERROR
451 003060 WTSE$S #EFN1 ; WAIT TILL DONE
003060 012746 000001 MOV #EFN1,-(SP)
003064 012746 MOV (PC)+,-(SP)
003066 051 002 .BYTE 41.,2
003070 104375 EMT 375
452 003072 20$: EXIT$S ; EXIT
003072 012746 MOV (PC)+,-(SP)
003074 063 001 .BYTE 51.,1
003076 104375 EMT 375
453 002052' .END BOOTEP
BOOT - BOOT NEW SYSTEM MACRO M1113 14-APR-81 11:11 PAGE 25-1
SYMBOL TABLE
BOOTEP 002052R CD.OFL= 010000 DH.CNX= 000400 DM.DNE= 000200 F.BDB = 000070
BOTBUF 000216R CD.ONL= 000010 DH.DOV= 040000 DM.DTR= 000002 F.BGBC= 000057
BOTCSI 000000R CD.PAK= 000002 DH.LPR= 000004 DM.ENB= 000040 F.BKDN= 000026
BOTDNB 001216R CD.PWR= 000400 DH.LVL= 000005 DM.IEN= 000100 F.BKDS= 000020
BOTFDB 000054R CD.RDY= 000200 DH.NRC= 000002 DM.INI= 002000 F.BKEF= 000050
BOTGCL 000214R CD.STS= 177160 DH.NXM= 002000 DM.LE = 000001 F.BKP1= 000051
BOTSTA 001254R CD.VEC= 000230 DH.PEN= 000020 DM.LVL= 000004 F.BKST= 000024
BR0 = 000000 CD0DAT= 177162 DH.RIE= 000100 DM.RNG= 000200 F.BKVB= 000064
BR1 = 000040 CD0STS= 177160 DH.SIE= 010000 DM.RTS= 000004 F.CNTG= 000034
BR2 = 000100 CI.INE= 000100 DH.SSR= 000016 DM.SCN= 004000 F.DFNB= 000046
BR3 = 000140 CLKENB= 000100 DH.TIE= 020000 DM.SR = 000020 F.DSPT= 000044
BR4 = 000200 CLKLVL= 000006 DH.VDP= 100000 DM.ST = 000010 F.DVNM= 000134
BR5 = 000240 CLKVEC= 000100 DH..FE= 020000 DM.STP= 000400 F.EFBK= 000010
BR6 = 000300 CLKWRD= 177546 DH..HD= 040000 DM..MM= 001000 F.EFN = 000050
BR7 = 000340 CO.INE= 000100 DH..MC= 004000 DRCSR = 000026 G F.EOBB= 000032
BTERR 003026R CO..MM= 000004 DH..MM= 001000 DRCSRA= 000030 F.ERR = 000052
BTER1 003022R CR = 000015 DH..OP= 000040 DRVADR= 000012 G F.FACC= 000043
BTER14 002742R CS.DIF= 000002 DH..PE= 010000 DRVBA = 000006 F.FFBY= 000014
BTER15 002734R CS.DVF= 000004 DH..RI= 000200 DRVENT= 000032 F.FNAM= 000110
BTER16 002726R CS.EQU= 000040 DH..SI= 040000 DRVFUN= 000010 F.FNB = 000102
BTER2 003014R CS.INP= 000001 DH..TI= 100000 DRVLEN= 000014 G F.FTYP= 000116
BTER3 003006R CS.MOR= 000020 DH.2SB= 000004 DRVLLN= 000004 F.FVER= 000120
BTER4 003000R CS.NMF= 000001 DLDADR= 175610 DRVNAM= 000000 F.HIBK= 000004
BTER5 002772R CS.OUT= 000002 DLDSIZ= 000010 DRVRD = 000020 F.LUN = 000042
BTER6 002764R CS.WLD= 000010 DLRBUF= 000002 DRVSEL= 000024 F.MBCT= 000054
BTER7 002756R CTICHR= 177562 DLRSTS= 000000 DRVSET= 000002 F.MBC1= 000055
BTER8 002750R CTILVL= 000004 DLXBUF= 000006 DRVUNT= 000022 G F.MBFG= 000056
BTPRML= 000004 CTISTS= 177560 DLXSTS= 000004 DRVWRT= 000016 F.NRBD= 000024
BTPRMT 002046R CTIVEC= 000060 DL.BRK= 000001 DSKBUF 001274R F.NREC= 000030
B.DM11= 170500 CTOCHR= 177566 DL.CAR= 010000 DSKDPB 001260R F.OVBS= 000030
B0 = 000001 CTOLVL= 000004 DL.CTS= 020000 EFN1 = 000001 F.RACC= 000016
B1 = 000002 CTOSTS= 177564 DL.DIE= 000040 EF.PR1= ****** GX F.RATT= 000001
B10 = 002000 CTOVEC= 000064 DL.DSC= 100000 ERRBUF 001324R F.RCNM= 000034
B11 = 004000 C.CMLD= 000002 DL.DTR= 000002 ERRDPB 001310R F.RCTL= 000017
B12 = 010000 C.DEVD= 000006 DL.ERR= 100000 ERR1 001350R F.RSIZ= 000002
B13 = 020000 C.DIRD= 000012 DL.LVL= 000004 ERR14 001662R F.RTYP= 000000
B14 = 040000 C.DSDS= 000006 DL.OVR= 040000 ERR15 001715R F.STBK= 000036
B15 = 100000 C.FILD= 000016 DL.RGO= 004000 ERR16 001750R F.UNIT= 000136
B2 = 000004 C.MKW1= 000024 DL.RIE= 000100 ERR2 001375R F.URBD= 000020
B3 = 000010 C.MKW2= 000026 DL.RNG= 040000 ERR3 001424R F.VBN = 000064
B4 = 000020 C.SIZE= 000054 DL.ROK= 000200 ERR4 001460R F.VBSZ= 000060
B5 = 000040 C.STAT= 000001 DL.RTS= 000004 ERR5 001514R IO.RLB= ****** GX
B6 = 000100 C.SWAD= 000022 DL.XIE= 000100 ERR6 001536R IO.WVB= ****** GX
B7 = 000200 C.TYPR= 000000 DL.XOK= 000200 ERR7 001575R KL.LVL= 000004
B8 = 000400 DGUTS = 000000 DL..FE= 020000 ERR8 001626R KPAR0 = 172340
B9 = 001000 DHBASE= 160020 DL..MM= 000004 ESC = 000033 KW.INE= 000100
CD.CFD= 000001 DHRFER= 020000 DL..PE= 010000 FIDBIT= 000001 KW.TIC= 000200
CD.CHK= 040000 DHROVR= 040000 DL..RC= 000377 FTASRT= 000001 LBNBLK 001332R
CD.DAT= 177162 DH.AEE= 100000 DL..RE= 000001 FTECHO= 000000 LP.DAT= 177516
CD.DTE= 004000 DH.BAR= 000012 DL..XC= 000377 FTETR = 000000 LP.DNE= 000200
CD.DTL= 002000 DH.BCR= 000010 DL.2RC= 002000 FTGLOM= 000000 LP.ERR= 100000
CD.EOF= 020000 DH.BRK= 000014 DL.2XM= 000010 FT.CHK= 000001 LP.INE= 000100
CD.ERR= 100000 DH.CAR= 000006 DMBASE= 170500 FT.DDT= 000000 LP.LVL= 000004
CD.HEM= 000004 DH.CL5= 000000 DM.ALI= 000017 FT.D75= 000000 LP.STS= 177514
CD.INE= 000100 DH.CL6= 000001 DM.BSY= 000020 FT.HLP= 000001 LP.VEC= 000200
CD.LVL= 000006 DH.CL7= 000002 DM.CAR= 000100 F.ALOC= 000040 LP0DAT= 177516
CD.NXM= 001000 DH.CL8= 000003 DM.CTS= 000040 F.BBFS= 000062 LP0STS= 177514
BOOT - BOOT NEW SYSTEM MACRO M1113 14-APR-81 11:11 PAGE 25-2
SYMBOL TABLE
LP1DAT= 177522 L20ADR= 000004 R$$20F= 000001 TC.STS= 177340 TS.EET= 000002
LP1STS= 177520 L20BCT= 000006 SPA = 000040 TC.UPS= 000200 TS.EEX= 000400
LUN1 = 000001 L20BUF= 000014 STKLEN= 000200 TC.US0= 000000 TS.EIS= 002000
LUN2 = 000002 L20CHK= 000017 S.BFHD= 000020 TC.US1= 000400 TS.ENT= 000100
L$BFLG= 000010 L20COL= 000015 S.FATT= 000016 TC.US2= 001000 TS.EPE= 000020
L$BHRB= 000022 L20CRA= 000000 S.FDB = 000140 TC.US3= 001400 TS.ETD= 000200
L$BLDZ= 000014 L20CRB= 000002 S.FNAM= 000006 TC.US4= 002000 TS.IEN= 000001
L$BXFR= 000026 L20PCT= 000010 S.FNB = 000036 TC.US5= 002400 TS.IFB= 100000
L2.A16= 000020 L20PDA= 000016 S.FNBW= 000017 TC.US6= 003000 TS.MPE= 001000
L2.A17= 000040 L20RAM= 000012 S.FNTY= 000004 TC.US7= 003400 TS.PEX= 100000
L2.BCM= 007777 L20STS= 175400 S.FTYP= 000002 TC.VEC= 000214 TS.POF= 004000
L2.DB = 000377 L21STS= 175420 S.NFEN= 000020 TC.WCR= 177344 TS.RES= 004000
L2.DEL= 002000 MM.SR0= 177572 S..AMC= 000000 TC.WRA= 000016 TS.RM = 000010
L2.DH = 002000 MP.ENB= 000001 S..BDT= 000011 TC.WTM= 000012 TS.RST= 000100
L2.DL = 000010 MP.ERR= 100000 S..CHK= 000012 TC..BM= 002000 TS.TBM= 000001
L2.DNR= 000100 MP.LVL= 000007 S..CNK= 000003 TC..DI= 010000 TS.XDN= 000004
L2.DON= 000200 MP.REG= 172100 S..CTY= 000005 TC..DM= 001000 TS.XEC= 010000
L2.DR = 010000 MP.VEC= 000114 S..DCP= 000013 TC..EZ= 100000 TS.XEE= 004000
L2.DTE= 000002 MP.WWP= 000004 S..DL1= 000002 TC..MM= 020000 TS.XER= 020000
L2.ENB= 000100 NXMVEC= 000004 S..DTE= 000002 TC..RD= 000004 TS.XNT= 100000
L2.ERE= 001000 N.DID = 000024 S..ILS= 000004 TC..SE= 004000 TS.XTS= 040000
L2.ERR= 100000 N.DVNM= 000032 S..KW1= 000007 TC..WR= 000014 TS.ZST= 040000
L2.GER= 000001 N.FID = 000000 S..MEM= 000006 TE.BAS= 174400 U.RP = ****** GX
L2.GO = 000001 N.FNAM= 000006 S..NCN= 000010 TE.BNX= 000040 U.UN = ****** GX
L2.INI= 000400 N.FTYP= 000014 S..NXM= 000001 TE.DG1= 000030 VRS = 000022
L2.INT= 004000 N.FVER= 000016 TC.A16= 000020 TE.DG2= 000032 $BTCSR= ****** GX
L2.LDP= 010000 N.NEXT= 000022 TC.A17= 000040 TE.DG3= 000036 $BTDEV= ****** GX
L2.LPE= 000040 N.STAT= 000020 TC.BAR= 177346 TE.DYC= 000000 $BTEND= ****** GX
L2.LVL= 000004 N.UNIT= 000034 TC.CLK= 000100 TE.EAD= 000022 $BTEP2= ****** GX
L2.MPE= 000020 OB0 = 000001 TC.CMD= 177342 TE.EBC= 000016 $BTFSZ= ****** GX
L2.MST= 000004 OB1 = 000002 TC.DAT= 177350 TE.EDT= 000026 $BTLBN= ****** GX
L2.ONL= 004000 OB10 = 000400 TC.DT0= 000020 TE.LVL= 000006 $BTLLN= ****** GX
L2.OVF= 004000 OB11 = 001000 TC.DT1= 000010 TE.NNN= 000004 $BTLUN= ****** GX
L2.PCM= 007777 OB12 = 002000 TC.DT2= 000004 TE.STW= 000034 $BTMAX= ****** GX
L2.PEN= 000002 OB13 = 004000 TC.D16= 000001 TE.VEC= 000774 $BTPH2= ****** GX
L2.PI = 000400 OB14 = 010000 TC.D17= 000002 TE.XAD= 000020 $BTUNT= ****** GX
L2.PNR= 020000 OB15 = 020000 TC.ERR= 100000 TE.XA1= 000010 $BTXFR= ****** GX
L2.POL= 000200 OB16 = 040000 TC.ILO= 010000 TE.XA2= 000012 $DRVER= ****** GX
L2.PZE= 040000 OB17 = 100000 TC.INE= 000100 TE.XBC= 000014 $DVDRV= ****** GX
L2.RDB= 007777 OB2 = 000004 TC.LVL= 000006 TE.XDT= 000024 $FILBN= ****** GX
L2.RPB= 010000 OB3 = 000010 TC.MMT= 000040 TE.XW1= 000006 $$ = 000075
L2.RPE= 000010 OB4 = 000020 TC.MTE= 020000 TE.XW2= 000004 .COMEF= ****** GX
L2.SPR= 040000 OB5 = 000040 TC.NXM= 000400 TE.XW3= 000002 .FINIT= ****** G
L2.TB0= 000400 OB6 = 000100 TC.PAR= 040000 TRPVEC= 000034 .FSRCB= ****** G
L2.TB1= 001000 OB7 = 000200 TC.RDA= 000006 TS$NHD= 040000 .GTCML= ****** GX
L2.TB2= 002000 PASS = 000002 TC.RDY= 000200 TS.CET= 000001 .MSIZE= ****** GX
L2.TM = 000004 PDP11 = 000040 TC.REV= 004000 TS.DEI= 000010 ...PC1= 000054R
L2.TRN= 001000 PRIPRM 002005R TC.RMT= 000002 TS.DEP= 010000 ...PC2= 001232R
L2.UCD= 020000 PS = ****** GX TC.SAT= 000000 TS.EBM= 020000 ...PC3= 000054R
L2.VD = 100000 RD.LVL= 000004 TC.SST= 000010 TS.EEE= 000040 ...TPC= 000020
L2.VEC= 000754 R$$11M= 000001
. ABS. 000000 000
003100 001
$$FSR1 000000 002
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 5990 WORDS ( 24 PAGES)
BOOT - BOOT NEW SYSTEM MACRO M1113 14-APR-81 11:11 PAGE 25-3
SYMBOL TABLE
DYNAMIC MEMORY: 6742 WORDS ( 25 PAGES)
ELAPSED TIME: 00:00:47
[52,10]BOOT,[52,20]BOOT/-SP/CR=[52,30]RSXDC,BOOT
BOOT CREATED BY MACRO ON 14-APR-81 AT 11:11 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
BOOTEP 002052 R #23-229 25-453
BOTBUF 000216 R #21-118 24-318 24-331
BOTCSI 000000 R #21-104 21-112 21-181
BOTDNB 001216 R 21-112 #21-124 21-180
BOTFDB 000054 R #21-110 21-179
BOTGCL 000214 R #21-117
BOTSTA 001254 R 21-111 #21-132 21-152 *24-329
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
BTERR 003026 R 23-271 25-422 25-424 25-426 25-428 25-430 25-432 25-434 25-436
25-438 25-440 #25-442
BTER1 003022 R 23-263 #25-441
BTER14 002742 R 23-266 #25-425
BTER15 002734 R 23-264 #25-423
BTER16 002726 R 23-268 #25-421
BTER2 003014 R 23-265 #25-439
BTER3 003006 R 24-293 #25-437
BTER4 003000 R 23-267 #25-435
BTER5 002772 R 24-327 #25-433
BTER6 002764 R 24-328 #25-431
BTER7 002756 R 24-338 #25-429
BTER8 002750 R 24-390 #25-427
BTPRML = 000004 #22-211 23-249
BTPRMT 002046 R #22-210 22-211 23-248
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
BOOT CREATED BY MACRO ON 14-APR-81 AT 11:11 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
CI.INE = 000100 #5-203
CLKENB = 000100 #10-365
CLKLVL = 000006 #10-356
CLKVEC = 000100 #10-360
CLKWRD = 177546 #10-362
CO.INE = 000100 #5-207
CO..MM = 000004 #5-208
CR = 000015 #20-73
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
C.DSDS = 000006 21-112
C.SIZE = 000054 21-104
DEBUG = ****** 22-198 24-413
DGUTS = 000000 1-45 1-46
BOOT CREATED BY MACRO ON 14-APR-81 AT 11:11 PAGE 3
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
DHBASE = 160020 #6-211
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
BOOT CREATED BY MACRO ON 14-APR-81 AT 11:11 PAGE 4
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
DL.ROK = 000200 #7-270
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
DRCSR = 000026 G #20-91 24-373
DRCSRA = 000030 #20-94 24-315
DRVADR = 000012 G #20-86 24-380
DRVBA = 000006 #20-84 24-371
DRVENT = 000032 #20-95 24-290
DRVFUN = 000010 #20-85 24-372
DRVLEN = 000014 G #20-87 24-381
DRVLLN = 000004 #20-83 24-370
DRVNAM = 000000 #20-81 24-288 24-291
DRVRD = 000020 #20-89 24-372
DRVSEL = 000024 #20-92 24-376
DRVSET = 000002 #20-82 24-375 24-375
DRVUNT = 000022 G #20-90 24-376
DRVWRT = 000016 #20-88
DSKBUF 001274 R #21-154 *24-318 *24-319 *24-320 *24-321 *24-322
DSKDPB 001260 R #21-148 *24-317 24-323
EFN1 = 000001 #20-76 21-113 21-151 21-164 24-325 25-451
EF.PR1 = ****** GX 23-276
ERRBUF 001324 R #21-166 *25-447 *25-448
ERRDPB 001310 R #21-161 25-449
ERR1 001350 R #22-190 25-441
BOOT CREATED BY MACRO ON 14-APR-81 AT 11:11 PAGE 5
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ERR14 001662 R #22-202 25-425
ERR15 001715 R #22-205 25-423
ERR16 001750 R #22-206 25-421
ERR2 001375 R #22-191 25-439
ERR3 001424 R #22-192 25-437
ERR4 001460 R #22-193 25-435
ERR5 001514 R #22-194 25-433
ERR6 001536 R #22-195 25-431
ERR7 001575 R #22-196 25-429
ERR8 001626 R #22-197 25-427
ESC = 000033 #20-74
FIDBIT = 000001 #20-48
FTASRT = 000001 1-64
FTECHO = 000000 1-61
FTETR = 000000 1-60
FTGLOM = 000000 1-54
FT.CHK = 000001 1-63
FT.DDT = 000000 1-59
FT.D75 = 000000 10-354 10-355
FT.HLP = 000001 1-53
F.BKST = 000024 21-111
F.DFNB = 000046 21-112
F.DSPT = 000044 21-112
F.DVNM = 000134 24-288 24-294
F.EFN = 000050 21-113
F.LUN = 000042 21-112
F.UNIT = 000136 24-295
IO.RLB = ****** GX 24-317
IO.WVB = ****** GX 21-162
KL.LVL = 000004 #7-257
KPAR0 = 172340 #1-28
KW.INE = 000100 #10-364
KW.TIC = 000200 #10-366
LBNBLK 001332 R #21-179 23-253
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
LUN1 = 000001 #20-52 21-163
LUN2 = 000002 #20-53 21-112 21-150
L$BFLG = 000010 #20-60 24-337
L$BHRB = 000022 #20-62 24-332 24-334
L$BLDZ = 000014 #20-61 24-335
L$BXFR = 000026 #20-63 24-336
L2.A16 = 000020 #12-413
BOOT CREATED BY MACRO ON 14-APR-81 AT 11:11 PAGE 6
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
BOOT CREATED BY MACRO ON 14-APR-81 AT 11:11 PAGE 7
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
L20STS = 175400 #12-398
L21STS = 175420 #12-399
MM.SR0 = 177572 #1-29
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
M$$MGE = ****** 24-342 24-397
NXMVEC = 000004 #1-30
N.DVNM = 000032 21-124
N.FNAM = 000006 21-124
N.FTYP = 000014 21-124
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
PASS = 000002 1-84 1-85 #1-85
PDP11 = 000040 1-68
PRIPRM 002005 R #22-209 23-270
PS = ****** GX *24-395
RD.LVL = 000004 #7-256 7-257
R$$11M = 000001 #1-27 21-137 21-183 22-203
R$$20F = 000001 #1-26 20-93 21-123 22-208 23-230 23-269 24-300 24-347 24-391
SPA = 000040 #20-72
STKLEN = 000200 1-62
S.BFHD = 000020 21-173 21-173
S.FDB = 000140 21-110 21-110
S.FNAM = 000006 21-124 21-124
S.FNB = 000036 21-124
S.FTYP = 000002 21-124 21-124
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
BOOT CREATED BY MACRO ON 14-APR-81 AT 11:11 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
BOOT CREATED BY MACRO ON 14-APR-81 AT 11:11 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
TRPVEC = 000034 #1-31
TS$NHD = 040000 #20-67 24-337
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
U.RP = ****** GX 24-313
U.UN = ****** GX 24-314
BOOT CREATED BY MACRO ON 14-APR-81 AT 11:11 PAGE 10
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
VRS = 000022 #1-38
$BTCSR = ****** GX *24-315 24-373
$BTDEV = ****** GX *24-294
$BTEND = ****** GX 24-407
$BTEP2 = ****** GX 24-417
$BTFSZ = ****** GX *23-279 *24-334
$BTLBN = ****** GX *24-284 *24-285 24-321 24-322 *24-332 *24-333
$BTLLN = ****** GX *24-335 24-359
$BTLUN = ****** GX *24-295
$BTMAX = ****** GX *24-355 24-360 24-362 24-396
$BTPH2 = ****** GX 24-407 24-409 24-417
$BTUNT = ****** GX *24-314
$BTXFR = ****** GX *24-336 24-367 24-389
$DRVER = ****** GX 24-382
$DVDRV = ****** GX 24-287
$FILBN = ****** GX 23-254 23-254
$$ = 000075 #23-250 23-250 #23-254 23-254 #24-375 24-375
.COMEF = ****** GX 23-276
.FINIT = ****** G 23-229 23-229
.FSRCB = ****** G 21-173
.GTCML = ****** GX 23-250 23-250
.MSIZE = ****** GX 24-348
...PC1 = 000054 R #21-110 21-111 21-112 21-112 21-112 21-113 21-124 21-124 #21-124
21-124 21-124 21-124 21-124 #21-124
...PC2 = 001232 R #21-111 21-111 #21-112 21-112 #21-112 21-112 #21-112 21-112 #21-113
21-113 #21-124 21-124 21-124 #21-124 21-124 21-124
...PC3 = 000054 R #21-124 21-124
BOOT CREATED BY MACRO ON 14-APR-81 AT 11:11 PAGE 11
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
BDOFF$ #21-173
CALL #1-23 #19-40 23-250 23-254 24-375
CBYTE$ #21-111 #21-111 #21-112 #21-112 #21-112 #21-113 #21-113 #21-113 #21-113
CSI$ #19-36 19-37
CWORD$ #21-111 21-111 21-111 21-111 21-111 21-111 #21-112 21-112 21-112 #21-113
21-113 #21-124 21-124 21-124
DEF$L #21-173
DIR$ #19-40 #24-323 #24-325 #24-325 #25-449 #25-451 #25-451 #25-452 #25-452
ERR$ #24-323 #24-325 #25-449 #25-451 #25-452
EXIT$S #19-40 #25-452
FDBDF$ #19-41 21-110
FDBF$A #19-41 21-113
FDBK$A #19-41 #21-111
FDBSZ$ #21-110 #21-110
FDOFF$ #19-38 19-39 #21-111 21-111 #21-112 21-112 #21-113 21-113
FDOP$A #19-41 21-112
FINIT$ #19-42 #23-229
FSRSZ$ #19-42 #21-173
MOV$ #24-325 24-325 #25-451 25-451
NBOFF$ #21-124 21-124
ND #17-593
NMBLK$ #19-42 #21-124
RAD50$ #21-124 #21-124 #21-124
RETURN #1-23 #19-42
STOPCD #2-107
WTSE$S #19-42 #24-325 #25-451
.CKTTS #17-597
BOTCMD -- BOOT COMMAND ROUTINES MACRO M1113 14-APR-81 11:12
TABLE OF CONTENTS
20- 26 COMMAND ROUTINES
BOTCMD -- BOOT COMMAND ROUTINES MACRO M1113 14-APR-81 11:12 PAGE 17
DTE20 HARDWARE BITS
700 .LIST MEB
BOTCMD -- BOOT COMMAND ROUTINES MACRO M1113 14-APR-81 11:12 PAGE 19
DTE20 HARDWARE BITS
1 .TITLE BOTCMD -- BOOT COMMAND ROUTINES
2 .IDENT /003A/
3 ;
4 ; COPYRIGHT (C) 1975, 1978 BY
5 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6 ;
7 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
8 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
9 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
10 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
11 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
12 ;
13 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
14 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
15 ; CORPORATION.
16 ;
17 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
18 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
19 ;
20 ; MODULE: BOTCMD -- COMMAND ROUTINES FOR BOOT
21 ;
22 ; AUTHOR: TOM PORCHER
23 ;
24 ; DATE: 8 APR 76
BOTCMD -- BOOT COMMAND ROUTINES MACRO M1113 14-APR-81 11:12 PAGE 20
COMMAND ROUTINES
26 .SBTTL COMMAND ROUTINES
27 ;
28 ; GENERAL NOTES:
29 ;
30 ; R0 IS ALWAYS USED AS A POINTER TO THE COMMAND STRING. ON CALL,
31 ; IT POINTS TO THE NEXT CHARACTER TO BE PROCESSED. ON RETURN, R0
32 ; ALWAYS POINTS TO THE CHARACTER AFTER THE LAST ONE PROCESSED, I.E.
33 ; THE NEXT ONE TO BE PROCESSED.
34 ;
35 ; NOTE THAT END-OF-LINE IS A ZERO BYTE
36 ;
37 ;
38 ; $GNBLK -- GET NEXT NON-BLANK CHARACTER
39 ;
40 ; RETURNS WITH R0 POINTING BEYOND THE NEXT NON-BLANK CHARACTER
41 ; R1 -- NUMBER OF BLANKS SEEN
42 ; R2 -- NON-BLANK CHARACTER
43 ; CC-C SET IF END-OF-LINE
44 ;
45 000000 $GNBLK::
46 000000 005001 CLR R1 ;RESET CHAR COUNT
47 000002 10$:
48 000002 000261 SEC ;ASSUME EOL
49 000004 112002 MOVB (R0)+,R2 ;GET A CHARACTER
50 000006 001411 BEQ 40$ ;EOL-- GIVE UP
51 000010 122702 000040 CMPB #' ,R2 ;THIS BLANK?
52 000014 001403 BEQ 20$ ;YES-- EAT IT
53 000016 122702 000011 CMPB #' ,R2 ;OR A TAB?
54 000022 001002 BNE 30$ ;NO-- ALL DONE
55 000024 20$:
56 000024 005201 INC R1 ;BUMP BLANK COUNT
57 000026 000765 BR 10$ ;BACK FOR MORE
58 ;
59 000030 30$:
60 000030 000241 CLC ;NOT EOL-- CLEAR CARRY OUT
61 000032 40$:
62 000032 RETURN ; FROM $GNBLK
000032 000207 RTS PC
63 ;
64 ; $GTNUM -- GET OCTAL NUMBER
65 ;
66 ; RETURNS WITH NON-DIGIT OR IF MORE THAN A BYTE'S WORTH
67 ; R1 -- NUMBER
68 ; R2 -- TERMINATING CHARACTER
69 ; CC-C SET IF LARGER THAN ONE WORD
70 ;
71 000034 $GTNUM::
72 000034 005001 CLR R1 ;CLEAR RESULT
73 000036 10$:
74 000036 112002 MOVB (R0)+,R2 ;GET A DIGIT
75 000040 122702 000060 CMPB #'0,R2 ;IS IT TOO LOW?
76 000044 101015 BHI 50$ ;YES-- RETURN CARRY CLEAR
77 000046 120227 000067 CMPB R2,#'7 ;TOO HIGH?
78 000052 101012 BHI 50$ ;YES-- RETURN CC-C CLEAR
79 000054 042702 177770 BIC #^C<7>,R2 ;OK-- TRIM TO A DIGIT
80 000003 .REPT 3
81 ASL R1 ;SHIFT OLD NUMBER A BIT
BOTCMD -- BOOT COMMAND ROUTINES MACRO M1113 14-APR-81 11:12 PAGE 20-1
COMMAND ROUTINES
82 BCS 50$ ;CARRY OUT-- NUMBER TOO BIG-- CC-C SET
83 .ENDR
000060 006301 ASL R1 ;SHIFT OLD NUMBER A BIT
000062 103406 BCS 50$ ;CARRY OUT-- NUMBER TOO BIG-- CC-C SET
000064 006301 ASL R1 ;SHIFT OLD NUMBER A BIT
000066 103404 BCS 50$ ;CARRY OUT-- NUMBER TOO BIG-- CC-C SET
000070 006301 ASL R1 ;SHIFT OLD NUMBER A BIT
000072 103402 BCS 50$ ;CARRY OUT-- NUMBER TOO BIG-- CC-C SET
84 000074 060201 ADD R2,R1 ;ACCUMULATE THIS DIGIT
85 000076 000757 BR 10$ ;FETCH ANOTHER DIGIT
86 ;
87 000100 50$:
88 000100 RETURN ;FROM $GTNUM
000100 000207 RTS PC
89 ;
90 ; $FDLOG -- FIND PUD ENTRY ADDRESS FOR DEVICE STRING
91 ; R0 -- POINTER TO DEVICE STRING
92 ; R3 -- POINTER TO SCRATCH AREA
93 ; RETURN:
94 ; R1 -- PUD ENTRY ADDRESS
95 ;
96 000102 $FDLOG::
97 000102 112023 MOVB (R0)+,(R3)+ ;GET FIRST BYTE OF NAME
98 000104 112023 MOVB (R0)+,(R3)+ ; AND SECOND
99 000106 014303 MOV -(R3),R3 ;COLLECT THE NAME
100 000110 CALL $GTNUM ;GET UNIT #
000110 004767 177720 JSR PC,$GTNUM
101 000114 103417 BCS 90$ ;OOPS
102 ;
103 000116 010102 MOV R1,R2 ;SAVE THAT NUMBER
104 000120 012701 000000G MOV #.PUDBA,R1 ;POINT TO START OF PUD
105 000124 10$:
106 000124 020361 000000G CMP R3,U.DN(R1) ;MATCH NAME?
107 000130 001003 BNE 30$ ;NO-- GO ON
108 000132 120261 000000G CMPB R2,U.UN(R1) ;YES-- HOW ABOUT THE UNIT?
109 000136 001406 BEQ 90$ ;YES-- THIS IS IT
110 000140 30$:
111 000140 062701 000000G ADD #U.SZ,R1 ;BUMP TO NEXT PUD ENTRY
112 000144 020127 000000G CMP R1,#.PUDEA ;BEYOND END?
113 000150 103765 BLO 10$ ;NO-- KEEP ON LOOKING
114 000152 000261 SEC ;NOT FOUND-- SET CC-C
115 000154 90$:
116 000154 RETURN ;FROM $FDLOG
000154 000207 RTS PC
117 000001 .END
BOTCMD -- BOOT COMMAND ROUTINES MACRO M1113 14-APR-81 11:12 PAGE 20-2
SYMBOL TABLE
BR0 = 000000 CTOLVL= 000004 DL.RTS= 000004 L2.DEL= 002000 MP.WWP= 000004
BR1 = 000040 CTOSTS= 177564 DL.XIE= 000100 L2.DH = 002000 NXMVEC= 000004
BR2 = 000100 CTOVEC= 000064 DL.XOK= 000200 L2.DL = 000010 OB0 = 000001
BR3 = 000140 DGUTS = 000000 DL..FE= 020000 L2.DNR= 000100 OB1 = 000002
BR4 = 000200 DHBASE= 160020 DL..MM= 000004 L2.DON= 000200 OB10 = 000400
BR5 = 000240 DHRFER= 020000 DL..PE= 010000 L2.DR = 010000 OB11 = 001000
BR6 = 000300 DHROVR= 040000 DL..RC= 000377 L2.DTE= 000002 OB12 = 002000
BR7 = 000340 DH.AEE= 100000 DL..RE= 000001 L2.ENB= 000100 OB13 = 004000
B.DM11= 170500 DH.BAR= 000012 DL..XC= 000377 L2.ERE= 001000 OB14 = 010000
B0 = 000001 DH.BCR= 000010 DL.2RC= 002000 L2.ERR= 100000 OB15 = 020000
B1 = 000002 DH.BRK= 000014 DL.2XM= 000010 L2.GER= 000001 OB16 = 040000
B10 = 002000 DH.CAR= 000006 DMBASE= 170500 L2.GO = 000001 OB17 = 100000
B11 = 004000 DH.CL5= 000000 DM.ALI= 000017 L2.INI= 000400 OB2 = 000004
B12 = 010000 DH.CL6= 000001 DM.BSY= 000020 L2.INT= 004000 OB3 = 000010
B13 = 020000 DH.CL7= 000002 DM.CAR= 000100 L2.LDP= 010000 OB4 = 000020
B14 = 040000 DH.CL8= 000003 DM.CTS= 000040 L2.LPE= 000040 OB5 = 000040
B15 = 100000 DH.CNX= 000400 DM.DNE= 000200 L2.LVL= 000004 OB6 = 000100
B2 = 000004 DH.DOV= 040000 DM.DTR= 000002 L2.MPE= 000020 OB7 = 000200
B3 = 000010 DH.LPR= 000004 DM.ENB= 000040 L2.MST= 000004 PASS = 000002
B4 = 000020 DH.LVL= 000005 DM.IEN= 000100 L2.ONL= 004000 PDP11 = 000040
B5 = 000040 DH.NRC= 000002 DM.INI= 002000 L2.OVF= 004000 RD.LVL= 000004
B6 = 000100 DH.NXM= 002000 DM.LE = 000001 L2.PCM= 007777 R$$11M= 000001
B7 = 000200 DH.PEN= 000020 DM.LVL= 000004 L2.PEN= 000002 R$$20F= 000001
B8 = 000400 DH.RIE= 000100 DM.RNG= 000200 L2.PI = 000400 STKLEN= 000200
B9 = 001000 DH.SIE= 010000 DM.RTS= 000004 L2.PNR= 020000 S..AMC= 000000
CD.CFD= 000001 DH.SSR= 000016 DM.SCN= 004000 L2.POL= 000200 S..BDT= 000011
CD.CHK= 040000 DH.TIE= 020000 DM.SR = 000020 L2.PZE= 040000 S..CHK= 000012
CD.DAT= 177162 DH.VDP= 100000 DM.ST = 000010 L2.RDB= 007777 S..CNK= 000003
CD.DTE= 004000 DH..FE= 020000 DM.STP= 000400 L2.RPB= 010000 S..CTY= 000005
CD.DTL= 002000 DH..HD= 040000 DM..MM= 001000 L2.RPE= 000010 S..DCP= 000013
CD.EOF= 020000 DH..MC= 004000 FTASRT= 000001 L2.SPR= 040000 S..DL1= 000002
CD.ERR= 100000 DH..MM= 001000 FTECHO= 000000 L2.TB0= 000400 S..DTE= 000002
CD.HEM= 000004 DH..OP= 000040 FTETR = 000000 L2.TB1= 001000 S..ILS= 000004
CD.INE= 000100 DH..PE= 010000 FTGLOM= 000000 L2.TB2= 002000 S..KW1= 000007
CD.LVL= 000006 DH..RI= 000200 FT.CHK= 000001 L2.TM = 000004 S..MEM= 000006
CD.NXM= 001000 DH..SI= 040000 FT.DDT= 000000 L2.TRN= 001000 S..NCN= 000010
CD.OFL= 010000 DH..TI= 100000 FT.D75= 000000 L2.UCD= 020000 S..NXM= 000001
CD.ONL= 000010 DH.2SB= 000004 FT.HLP= 000001 L2.VD = 100000 TC.A16= 000020
CD.PAK= 000002 DLDADR= 175610 KL.LVL= 000004 L2.VEC= 000754 TC.A17= 000040
CD.PWR= 000400 DLDSIZ= 000010 KPAR0 = 172340 L20ADR= 000004 TC.BAR= 177346
CD.RDY= 000200 DLRBUF= 000002 KW.INE= 000100 L20BCT= 000006 TC.CLK= 000100
CD.STS= 177160 DLRSTS= 000000 KW.TIC= 000200 L20BUF= 000014 TC.CMD= 177342
CD.VEC= 000230 DLXBUF= 000006 LP.DAT= 177516 L20CHK= 000017 TC.DAT= 177350
CD0DAT= 177162 DLXSTS= 000004 LP.DNE= 000200 L20COL= 000015 TC.DT0= 000020
CD0STS= 177160 DL.BRK= 000001 LP.ERR= 100000 L20CRA= 000000 TC.DT1= 000010
CI.INE= 000100 DL.CAR= 010000 LP.INE= 000100 L20CRB= 000002 TC.DT2= 000004
CLKENB= 000100 DL.CTS= 020000 LP.LVL= 000004 L20PCT= 000010 TC.D16= 000001
CLKLVL= 000006 DL.DIE= 000040 LP.STS= 177514 L20PDA= 000016 TC.D17= 000002
CLKVEC= 000100 DL.DSC= 100000 LP.VEC= 000200 L20RAM= 000012 TC.ERR= 100000
CLKWRD= 177546 DL.DTR= 000002 LP0DAT= 177516 L20STS= 175400 TC.ILO= 010000
CO.INE= 000100 DL.ERR= 100000 LP0STS= 177514 L21STS= 175420 TC.INE= 000100
CO..MM= 000004 DL.LVL= 000004 LP1DAT= 177522 MM.SR0= 177572 TC.LVL= 000006
CTICHR= 177562 DL.OVR= 040000 LP1STS= 177520 MP.ENB= 000001 TC.MMT= 000040
CTILVL= 000004 DL.RGO= 004000 L2.A16= 000020 MP.ERR= 100000 TC.MTE= 020000
CTISTS= 177560 DL.RIE= 000100 L2.A17= 000040 MP.LVL= 000007 TC.NXM= 000400
CTIVEC= 000060 DL.RNG= 040000 L2.BCM= 007777 MP.REG= 172100 TC.PAR= 040000
CTOCHR= 177566 DL.ROK= 000200 L2.DB = 000377 MP.VEC= 000114 TC.RDA= 000006
BOTCMD -- BOOT COMMAND ROUTINES MACRO M1113 14-APR-81 11:12 PAGE 20-3
SYMBOL TABLE
TC.RDY= 000200 TC.WTM= 000012 TE.EDT= 000026 TS.EBM= 020000 TS.XDN= 000004
TC.REV= 004000 TC..BM= 002000 TE.LVL= 000006 TS.EEE= 000040 TS.XEC= 010000
TC.RMT= 000002 TC..DI= 010000 TE.NNN= 000004 TS.EET= 000002 TS.XEE= 004000
TC.SAT= 000000 TC..DM= 001000 TE.STW= 000034 TS.EEX= 000400 TS.XER= 020000
TC.SST= 000010 TC..EZ= 100000 TE.VEC= 000774 TS.EIS= 002000 TS.XNT= 100000
TC.STS= 177340 TC..MM= 020000 TE.XAD= 000020 TS.ENT= 000100 TS.XTS= 040000
TC.UPS= 000200 TC..RD= 000004 TE.XA1= 000010 TS.EPE= 000020 TS.ZST= 040000
TC.US0= 000000 TC..SE= 004000 TE.XA2= 000012 TS.ETD= 000200 U.DN = ****** GX
TC.US1= 000400 TC..WR= 000014 TE.XBC= 000014 TS.IEN= 000001 U.SZ = ****** GX
TC.US2= 001000 TE.BAS= 174400 TE.XDT= 000024 TS.IFB= 100000 U.UN = ****** GX
TC.US3= 001400 TE.BNX= 000040 TE.XW1= 000006 TS.MPE= 001000 VRS = 000022
TC.US4= 002000 TE.DG1= 000030 TE.XW2= 000004 TS.PEX= 100000 $FDLOG 000102RG
TC.US5= 002400 TE.DG2= 000032 TE.XW3= 000002 TS.POF= 004000 $GNBLK 000000RG
TC.US6= 003000 TE.DG3= 000036 TRPVEC= 000034 TS.RES= 004000 $GTNUM 000034RG
TC.US7= 003400 TE.DYC= 000000 TS.CET= 000001 TS.RM = 000010 $$ = 000067
TC.VEC= 000214 TE.EAD= 000022 TS.DEI= 000010 TS.RST= 000100 .PUDBA= ****** GX
TC.WCR= 177344 TE.EBC= 000016 TS.DEP= 010000 TS.TBM= 000001 .PUDEA= ****** GX
TC.WRA= 000016
. ABS. 000000 000
000156 001
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 3415 WORDS ( 14 PAGES)
DYNAMIC MEMORY: 4630 WORDS ( 17 PAGES)
ELAPSED TIME: 00:00:14
[52,10]BOTCMD,[52,20]BOTCMD/-SP/CR=[52,30]RSXDC,BOTCMD
BOTCMD CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
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
BOTCMD CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
CI.INE = 000100 #5-203
CLKENB = 000100 #10-365
CLKLVL = 000006 #10-356
CLKVEC = 000100 #10-360
CLKWRD = 177546 #10-362
CO.INE = 000100 #5-207
CO..MM = 000004 #5-208
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
DGUTS = 000000 1-45 1-46
DHBASE = 160020 #6-211
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
BOTCMD CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 3
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
BOTCMD CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 4
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
FTASRT = 000001 1-64
FTECHO = 000000 1-61
FTETR = 000000 1-60
FTGLOM = 000000 1-54
FT.CHK = 000001 1-63
FT.DDT = 000000 1-59
FT.D75 = 000000 10-354 10-355
FT.HLP = 000001 1-53
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
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
BOTCMD CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 5
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
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
BOTCMD CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 6
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
OB5 = 000040 #3-141
OB6 = 000100 #3-142
OB7 = 000200 #3-143
PASS = 000002 1-84 1-85 #1-85
PDP11 = 000040 1-68
RD.LVL = 000004 #7-256 7-257
R$$11M = 000001 #1-27
R$$20F = 000001 #1-26
STKLEN = 000200 1-62
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
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
BOTCMD CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 7
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
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
BOTCMD CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 8
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
U.DN = ****** GX 20-106
U.SZ = ****** GX 20-111
U.UN = ****** GX 20-108
VRS = 000022 #1-38
$FDLOG 000102 RG #20-96
$GNBLK 000000 RG #20-45
$GTNUM 000034 RG #20-71 20-100 20-100
$$ = 000067 #20-100 20-100
.PUDBA = ****** GX 20-104
.PUDEA = ****** GX 20-112
BOTCMD CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 9
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
CALL #1-23 20-100
ND #17-593
RETURN #1-23 20-62 20-88 20-116
STOPCD #2-107
.CKTTS #17-597
BOTPH2 - BOOT PHASE 2 MACRO M1113 14-APR-81 11:12
TABLE OF CONTENTS
20- 38 EQUATED SYMBOLS + GLOBAL DATA
21- 68 PHASE 2 BOOT IN SYSTEM
22- 138 PHASE 2 SUBROUTINES
BOTPH2 - BOOT PHASE 2 MACRO M1113 14-APR-81 11:12 PAGE 17
DTE20 HARDWARE BITS
700 .LIST MEB
BOTPH2 - BOOT PHASE 2 MACRO M1113 14-APR-81 11:12 PAGE 19
DTE20 HARDWARE BITS
1 .TITLE BOTPH2 - BOOT PHASE 2
2 .IDENT "01"
3
4 ; COPYRIGHT (C) 1973, 1978 BY
5 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6 ;
7 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
8 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
9 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
10 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
11 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
12 ;
13 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
14 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
15 ; CORPORATION.
16 ;
17 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
18 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
19 ;
20 ;
21 ; VERSION: 01
22 ; BY: H. LEV
23 ; DATE: 9/1/73
24 ; MODIFIED: 8/9/74 BRAKE BOOT INTO TWO SEPARATE MODULES
25 ; 4/8/75 ADD RX11 SUPPORT
26 ; 6/21/75 ADD 11/70 EXTENDED MEMORY SUPPORT
27
28 ;
29 ;
30 ; THI S IS PHASE 2 OF THE BOOT PROGRAM. IT CONTAINS THE
31 ; DRIVERS WHICH READ IN THE BOOTABLE IMAGE FROM A VALID SYSTEM
32 ; RESIDENCE DEVICE. IT IS MOVED TO THE TOP OF CORE (MAX 27.5K)
33 ; AND MEMORY MAPPING (IF ANY) IS TURNED OFF. ONCE THE IMAGE IS IN CORE
34 ; IT PASSES CONTROL TO THE ENTRY POINT
35
36 .MCALL CALL,RETURN
BOTPH2 - BOOT PHASE 2 MACRO M1113 14-APR-81 11:12 PAGE 20
EQUATED SYMBOLS + GLOBAL DATA
38 .SBTTL EQUATED SYMBOLS + GLOBAL DATA
39 ;
40 ; TERMINAL REGISTERS
41 ;
42 177564 TPS = 177564 ; OUTPUT STATUS
43 177566 TPB = 177566 ; OUTPUT BUFFER
44
45 000000 $BTPH2:: ; START OF PHASE 2 CODE
46 000000 .BLKW 4 ; STACK
47 000010 $BTSTK:: ;
48
49 000010 $BTLBN::.BLKW 2 ; LOAD IMAGE LBN
50 000014 $BTLLN::.BLKW 1 ; LOAD LENGTH
51 000016 $BTXFR::.BLKW 1 ; TRANSFER ADDRESS
52 000020 $BTDEV::.BLKW 1 ; LOAD DEVICE IN ASCII
53 000022 $BTLUN::.BLKW 1 ; LOGICAL DEVICE NUMBER
54 000024 $BTUNT::.BLKW 1 ; LOAD PHYSICAL UNIT NUMBER
55 000026 000000 $BTMAX::.WORD 0 ; MAX WORDS TO BOOT WITHOUT OVERWRITING PHASE 2
56 000030 000000 $BTFSZ::.WORD 0 ; SYSTEM IMAGE FILE SIZE
57 000032 000000 $BTCSR::.WORD 0 ; LOAD DEVICE CSR ADDRESS
58 ;
59 ; ERROR MESSAGE
60 ;
61 .IF DF DEBUG
62 ERR12: .ASCIZ <15>/PHASE 2 UP/
63 ERR13: .ASCIZ /TASK READ IN/
64 .ENDC
65 .EVEN
66
BOTPH2 - BOOT PHASE 2 MACRO M1113 14-APR-81 11:12 PAGE 21
PHASE 2 BOOT IN SYSTEM
68 .SBTTL PHASE 2 BOOT IN SYSTEM
69
70 ;+
71 ; *** - $BTEP2 - BOOT PHASE 2
72 ;
73 ; THIS SECTION OF CODE EXECUTES AT PRIORITY 7
74 ; IT READS THE SYSTEM
75 ; INTO CORE AND TRANSFERS CONTROL TO IT.
76 ;
77 ; INPUT:
78 ;
79 ; $BTLBN - SYSTEM IMAGE LOGICAL BLOCK NUMBER
80 ; $BTLUN - LOAD IMAGE LENGTH IN 32 BLOCKS
81 ; $BTXFR - TRANSFER ADDRESS
82 ; $BTDEN - LOAD DEVICE IN ASCII
83 ; $BTUNT - LOAD UNIT NUMBER BINARY
84 ;
85 ; OUTPUT:
86 ;
87 ; THE FOLLOWING REGISTERS ARE PASSED TO THE NEW SYSTEM
88 ; R0 - PHYSICAL UNIT NUMBER OF BOOT DEVICE
89 ; R1 - LOAD LBN HIGH PART
90 ; R2 - LOAD LBN LOW PART
91 ; R3 - LOAD UNIT NUMBER
92 ; R4 - LOAD DEVICE IN ASCII
93 ; R5 - LOAD LENGTH IN 256 WORD BLOCKS
94 ;
95 ;-
96 000034 $BTEP2::
97
98 .IF DF M$$MGE
99
100 MOV @#KISAR6,@#KISAR6-2 ;;; SET TO USE APR5
101 MOV #5$-$BTPH2,R0 ;;; GET OFFSET TO USE AS ADDRESS
102 ADD #120000,R0 ;;; SET ADDRESS TO MAP THROUGH APR5
103 MOV R0,PC ;;; SWITCH TO APR5
104 5$: MOV #1000,@#KISAR0+10 ;;; SET MAPPING FOR APR4
105 BIS #4000,@#PS ;;; SELECT REGISTER SET 1
106 BIT #4000,@#PS ;;; IS IT SELECTED? (ONLY 11/45 AND 11/70 HAVE IT)
107 BEQ 7$ ;;; NO
108 BIC #4000,@#PS ;;; YES, SELECT REGISTER SET ZERO
109 CLR @#SR3 ;;; DISABLE MAPPING AND UNIBUS MAP
110
111 .ENDC
112
113 000034 010706 7$: MOV PC,SP ;;; SET STACK ADDRESS
114 000036 062706 177752 ADD #$BTSTK-.,SP ;;;
115
116 .IF DF DEBUG
117 HALT
118 MOV PC,R0
119 ADD #ERR12-.,R0
120 CALL TYPE
121 .ENDC
122
123 000042 000240 $DRVER:: .REPT 240
124 NOP ;;;
BOTPH2 - BOOT PHASE 2 MACRO M1113 14-APR-81 11:12 PAGE 21-1
PHASE 2 BOOT IN SYSTEM
125 .ENDM
000042 000240 NOP ;;;
000044 000240 NOP ;;;
000046 000240 NOP ;;;
000050 000240 NOP ;;;
000052 000240 NOP ;;;
000054 000240 NOP ;;;
000056 000240 NOP ;;;
000060 000240 NOP ;;;
000062 000240 NOP ;;;
000064 000240 NOP ;;;
000066 000240 NOP ;;;
000070 000240 NOP ;;;
000072 000240 NOP ;;;
000074 000240 NOP ;;;
000076 000240 NOP ;;;
000100 000240 NOP ;;;
000102 000240 NOP ;;;
000104 000240 NOP ;;;
000106 000240 NOP ;;;
000110 000240 NOP ;;;
000112 000240 NOP ;;;
000114 000240 NOP ;;;
000116 000240 NOP ;;;
000120 000240 NOP ;;;
000122 000240 NOP ;;;
000124 000240 NOP ;;;
000126 000240 NOP ;;;
000130 000240 NOP ;;;
000132 000240 NOP ;;;
000134 000240 NOP ;;;
000136 000240 NOP ;;;
000140 000240 NOP ;;;
000142 000240 NOP ;;;
000144 000240 NOP ;;;
000146 000240 NOP ;;;
000150 000240 NOP ;;;
000152 000240 NOP ;;;
000154 000240 NOP ;;;
000156 000240 NOP ;;;
000160 000240 NOP ;;;
000162 000240 NOP ;;;
000164 000240 NOP ;;;
000166 000240 NOP ;;;
000170 000240 NOP ;;;
000172 000240 NOP ;;;
000174 000240 NOP ;;;
000176 000240 NOP ;;;
000200 000240 NOP ;;;
000202 000240 NOP ;;;
000204 000240 NOP ;;;
000206 000240 NOP ;;;
000210 000240 NOP ;;;
000212 000240 NOP ;;;
000214 000240 NOP ;;;
000216 000240 NOP ;;;
000220 000240 NOP ;;;
BOTPH2 - BOOT PHASE 2 MACRO M1113 14-APR-81 11:12 PAGE 21-2
PHASE 2 BOOT IN SYSTEM
000222 000240 NOP ;;;
000224 000240 NOP ;;;
000226 000240 NOP ;;;
000230 000240 NOP ;;;
000232 000240 NOP ;;;
000234 000240 NOP ;;;
000236 000240 NOP ;;;
000240 000240 NOP ;;;
000242 000240 NOP ;;;
000244 000240 NOP ;;;
000246 000240 NOP ;;;
000250 000240 NOP ;;;
000252 000240 NOP ;;;
000254 000240 NOP ;;;
000256 000240 NOP ;;;
000260 000240 NOP ;;;
000262 000240 NOP ;;;
000264 000240 NOP ;;;
000266 000240 NOP ;;;
000270 000240 NOP ;;;
000272 000240 NOP ;;;
000274 000240 NOP ;;;
000276 000240 NOP ;;;
000300 000240 NOP ;;;
000302 000240 NOP ;;;
000304 000240 NOP ;;;
000306 000240 NOP ;;;
000310 000240 NOP ;;;
000312 000240 NOP ;;;
000314 000240 NOP ;;;
000316 000240 NOP ;;;
000320 000240 NOP ;;;
000322 000240 NOP ;;;
000324 000240 NOP ;;;
000326 000240 NOP ;;;
000330 000240 NOP ;;;
000332 000240 NOP ;;;
000334 000240 NOP ;;;
000336 000240 NOP ;;;
000340 000240 NOP ;;;
000342 000240 NOP ;;;
000344 000240 NOP ;;;
000346 000240 NOP ;;;
000350 000240 NOP ;;;
000352 000240 NOP ;;;
000354 000240 NOP ;;;
000356 000240 NOP ;;;
000360 000240 NOP ;;;
000362 000240 NOP ;;;
000364 000240 NOP ;;;
000366 000240 NOP ;;;
000370 000240 NOP ;;;
000372 000240 NOP ;;;
000374 000240 NOP ;;;
000376 000240 NOP ;;;
000400 000240 NOP ;;;
000402 000240 NOP ;;;
BOTPH2 - BOOT PHASE 2 MACRO M1113 14-APR-81 11:12 PAGE 21-3
PHASE 2 BOOT IN SYSTEM
000404 000240 NOP ;;;
000406 000240 NOP ;;;
000410 000240 NOP ;;;
000412 000240 NOP ;;;
000414 000240 NOP ;;;
000416 000240 NOP ;;;
000420 000240 NOP ;;;
000422 000240 NOP ;;;
000424 000240 NOP ;;;
000426 000240 NOP ;;;
000430 000240 NOP ;;;
000432 000240 NOP ;;;
000434 000240 NOP ;;;
000436 000240 NOP ;;;
000440 000240 NOP ;;;
000442 000240 NOP ;;;
000444 000240 NOP ;;;
000446 000240 NOP ;;;
000450 000240 NOP ;;;
000452 000240 NOP ;;;
000454 000240 NOP ;;;
000456 000240 NOP ;;;
000460 000240 NOP ;;;
000462 000240 NOP ;;;
000464 000240 NOP ;;;
000466 000240 NOP ;;;
000470 000240 NOP ;;;
000472 000240 NOP ;;;
000474 000240 NOP ;;;
000476 000240 NOP ;;;
000500 000240 NOP ;;;
000502 000240 NOP ;;;
000504 000240 NOP ;;;
000506 000240 NOP ;;;
000510 000240 NOP ;;;
000512 000240 NOP ;;;
000514 000240 NOP ;;;
000516 000240 NOP ;;;
000520 000240 NOP ;;;
000522 000240 NOP ;;;
000524 000240 NOP ;;;
000526 000240 NOP ;;;
000530 000240 NOP ;;;
000532 000240 NOP ;;;
000534 000240 NOP ;;;
000536 000240 NOP ;;;
000540 000240 NOP ;;;
126
127 000542 016700 177256 XFR: MOV $BTUNT,R0 ;;; GET PHYSICAL UNIT NUMBER
128 000546 016701 177236 MOV $BTLBN,R1 ;;; SET LBN
129 000552 016702 177234 MOV $BTLBN+2,R2 ;;;
130 000556 016703 177240 MOV $BTLUN,R3 ;;; LOAD LOGICAL UNIT NUMBER
131 000562 016704 177232 MOV $BTDEV,R4 ;;; AND DEVICE
132 000566 016705 177236 MOV $BTFSZ,R5 ;;; GET FILE SIZE IN BLOCKS
133 .IF DF R$$20F
134 000572 000005 RESET
135 .ENDC
BOTPH2 - BOOT PHASE 2 MACRO M1113 14-APR-81 11:12 PAGE 21-4
PHASE 2 BOOT IN SYSTEM
136 000574 000177 177216 JMP @$BTXFR ;;; TRANSFER CONTROL TO NEW SYSTEM.
BOTPH2 - BOOT PHASE 2 MACRO M1113 14-APR-81 11:12 PAGE 22
PHASE 2 SUBROUTINES
138 .SBTTL PHASE 2 SUBROUTINES
139 .IF DF DEBUG
140 ;+
141 ; *** - TYPE - PRINT OUT MESSAGE ON TT0:
142 ; *** - TYPIT - PRINT OUT CHARACTER IN R1
143 ;
144 ; INPUT:
145 ;
146 ; R0-MESSAGE ADDRESS
147 ;
148 ;-
149 TYPE:: MOVB #15,R1 ;;; SET CR
150 CALL TYPIT ;;;
151 MOVB #12,R1 ;;; LF
152 CALL TYPIT ;;;
153 10$: MOVB (R0)+,R1 ;;; GET NEXT MESSAGE CHARACTER
154 BEQ 20$ ;;; SKIP IF END
155 CALL TYPIT ;;; TYPE IT OUT
156 BR 10$ ;;; LOOP
157 20$: MOVB #12,R1 ;;; TYPE LF
158 CALL TYPIT ;;;
159 RETURN ;;; RETURN
160 ;
161 ; TYPE A CHARACTER
162 ;
163 TYPIT: MOVB R1,@#TPB ;;; PRINT CHARACTER
164 10$: TSTB @#TPS ;;; WAIT TILL
165 BPL 10$ ;;; DONE
166 RETURN ;;; RETURN
167 .ENDC
168 000600 $BTEND::
169 000001 .END
BOTPH2 - BOOT PHASE 2 MACRO M1113 14-APR-81 11:12 PAGE 22-1
SYMBOL TABLE
BR0 = 000000 CTOLVL= 000004 DL.RTS= 000004 L2.DEL= 002000 MP.WWP= 000004
BR1 = 000040 CTOSTS= 177564 DL.XIE= 000100 L2.DH = 002000 NXMVEC= 000004
BR2 = 000100 CTOVEC= 000064 DL.XOK= 000200 L2.DL = 000010 OB0 = 000001
BR3 = 000140 DGUTS = 000000 DL..FE= 020000 L2.DNR= 000100 OB1 = 000002
BR4 = 000200 DHBASE= 160020 DL..MM= 000004 L2.DON= 000200 OB10 = 000400
BR5 = 000240 DHRFER= 020000 DL..PE= 010000 L2.DR = 010000 OB11 = 001000
BR6 = 000300 DHROVR= 040000 DL..RC= 000377 L2.DTE= 000002 OB12 = 002000
BR7 = 000340 DH.AEE= 100000 DL..RE= 000001 L2.ENB= 000100 OB13 = 004000
B.DM11= 170500 DH.BAR= 000012 DL..XC= 000377 L2.ERE= 001000 OB14 = 010000
B0 = 000001 DH.BCR= 000010 DL.2RC= 002000 L2.ERR= 100000 OB15 = 020000
B1 = 000002 DH.BRK= 000014 DL.2XM= 000010 L2.GER= 000001 OB16 = 040000
B10 = 002000 DH.CAR= 000006 DMBASE= 170500 L2.GO = 000001 OB17 = 100000
B11 = 004000 DH.CL5= 000000 DM.ALI= 000017 L2.INI= 000400 OB2 = 000004
B12 = 010000 DH.CL6= 000001 DM.BSY= 000020 L2.INT= 004000 OB3 = 000010
B13 = 020000 DH.CL7= 000002 DM.CAR= 000100 L2.LDP= 010000 OB4 = 000020
B14 = 040000 DH.CL8= 000003 DM.CTS= 000040 L2.LPE= 000040 OB5 = 000040
B15 = 100000 DH.CNX= 000400 DM.DNE= 000200 L2.LVL= 000004 OB6 = 000100
B2 = 000004 DH.DOV= 040000 DM.DTR= 000002 L2.MPE= 000020 OB7 = 000200
B3 = 000010 DH.LPR= 000004 DM.ENB= 000040 L2.MST= 000004 PASS = 000002
B4 = 000020 DH.LVL= 000005 DM.IEN= 000100 L2.ONL= 004000 PDP11 = 000040
B5 = 000040 DH.NRC= 000002 DM.INI= 002000 L2.OVF= 004000 RD.LVL= 000004
B6 = 000100 DH.NXM= 002000 DM.LE = 000001 L2.PCM= 007777 R$$11M= 000001
B7 = 000200 DH.PEN= 000020 DM.LVL= 000004 L2.PEN= 000002 R$$20F= 000001
B8 = 000400 DH.RIE= 000100 DM.RNG= 000200 L2.PI = 000400 STKLEN= 000200
B9 = 001000 DH.SIE= 010000 DM.RTS= 000004 L2.PNR= 020000 S..AMC= 000000
CD.CFD= 000001 DH.SSR= 000016 DM.SCN= 004000 L2.POL= 000200 S..BDT= 000011
CD.CHK= 040000 DH.TIE= 020000 DM.SR = 000020 L2.PZE= 040000 S..CHK= 000012
CD.DAT= 177162 DH.VDP= 100000 DM.ST = 000010 L2.RDB= 007777 S..CNK= 000003
CD.DTE= 004000 DH..FE= 020000 DM.STP= 000400 L2.RPB= 010000 S..CTY= 000005
CD.DTL= 002000 DH..HD= 040000 DM..MM= 001000 L2.RPE= 000010 S..DCP= 000013
CD.EOF= 020000 DH..MC= 004000 FTASRT= 000001 L2.SPR= 040000 S..DL1= 000002
CD.ERR= 100000 DH..MM= 001000 FTECHO= 000000 L2.TB0= 000400 S..DTE= 000002
CD.HEM= 000004 DH..OP= 000040 FTETR = 000000 L2.TB1= 001000 S..ILS= 000004
CD.INE= 000100 DH..PE= 010000 FTGLOM= 000000 L2.TB2= 002000 S..KW1= 000007
CD.LVL= 000006 DH..RI= 000200 FT.CHK= 000001 L2.TM = 000004 S..MEM= 000006
CD.NXM= 001000 DH..SI= 040000 FT.DDT= 000000 L2.TRN= 001000 S..NCN= 000010
CD.OFL= 010000 DH..TI= 100000 FT.D75= 000000 L2.UCD= 020000 S..NXM= 000001
CD.ONL= 000010 DH.2SB= 000004 FT.HLP= 000001 L2.VD = 100000 TC.A16= 000020
CD.PAK= 000002 DLDADR= 175610 KL.LVL= 000004 L2.VEC= 000754 TC.A17= 000040
CD.PWR= 000400 DLDSIZ= 000010 KPAR0 = 172340 L20ADR= 000004 TC.BAR= 177346
CD.RDY= 000200 DLRBUF= 000002 KW.INE= 000100 L20BCT= 000006 TC.CLK= 000100
CD.STS= 177160 DLRSTS= 000000 KW.TIC= 000200 L20BUF= 000014 TC.CMD= 177342
CD.VEC= 000230 DLXBUF= 000006 LP.DAT= 177516 L20CHK= 000017 TC.DAT= 177350
CD0DAT= 177162 DLXSTS= 000004 LP.DNE= 000200 L20COL= 000015 TC.DT0= 000020
CD0STS= 177160 DL.BRK= 000001 LP.ERR= 100000 L20CRA= 000000 TC.DT1= 000010
CI.INE= 000100 DL.CAR= 010000 LP.INE= 000100 L20CRB= 000002 TC.DT2= 000004
CLKENB= 000100 DL.CTS= 020000 LP.LVL= 000004 L20PCT= 000010 TC.D16= 000001
CLKLVL= 000006 DL.DIE= 000040 LP.STS= 177514 L20PDA= 000016 TC.D17= 000002
CLKVEC= 000100 DL.DSC= 100000 LP.VEC= 000200 L20RAM= 000012 TC.ERR= 100000
CLKWRD= 177546 DL.DTR= 000002 LP0DAT= 177516 L20STS= 175400 TC.ILO= 010000
CO.INE= 000100 DL.ERR= 100000 LP0STS= 177514 L21STS= 175420 TC.INE= 000100
CO..MM= 000004 DL.LVL= 000004 LP1DAT= 177522 MM.SR0= 177572 TC.LVL= 000006
CTICHR= 177562 DL.OVR= 040000 LP1STS= 177520 MP.ENB= 000001 TC.MMT= 000040
CTILVL= 000004 DL.RGO= 004000 L2.A16= 000020 MP.ERR= 100000 TC.MTE= 020000
CTISTS= 177560 DL.RIE= 000100 L2.A17= 000040 MP.LVL= 000007 TC.NXM= 000400
CTIVEC= 000060 DL.RNG= 040000 L2.BCM= 007777 MP.REG= 172100 TC.PAR= 040000
CTOCHR= 177566 DL.ROK= 000200 L2.DB = 000377 MP.VEC= 000114 TC.RDA= 000006
BOTPH2 - BOOT PHASE 2 MACRO M1113 14-APR-81 11:12 PAGE 22-2
SYMBOL TABLE
TC.RDY= 000200 TC..BM= 002000 TE.STW= 000034 TS.EEX= 000400 TS.XTS= 040000
TC.REV= 004000 TC..DI= 010000 TE.VEC= 000774 TS.EIS= 002000 TS.ZST= 040000
TC.RMT= 000002 TC..DM= 001000 TE.XAD= 000020 TS.ENT= 000100 VRS = 000022
TC.SAT= 000000 TC..EZ= 100000 TE.XA1= 000010 TS.EPE= 000020 XFR 000542R
TC.SST= 000010 TC..MM= 020000 TE.XA2= 000012 TS.ETD= 000200 $BTCSR 000032RG
TC.STS= 177340 TC..RD= 000004 TE.XBC= 000014 TS.IEN= 000001 $BTDEV 000020RG
TC.UPS= 000200 TC..SE= 004000 TE.XDT= 000024 TS.IFB= 100000 $BTEND 000600RG
TC.US0= 000000 TC..WR= 000014 TE.XW1= 000006 TS.MPE= 001000 $BTEP2 000034RG
TC.US1= 000400 TE.BAS= 174400 TE.XW2= 000004 TS.PEX= 100000 $BTFSZ 000030RG
TC.US2= 001000 TE.BNX= 000040 TE.XW3= 000002 TS.POF= 004000 $BTLBN 000010RG
TC.US3= 001400 TE.DG1= 000030 TPB = 177566 TS.RES= 004000 $BTLLN 000014RG
TC.US4= 002000 TE.DG2= 000032 TPS = 177564 TS.RM = 000010 $BTLUN 000022RG
TC.US5= 002400 TE.DG3= 000036 TRPVEC= 000034 TS.RST= 000100 $BTMAX 000026RG
TC.US6= 003000 TE.DYC= 000000 TS.CET= 000001 TS.TBM= 000001 $BTPH2 000000RG
TC.US7= 003400 TE.EAD= 000022 TS.DEI= 000010 TS.XDN= 000004 $BTSTK 000010RG
TC.VEC= 000214 TE.EBC= 000016 TS.DEP= 010000 TS.XEC= 010000 $BTUNT 000024RG
TC.WCR= 177344 TE.EDT= 000026 TS.EBM= 020000 TS.XEE= 004000 $BTXFR 000016RG
TC.WRA= 000016 TE.LVL= 000006 TS.EEE= 000040 TS.XER= 020000 $DRVER 000042RG
TC.WTM= 000012 TE.NNN= 000004 TS.EET= 000002 TS.XNT= 100000
. ABS. 000000 000
000600 001
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 3364 WORDS ( 14 PAGES)
DYNAMIC MEMORY: 4630 WORDS ( 17 PAGES)
ELAPSED TIME: 00:00:22
[52,10]BOTPH2,[52,20]BOTPH2/-SP/CR=[52,30]RSXDC,BOTPH2
BOTPH2 CREATED BY MACRO ON 14-APR-81 AT 11:12 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
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
BOTPH2 CREATED BY MACRO ON 14-APR-81 AT 11:12 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
CI.INE = 000100 #5-203
CLKENB = 000100 #10-365
CLKLVL = 000006 #10-356
CLKVEC = 000100 #10-360
CLKWRD = 177546 #10-362
CO.INE = 000100 #5-207
CO..MM = 000004 #5-208
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
DEBUG = ****** 20-61 21-116 22-139
DGUTS = 000000 1-45 1-46
DHBASE = 160020 #6-211
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
BOTPH2 CREATED BY MACRO ON 14-APR-81 AT 11:12 PAGE 3
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
BOTPH2 CREATED BY MACRO ON 14-APR-81 AT 11:12 PAGE 4
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
FTASRT = 000001 1-64
FTECHO = 000000 1-61
FTETR = 000000 1-60
FTGLOM = 000000 1-54
FT.CHK = 000001 1-63
FT.DDT = 000000 1-59
FT.D75 = 000000 10-354 10-355
FT.HLP = 000001 1-53
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
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
BOTPH2 CREATED BY MACRO ON 14-APR-81 AT 11:12 PAGE 5
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
M$$MGE = ****** 21-98
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
BOTPH2 CREATED BY MACRO ON 14-APR-81 AT 11:12 PAGE 6
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
OB3 = 000010 #3-139
OB4 = 000020 #3-140
OB5 = 000040 #3-141
OB6 = 000100 #3-142
OB7 = 000200 #3-143
PASS = 000002 1-84 1-85 #1-85
PDP11 = 000040 1-68
RD.LVL = 000004 #7-256 7-257
R$$11M = 000001 #1-27
R$$20F = 000001 #1-26 21-133
STKLEN = 000200 1-62
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
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
BOTPH2 CREATED BY MACRO ON 14-APR-81 AT 11:12 PAGE 7
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
TPB = 177566 #20-43
TPS = 177564 #20-42
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
BOTPH2 CREATED BY MACRO ON 14-APR-81 AT 11:12 PAGE 8
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
VRS = 000022 #1-38
XFR 000542 R #21-127
$BTCSR 000032 RG #20-57
$BTDEV 000020 RG #20-52 21-131
$BTEND 000600 RG #22-168
$BTEP2 000034 RG #21-96
$BTFSZ 000030 RG #20-56 21-132
$BTLBN 000010 RG #20-49 21-128 21-129
$BTLLN 000014 RG #20-50
$BTLUN 000022 RG #20-53 21-130
$BTMAX 000026 RG #20-55
$BTPH2 000000 RG #20-45
$BTSTK 000010 RG #20-47 21-114
$BTUNT 000024 RG #20-54 21-127
$BTXFR 000016 RG #20-51 21-136
$DRVER 000042 RG #21-123
BOTPH2 CREATED BY MACRO ON 14-APR-81 AT 11:12 PAGE 9
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
CALL #1-23 #19-36
ND #17-593
RETURN #1-23 #19-36
STOPCD #2-107
.CKTTS #17-597
BOTSET - SET UP DRIVERS FOR BOO MACRO M1113 14-APR-81 11:12
TABLE OF CONTENTS
20- 33 SET DF DRIVER DISK ADDRESS
21- 48 SET DK DISK ADDRESS
22- 78 SET DP DISK ADDRESS
23- 110 SET DB DISK ADDRESS
24- 149 SET UP DECTAPE AND RS03/04
25- 164 SET DX DISK BOOT DRIVER AND EMPTY SILO ADDRESS
BOTSET - SET UP DRIVERS FOR BOO MACRO M1113 14-APR-81 11:12 PAGE 17
DTE20 HARDWARE BITS
700 .LIST MEB
BOTSET - SET UP DRIVERS FOR BOO MACRO M1113 14-APR-81 11:12 PAGE 19
DTE20 HARDWARE BITS
1 .TITLE BOTSET - SET UP DRIVERS FOR BOOT
2 .IDENT "01"
3 ;
4 ;
5 ; COPYRIGHT (C) 1975, 1978 BY
6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
7 ;
8 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
9 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
10 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
11 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
12 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
13 ;
14 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
15 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
16 ; CORPORATION.
17 ;
18 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
19 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
20 ;
21 ;
22
23
24 ; VERSION: 01
25 ; BY: H.LEV
26 ; DATE: 4/11/75 BASED ON SAVSET.MAC
27
28 ;
29 ; THIS MODULE SETS UP THE DEVICE DRIVERS TO BOOT IN
30 ; A SYSTEM IMAGE.
31 ;
BOTSET - SET UP DRIVERS FOR BOO MACRO M1113 14-APR-81 11:12 PAGE 20
SET DF DRIVER DISK ADDRESS
33 .SBTTL SET DF DRIVER DISK ADDRESS
34 000000 005001 $SETDF::CLR R1 ; ZERO LOW VBN
35 ;
36 ; COMPUTE DISK ADDRESS AND SET IT IN DRIVER
37 ;
38 000002 016702 000002G MOV $BTLBN+2,R2 ; GET LBN OF SYSTEM IMAGE
39 000006 150201 BISB R2,R1 ; SET LOW PART OF ADDRESS
40 000010 042702 000377 BIC #377,R2 ; CLEAR IT OUT OF HIGH PART
41 000014 000301 SWAB R1 ; SHIFT LOW PART TO 256 WORD POSITION
42 000016 000302 SWAB R2 ; SHIFT HIGH PART DOWN
43 000020 010167 000000G MOV R1,$DFDAR ; SET DISK ADDRESS
44 000024 010267 000000G MOV R2,$DFDAE ; AND EXTENSION
45 000030 005065 000000G CLR DRVUNT(R5) ; NO UNIT TO SELECT
46 000034 RETURN ;
000034 000207 RTS PC
BOTSET - SET UP DRIVERS FOR BOO MACRO M1113 14-APR-81 11:12 PAGE 21
SET DK DISK ADDRESS
48 .SBTTL SET DK DISK ADDRESS
49 000036 016703 000002G $SETDK:: MOV $BTLBN+2,R3 ; GET LBN OF SYSTEM IMAGE
50 ;
51 ; COMPUTE DISK ADDRESS AND SET IN DRIVER
52 ;
53 000042 005002 CLR R2 ; ZERO QUOTIENT (CYLINDER)
54 000044 012704 000014 MOV #12.,R4 ; SET DIVISOR (SECTORS/CYLINDER)
55 000050 020304 10$: CMP R3,R4 ; MORE WHOLE CYLINDERS LEFT?
56 000052 002403 BLT 20$ ; NO
57 000054 005202 INC R2 ; YES, INCREMENT CYLINDER COUNT
58 000056 160403 SUB R4,R3 ; DECREASE BY ONE CYLINDERS WORTH OF TRACKS
59 000060 003373 BGT 10$ ; LOOP IF MORE
60 000062 006302 20$: ASL R2 ; SHIFT UP CYLINDER
61 000064 006302 ASL R2 ; TO CORRECT POSITION
62 000066 006302 ASL R2 ;
63 000070 006302 ASL R2 ;
64 000072 005004 CLR R4 ;
65 000074 010204 MOV R2,R4 ; SET CYLINDER
66 000076 050304 BIS R3,R4 ; MERGE IN SECTOR
67 000100 010467 000000G MOV R4,$DKDAR ; SET IT FOR DRIVER
68 000104 116704 000000G MOVB $BTUNT,R4 ; GET UNIT NUMBER
69 000110 042704 177400 BIC #177400,R4 ; CLEAR HIGH BITS
70 000114 000241 CLC ; ZERO CARRY
71 000116 006004 ROR R4 ; SHIFT IT UP
72 000120 006004 ROR R4 ; TO HIGH
73 000122 006004 ROR R4 ; POSITION
74 000124 006004 ROR R4 ;
75 000126 010465 000000G MOV R4,DRVUNT(R5) ; SAVE UNIT SELECT CODE
76 000132 RETURN ;
000132 000207 RTS PC
BOTSET - SET UP DRIVERS FOR BOO MACRO M1113 14-APR-81 11:12 PAGE 22
SET DP DISK ADDRESS
78 .SBTTL SET DP DISK ADDRESS
79 000134 116702 000000G $SETDP:: MOVB $BTLBN,R2 ; GET HIGH LBN OF SYSTEM IMAGE
80 000140 016701 000002G MOV $BTLBN+2,R1 ; GET LOW LBN
81 ;
82 ; COMPUTE DISK ADDRESS, SET IT IN DRIVER
83 ;
84 000144 042702 177400 BIC #177400,R2 ; CLEAR OFF SIGN BITS
85 000150 005003 CLR R3 ; ZERO QUOTIENT (TRACKS)
86 000152 012704 000012 MOV #10.,R4 ; SET DIVISOR (SECTORS/TRACK)
87 000156 020104 10$: CMP R1,R4 ; ANY TRACKS LEFT ?
88 000160 103002 BHIS 20$ ; YES
89 000162 005702 TST R2 ; NO, ANY HIGH PART LEFT?
90 000164 001404 BEQ 30$ ; NO, DONE
91 000166 005203 20$: INC R3 ; YES, INCREMENT WHOLE TRACK COUNT
92 000170 160401 SUB R4,R1 ; SUBTRACT A WHOLE TRACK FROM SECTORS
93 000172 005602 SBC R2 ;
94 000174 000770 BR 10$ ; LOOP
95 000176 010167 000000G 30$: MOV R1,$DPDA ; SET SECTOR ADDRESS
96 000202 012704 000024 MOV #20.,R4 ; SET DIVISOR (TRACKS/CYLINDER)
97 000206 020304 40$: CMP R3,R4 ; A WHOLE CYLINDER LEFT?
98 000210 103403 BLO 50$ ; NO
99 000212 005202 INC R2 ; YES, INCREMENT CYLINDER COUNT
100 000214 160403 SUB R4,R3 ; SUBTRACT A WHOLE CYLINDER FROM TRACKS
101 000216 101373 BHI 40$ ; LOOP TIL DONE
102 000220 000303 50$: SWAB R3 ; SHIFT UP TRACK
103 000222 050367 000000G BIS R3,$DPDA ; AND SET IT FOR DRIVER
104 000226 010267 000000G MOV R2,$DPCA ; SET CYLINDER
105 000232 116704 000000G MOVB $BTUNT,R4 ; GET UNIT SELECT
106 000236 000304 SWAB R4 ; SHIFT TO HIGH BYTE
107 000240 010465 000000G MOV R4,DRVUNT(R5) ; SAVE IT
108 000244 RETURN ;
000244 000207 RTS PC
BOTSET - SET UP DRIVERS FOR BOO MACRO M1113 14-APR-81 11:12 PAGE 23
SET DB DISK ADDRESS
110 .SBTTL SET DB DISK ADDRESS
111 000246 116702 000000G $SETDB:: MOVB $BTLBN,R2 ; GET HIGH LBN OF SYSTEM IMAGE
112 000252 042702 177400 BIC #177400,R2 ;
113 000256 016700 000002G MOV $BTLBN+2,R0 ; GET LOW LBN
114 ;
115 ; CONVERT LBN TO SECTOR, TRACK, CYLINDER
116 ;
117 .IF DF R$$20F
118 000262 012703 000024 MOV #20.,R3 ; SET SECTORS/TRACK
119 .IFF
120 MOV #22.,R3 ; SET SECTORS PER TRACK
121 .ENDC
122 000266 005001 CLR R1 ; ZERO TRACK COUNT
123 000270 020003 10$: CMP R0,R3 ; ANY WHOLE TRACKS LEFT?
124 000272 103002 BHIS 20$ ; YES
125 000274 005702 TST R2 ; MAYBE
126 000276 001404 BEQ 30$ ; NO
127 000300 160300 20$: SUB R3,R0 ; SUBTRACT A WHOLE TRACK OF SECTORS
128 000302 005602 SBC R2 ;
129 000304 005201 INC R1 ; INCREMENT TRACK COUNT
130 000306 000770 BR 10$ ; LOOP
131 000310 012703 000023 30$: MOV #19.,R3 ; SET TRACKS PER CYLINDER
132 000314 020103 40$: CMP R1,R3 ; ANY WHOLE CYLINDERS LEFT?
133 000316 103403 BLO 50$ ; NO
134 000320 160301 SUB R3,R1 ; YES, SUBTRACT A CYLINDER OF TRACKS
135 000322 005202 INC R2 ; INCREMENT CYLINDER COUNT
136 000324 000773 BR 40$ ; LOOP
137 ;
138 ; AT THIS POINT R0-SECTOR, R1-TRACK, AND R2-CYLINDER
139 ;
140 000326 000301 50$: SWAB R1 ; SHIFT TRACK TO HIGH BYTE
141 000330 050100 BIS R1,R0 ; COMBINE TRACK AND SECTOR
142 000332 010067 000000G MOV R0,$DBDA ; SET IT IN TRACK SECTOR SELECT
143 000336 010267 000000G MOV R2,$DBCA ; SET CYLINDER SELECT
144 000342 016704 000000G MOV $BTUNT,R4 ; GET UNIT
145 000346 000304 SWAB R4 ; SHIFT TO HIGH BYTE
146 000350 010465 000000G MOV R4,DRVUNT(R5) ; SAVE IT
147 000354 RETURN ;
000354 000207 RTS PC
BOTSET - SET UP DRIVERS FOR BOO MACRO M1113 14-APR-81 11:12 PAGE 24
SET UP DECTAPE AND RS03/04
149 .SBTTL SET UP DECTAPE AND RS03/04
150 ;
151 000356 016767 000002G 000000G $SETDT:: MOV $BTLBN+2,$DTBLK ; SET LBN OF SYSTEM IMAGE
152 000364 016704 000000G MOV $BTUNT,R4 ; GET LOAD UNIT
153 000370 000304 SWAB R4 ; SHIFT TO HIGH BYTE
154 000372 010465 000000G MOV R4,DRVUNT(R5) ; SAVE IT
155 000376 RETURN ;
000376 000207 RTS PC
156
157
158 000400 016767 000002G 000000G $SETDS:: MOV $BTLBN+2,$DSDA ; SET LBN OF SYSTEM IMAGE
159 000406 016704 000000G MOV $BTUNT,R4 ; GET UNIT SELECT
160 000412 000304 SWAB R4 ; SHIFT UP TO UNIT SELECT FIELD
161 000414 010465 000000G MOV R4,DRVUNT(R5) ; SET UNIT SELECT
162 000420 RETURN ;
000420 000207 RTS PC
BOTSET - SET UP DRIVERS FOR BOO MACRO M1113 14-APR-81 11:12 PAGE 25
SET DX DISK BOOT DRIVER AND EMPTY SILO ADDRESS
164 .SBTTL SET DX DISK BOOT DRIVER AND EMPTY SILO ADDRESS
165 000422 016704 000002G $SETDX:: MOV $BTLBN+2,R4 ; GET SYSTEM IMAGE LBN
166 000426 006304 ASL R4 ; CONVERT TO LOGICAL SECTOR NUMBER
167 000430 006304 ASL R4 ;
168 000432 010467 000000G MOV R4,$DXBLK ; SET IT IN DRIVER
169 000436 012767 000003 000000G MOV #3,$DXSLO ; SET SILO FUNCTION TO EMPTY
170 000444 016767 000016 000000G MOV 20$,$DXMOV ; GET INSTRUCTION TO EMPTY SILO
171 000452 016704 000000G MOV $BTUNT,R4 ; GET UNIT SELECT
172 000456 000304 SWAB R4 ; SHIFT UP HIGH
173 000460 010465 000000G MOV R4,DRVUNT(R5) ; SET IT IN TABLE
174 000464 RETURN ;
000464 000207 RTS PC
175
176 000466 111224 20$: MOVB (R2),(R4)+ ; EMPTY SILO
177 000001 .END
BOTSET - SET UP DRIVERS FOR BOO MACRO M1113 14-APR-81 11:12 PAGE 25-1
SYMBOL TABLE
BR0 = 000000 CTOLVL= 000004 DL.RTS= 000004 L2.DB = 000377 MP.VEC= 000114
BR1 = 000040 CTOSTS= 177564 DL.XIE= 000100 L2.DEL= 002000 MP.WWP= 000004
BR2 = 000100 CTOVEC= 000064 DL.XOK= 000200 L2.DH = 002000 NXMVEC= 000004
BR3 = 000140 DGUTS = 000000 DL..FE= 020000 L2.DL = 000010 OB0 = 000001
BR4 = 000200 DHBASE= 160020 DL..MM= 000004 L2.DNR= 000100 OB1 = 000002
BR5 = 000240 DHRFER= 020000 DL..PE= 010000 L2.DON= 000200 OB10 = 000400
BR6 = 000300 DHROVR= 040000 DL..RC= 000377 L2.DR = 010000 OB11 = 001000
BR7 = 000340 DH.AEE= 100000 DL..RE= 000001 L2.DTE= 000002 OB12 = 002000
B.DM11= 170500 DH.BAR= 000012 DL..XC= 000377 L2.ENB= 000100 OB13 = 004000
B0 = 000001 DH.BCR= 000010 DL.2RC= 002000 L2.ERE= 001000 OB14 = 010000
B1 = 000002 DH.BRK= 000014 DL.2XM= 000010 L2.ERR= 100000 OB15 = 020000
B10 = 002000 DH.CAR= 000006 DMBASE= 170500 L2.GER= 000001 OB16 = 040000
B11 = 004000 DH.CL5= 000000 DM.ALI= 000017 L2.GO = 000001 OB17 = 100000
B12 = 010000 DH.CL6= 000001 DM.BSY= 000020 L2.INI= 000400 OB2 = 000004
B13 = 020000 DH.CL7= 000002 DM.CAR= 000100 L2.INT= 004000 OB3 = 000010
B14 = 040000 DH.CL8= 000003 DM.CTS= 000040 L2.LDP= 010000 OB4 = 000020
B15 = 100000 DH.CNX= 000400 DM.DNE= 000200 L2.LPE= 000040 OB5 = 000040
B2 = 000004 DH.DOV= 040000 DM.DTR= 000002 L2.LVL= 000004 OB6 = 000100
B3 = 000010 DH.LPR= 000004 DM.ENB= 000040 L2.MPE= 000020 OB7 = 000200
B4 = 000020 DH.LVL= 000005 DM.IEN= 000100 L2.MST= 000004 PASS = 000002
B5 = 000040 DH.NRC= 000002 DM.INI= 002000 L2.ONL= 004000 PDP11 = 000040
B6 = 000100 DH.NXM= 002000 DM.LE = 000001 L2.OVF= 004000 RD.LVL= 000004
B7 = 000200 DH.PEN= 000020 DM.LVL= 000004 L2.PCM= 007777 R$$11M= 000001
B8 = 000400 DH.RIE= 000100 DM.RNG= 000200 L2.PEN= 000002 R$$20F= 000001
B9 = 001000 DH.SIE= 010000 DM.RTS= 000004 L2.PI = 000400 STKLEN= 000200
CD.CFD= 000001 DH.SSR= 000016 DM.SCN= 004000 L2.PNR= 020000 S..AMC= 000000
CD.CHK= 040000 DH.TIE= 020000 DM.SR = 000020 L2.POL= 000200 S..BDT= 000011
CD.DAT= 177162 DH.VDP= 100000 DM.ST = 000010 L2.PZE= 040000 S..CHK= 000012
CD.DTE= 004000 DH..FE= 020000 DM.STP= 000400 L2.RDB= 007777 S..CNK= 000003
CD.DTL= 002000 DH..HD= 040000 DM..MM= 001000 L2.RPB= 010000 S..CTY= 000005
CD.EOF= 020000 DH..MC= 004000 DRVUNT= ****** GX L2.RPE= 000010 S..DCP= 000013
CD.ERR= 100000 DH..MM= 001000 FTASRT= 000001 L2.SPR= 040000 S..DL1= 000002
CD.HEM= 000004 DH..OP= 000040 FTECHO= 000000 L2.TB0= 000400 S..DTE= 000002
CD.INE= 000100 DH..PE= 010000 FTETR = 000000 L2.TB1= 001000 S..ILS= 000004
CD.LVL= 000006 DH..RI= 000200 FTGLOM= 000000 L2.TB2= 002000 S..KW1= 000007
CD.NXM= 001000 DH..SI= 040000 FT.CHK= 000001 L2.TM = 000004 S..MEM= 000006
CD.OFL= 010000 DH..TI= 100000 FT.DDT= 000000 L2.TRN= 001000 S..NCN= 000010
CD.ONL= 000010 DH.2SB= 000004 FT.D75= 000000 L2.UCD= 020000 S..NXM= 000001
CD.PAK= 000002 DLDADR= 175610 FT.HLP= 000001 L2.VD = 100000 TC.A16= 000020
CD.PWR= 000400 DLDSIZ= 000010 KL.LVL= 000004 L2.VEC= 000754 TC.A17= 000040
CD.RDY= 000200 DLRBUF= 000002 KPAR0 = 172340 L20ADR= 000004 TC.BAR= 177346
CD.STS= 177160 DLRSTS= 000000 KW.INE= 000100 L20BCT= 000006 TC.CLK= 000100
CD.VEC= 000230 DLXBUF= 000006 KW.TIC= 000200 L20BUF= 000014 TC.CMD= 177342
CD0DAT= 177162 DLXSTS= 000004 LP.DAT= 177516 L20CHK= 000017 TC.DAT= 177350
CD0STS= 177160 DL.BRK= 000001 LP.DNE= 000200 L20COL= 000015 TC.DT0= 000020
CI.INE= 000100 DL.CAR= 010000 LP.ERR= 100000 L20CRA= 000000 TC.DT1= 000010
CLKENB= 000100 DL.CTS= 020000 LP.INE= 000100 L20CRB= 000002 TC.DT2= 000004
CLKLVL= 000006 DL.DIE= 000040 LP.LVL= 000004 L20PCT= 000010 TC.D16= 000001
CLKVEC= 000100 DL.DSC= 100000 LP.STS= 177514 L20PDA= 000016 TC.D17= 000002
CLKWRD= 177546 DL.DTR= 000002 LP.VEC= 000200 L20RAM= 000012 TC.ERR= 100000
CO.INE= 000100 DL.ERR= 100000 LP0DAT= 177516 L20STS= 175400 TC.ILO= 010000
CO..MM= 000004 DL.LVL= 000004 LP0STS= 177514 L21STS= 175420 TC.INE= 000100
CTICHR= 177562 DL.OVR= 040000 LP1DAT= 177522 MM.SR0= 177572 TC.LVL= 000006
CTILVL= 000004 DL.RGO= 004000 LP1STS= 177520 MP.ENB= 000001 TC.MMT= 000040
CTISTS= 177560 DL.RIE= 000100 L2.A16= 000020 MP.ERR= 100000 TC.MTE= 020000
CTIVEC= 000060 DL.RNG= 040000 L2.A17= 000040 MP.LVL= 000007 TC.NXM= 000400
CTOCHR= 177566 DL.ROK= 000200 L2.BCM= 007777 MP.REG= 172100 TC.PAR= 040000
BOTSET - SET UP DRIVERS FOR BOO MACRO M1113 14-APR-81 11:12 PAGE 25-2
SYMBOL TABLE
TC.RDA= 000006 TC..BM= 002000 TE.VEC= 000774 TS.ETD= 000200 $DBCA = ****** GX
TC.RDY= 000200 TC..DI= 010000 TE.XAD= 000020 TS.IEN= 000001 $DBDA = ****** GX
TC.REV= 004000 TC..DM= 001000 TE.XA1= 000010 TS.IFB= 100000 $DFDAE= ****** GX
TC.RMT= 000002 TC..EZ= 100000 TE.XA2= 000012 TS.MPE= 001000 $DFDAR= ****** GX
TC.SAT= 000000 TC..MM= 020000 TE.XBC= 000014 TS.PEX= 100000 $DKDAR= ****** GX
TC.SST= 000010 TC..RD= 000004 TE.XDT= 000024 TS.POF= 004000 $DPCA = ****** GX
TC.STS= 177340 TC..SE= 004000 TE.XW1= 000006 TS.RES= 004000 $DPDA = ****** GX
TC.UPS= 000200 TC..WR= 000014 TE.XW2= 000004 TS.RM = 000010 $DSDA = ****** GX
TC.US0= 000000 TE.BAS= 174400 TE.XW3= 000002 TS.RST= 000100 $DTBLK= ****** GX
TC.US1= 000400 TE.BNX= 000040 TRPVEC= 000034 TS.TBM= 000001 $DXBLK= ****** GX
TC.US2= 001000 TE.DG1= 000030 TS.CET= 000001 TS.XDN= 000004 $DXMOV= ****** GX
TC.US3= 001400 TE.DG2= 000032 TS.DEI= 000010 TS.XEC= 010000 $DXSLO= ****** GX
TC.US4= 002000 TE.DG3= 000036 TS.DEP= 010000 TS.XEE= 004000 $SETDB 000246RG
TC.US5= 002400 TE.DYC= 000000 TS.EBM= 020000 TS.XER= 020000 $SETDF 000000RG
TC.US6= 003000 TE.EAD= 000022 TS.EEE= 000040 TS.XNT= 100000 $SETDK 000036RG
TC.US7= 003400 TE.EBC= 000016 TS.EET= 000002 TS.XTS= 040000 $SETDP 000134RG
TC.VEC= 000214 TE.EDT= 000026 TS.EEX= 000400 TS.ZST= 040000 $SETDS 000400RG
TC.WCR= 177344 TE.LVL= 000006 TS.EIS= 002000 VRS = 000022 $SETDT 000356RG
TC.WRA= 000016 TE.NNN= 000004 TS.ENT= 000100 $BTLBN= ****** GX $SETDX 000422RG
TC.WTM= 000012 TE.STW= 000034 TS.EPE= 000020 $BTUNT= ****** GX
. ABS. 000000 000
000470 001
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 3448 WORDS ( 14 PAGES)
DYNAMIC MEMORY: 4630 WORDS ( 17 PAGES)
ELAPSED TIME: 00:00:23
[52,10]BOTSET,[52,20]BOTSET/-SP/CR=[52,30]RSXDC,BOTSET
BOTSET CREATED BY MACRO ON 14-APR-81 AT 11:12 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
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
BOTSET CREATED BY MACRO ON 14-APR-81 AT 11:12 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
CI.INE = 000100 #5-203
CLKENB = 000100 #10-365
CLKLVL = 000006 #10-356
CLKVEC = 000100 #10-360
CLKWRD = 177546 #10-362
CO.INE = 000100 #5-207
CO..MM = 000004 #5-208
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
DGUTS = 000000 1-45 1-46
DHBASE = 160020 #6-211
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
BOTSET CREATED BY MACRO ON 14-APR-81 AT 11:12 PAGE 3
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
BOTSET CREATED BY MACRO ON 14-APR-81 AT 11:12 PAGE 4
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
DRVUNT = ****** GX *20-45 *21-75 *22-107 *23-146 *24-154 *24-161 *25-173
FTASRT = 000001 1-64
FTECHO = 000000 1-61
FTETR = 000000 1-60
FTGLOM = 000000 1-54
FT.CHK = 000001 1-63
FT.DDT = 000000 1-59
FT.D75 = 000000 10-354 10-355
FT.HLP = 000001 1-53
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
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
BOTSET CREATED BY MACRO ON 14-APR-81 AT 11:12 PAGE 5
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
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
BOTSET CREATED BY MACRO ON 14-APR-81 AT 11:12 PAGE 6
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
OB4 = 000020 #3-140
OB5 = 000040 #3-141
OB6 = 000100 #3-142
OB7 = 000200 #3-143
PASS = 000002 1-84 1-85 #1-85
PDP11 = 000040 1-68
RD.LVL = 000004 #7-256 7-257
R$$11M = 000001 #1-27
R$$20F = 000001 #1-26 23-117
STKLEN = 000200 1-62
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
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
BOTSET CREATED BY MACRO ON 14-APR-81 AT 11:12 PAGE 7
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
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
BOTSET CREATED BY MACRO ON 14-APR-81 AT 11:12 PAGE 8
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
VRS = 000022 #1-38
$BTLBN = ****** GX 20-38 21-49 22-79 22-80 23-111 23-113 24-151 24-158 25-165
$BTUNT = ****** GX 21-68 22-105 23-144 24-152 24-159 25-171
$DBCA = ****** GX *23-143
$DBDA = ****** GX *23-142
$DFDAE = ****** GX *20-44
$DFDAR = ****** GX *20-43
$DKDAR = ****** GX *21-67
$DPCA = ****** GX *22-104
$DPDA = ****** GX *22-95 *22-103
$DSDA = ****** GX *24-158
$DTBLK = ****** GX *24-151
$DXBLK = ****** GX *25-168
$DXMOV = ****** GX *25-170
$DXSLO = ****** GX *25-169
$SETDB 000246 RG #23-111
$SETDF 000000 RG #20-34
$SETDK 000036 RG #21-49
$SETDP 000134 RG #22-79
$SETDS 000400 RG #24-158
$SETDT 000356 RG #24-151
$SETDX 000422 RG #25-165
BOTSET CREATED BY MACRO ON 14-APR-81 AT 11:12 PAGE 9
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
CALL #1-23
ND #17-593
RETURN #1-23 20-46 21-76 22-108 23-147 24-155 24-162 25-174
STOPCD #2-107
.CKTTS #17-597
COT2B - CONVERT FROM OCTAL TO T MACRO M1113 14-APR-81 11:15 PAGE 3
1 .TITLE COT2B - CONVERT FROM OCTAL TO TWO BINARY WORDS
2 .IDENT "01"
3 ;
4 ; COPYRIGHT (C) 1973, 1978 BY
5 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6 ;
7 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
8 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
9 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
10 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
11 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
12 ;
13 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
14 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
15 ; CORPORATION.
16 ;
17 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
18 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
19 ;
20 ;
21
22 ;
23 ; VERSION: 01
24 ; BY: H.LEV
25 ; DATE: 09/19/73
26 ;
27 .MCALL RETURN
28
29 ;+
30 ; *** - .COT2B - CONVERT OCTAL NUMBER TO TWO BINARY WORDS
31 ; THIS SUBROUTINE CONVERTS AN ASCII OCTAL
32 ; NUMBER TO BINARY. IT ACCEPTS ONLY
33 ; OCTAL DIGITS.
34 ;
35 ; INPUT:
36 ; R0 - ADDRESS OF NEXT DIGIT IN BUFFER FOR NUMBER
37 ; R1 - ADDRESS OF TWO WORD FIELD TO PUT CONVERTED NUMBER IN
38 ; WORD 1 - LOW 16 BITS
39 ; WORD 2 - HIGH 16 BITS
40 ;
41 ; OUTPUT:
42 ; R0 - UPDATED BUFFER POINTER
43 ; R1 - UNCHANGED
44 ; R2 - TERMINATING CHARACTER
45 ;
46 ; CARRY BIT
47 ; CLEAR - ONLY 16 BIT NUMBER
48 ; SET - 32 BIT NUMBER
49 ;
50 ;-
51 000000 005011 .COT2B::CLR (R1) ; ZERO OUT LOW 16 BITS
52 000002 005061 000002 CLR 2(R1) ; ZERO OUT HIGH 16 BITS
53 000006 112002 10$: MOVB (R0)+,R2 ; GET NEXT CHARACTER
54 000010 120227 000060 CMPB R2,#'0 ; IS IT <0 ?
55 000014 002420 BLT 30$ ; YES
56 000016 120227 000067 CMPB R2,#'7 ; IS IT >7 ?
57 000022 003015 BGT 30$ ; YES
COT2B - CONVERT FROM OCTAL TO T MACRO M1113 14-APR-81 11:15 PAGE 3-1
58 000024 042702 177770 BIC #177770,R2 ; STRIP OF ASCII BITS
59 000030 012746 000003 MOV #3,-(SP) ; SET SHIFT COUNT
60 000034 000241 20$: CLC ; ZERO CARRY BIT
61 000036 006111 ROL (R1) ; ROTATE BIT 15
62 000040 006161 000002 ROL 2(R1) ; INTO BIT 16
63 000044 005316 DEC (SP) ; DONE ?
64 000046 001372 BNE 20$ ; NO, LOOP FOR THREE BITS
65 000050 005726 TST (SP)+ ; POP OFF COUNTER
66 000052 050211 BIS R2,(R1) ; PUT IT IN
67 000054 000754 BR 10$ ; GET NEXT DIGIT
68 000056 005761 000002 30$: TST 2(R1) ; IS THERE MORE THAN 16 BITS ?
69 000062 001401 BEQ 50$ ; NO
70 000064 000261 SEC ; YES, SET 32 BIT FLAG
71 000066 50$: RETURN ; RETURN TO CALLER
72
73 000001 .END
COT2B - CONVERT FROM OCTAL TO T MACRO M1113 14-APR-81 11:15 PAGE 3-2
SYMBOL TABLE
E$$MSG= 000001 F$$LVL= 000001 R$$10F= 000001 R$$20F= 000001 .COT2B 000000RG
E$$TRP= 000001 M$$HDR= 000001 R$$11D= 000001
. ABS. 000000 000
000070 001
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 151 WORDS ( 1 PAGES)
DYNAMIC MEMORY: 2518 WORDS ( 9 PAGES)
ELAPSED TIME: 00:00:04
[53,10]COT2B,[53,20]COT2B/-SP/CR=[53,30]RSXDC,COT2B
COT2B CREATED BY MACRO ON 14-APR-81 AT 11:15 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
E$$MSG = 000001 #1-33
E$$TRP = 000001 #1-32
F$$LVL = 000001 #1-28
M$$HDR = 000001 #1-34
R$$10F = 000001 #1-30
R$$11D = 000001 #1-29
R$$20F = 000001 #1-31
S$$YDF = ****** 1-1 1-37
.COT2B 000000 RG #3-51
COT2B CREATED BY MACRO ON 14-APR-81 AT 11:15 PAGE 2
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
RETURN #3-27 3-71
FILBN - FIND FILE AND RETURN LB MACRO M1113 14-APR-81 11:13
TABLE OF CONTENTS
20- 60 LOCAL DATA
21- 111 INITIALIZE CONTROL BLOCKS
22- 183 PARSE /FI AND /BL
23- 233 PARSE FILE NAME, FIND FILE
24- 327 ERROR PROCESSING
FILBN - FIND FILE AND RETURN LB MACRO M1113 14-APR-81 11:13 PAGE 17
DTE20 HARDWARE BITS
700 .LIST MEB
FILBN - FIND FILE AND RETURN LB MACRO M1113 14-APR-81 11:13 PAGE 19
DTE20 HARDWARE BITS
1 .TITLE FILBN - FIND FILE AND RETURN LBN
2 .IDENT "02"
3
4 ;
5 ; COPYRIGHT (C) 1974, 1978 BY
6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
7 ;
8 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
9 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
10 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
11 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
12 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
13 ;
14 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
15 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
16 ; CORPORATION.
17 ;
18 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
19 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
20 ;
21 ;
22
23 ; VERSION: 02
24 ; BY: H.LEV
25 ; DATE: 1/25/74
26 ; MODIFIED: 3/10/75 FIX CSI CALLS
27
28 ;
29 ; THIS SUBROUTINE IS USED TO TAKE A FILE NAME, FILE ID, OR LOGICAL BLOCK NUMBER
30 ; FROM A BUFFER AND RETURN THE LBN OF THE FILE.
31 ;
32
33 .MCALL CALL,CSI$,CSI$2,DIR$,QIO$,RETURN,WTSE$S
34
35 ;
36 ; EQUATED SYMBOLS
37 ;
38
39 000040 EFN = 32. ; EVENT FLAG TO WAIT ON SAME AS FCS USES
40
41
42 ;
43 ; PARAMETER BLOCK OFFSETS
44 ;
45 000000 FDB = 0 ; ADDRESS OF FILE DESCRIPTOR BLOCK
46 000002 DNB = 2 ; ADDRESS OF DEFAULT NAME BLOCK
47 000004 CSI = 4 ; ADDRESS OF CSI CONTROL BLOCK
48 000006 FILID = 6 ; TWO WORD AREA FOR FILE ID
49 000006 LBN = 6 ; TWO WORDS FOR RETURNING LBN
50 000012 UCB = 12 ; UNREDIRECTED UCB ADDRESS
51 000014 FILSIZ = 14 ; FILE SIZE IN BLOCKS
52 ;
53 ; KEYWORD FLAGS
54 ;
55 000001 FIFND = 1 ; /FI FOUND
56 000002 BLFND = 2 ; /BL FOUND
57
FILBN - FIND FILE AND RETURN LB MACRO M1113 14-APR-81 11:13 PAGE 19-1
DTE20 HARDWARE BITS
58
FILBN - FIND FILE AND RETURN LB MACRO M1113 14-APR-81 11:13 PAGE 20
LOCAL DATA
60 .SBTTL LOCAL DATA
61 ;
62 ; LOCAL DATA
63 ;
64
65 ;
66 ; DPB FOR READING STATISTICS BLOCK
67 ;
68 .IF DF R$$11M
69 .IFF
70 STBDPB: .BYTE 1.,11. ; DIC AND LENGTH
71 .WORD IO.RAT ; FUNCTION, READ ATTRIBUTES
72 .WORD 0 ; UNIT
73 .WORD EFN ; EVENT FLAG
74 .WORD FNDSTA ; I/O STATUS BLOCK
75 .WORD 0 ; AST ADDRESS
76 .WORD 0,0,FNDSTB ; PARAMETERS
77
78 .IFT
79 000000 STBDPB: QIO$ IO.RAT,,EFN,,FNDSTA,,<0,FNDATT>
000000 001 010 .BYTE 1,$$$ARG
000002 000000G .WORD IO.RAT
000004 000000 .WORD
000006 040 000 .BYTE EFN,
000010 000026' .WORD FNDSTA
000012 000000 .WORD
000014 000000 .WORD 0
000016 000020' .WORD FNDATT
80
81 000020 367 012 FNDATT: .BYTE -9.,10.
82 000022 000032' .WORD FNDSTB
83 000024 000000 .WORD 0
84 .ENDC
85
86 ;
87 ; I/O STATUS BLOCK
88 ;
89 000026 000000 000000 FNDSTA: .WORD 0,0 ;
90
91 ;
92 ; STATISTICS BLOCK
93 ;
94 000032 FNDSTB: .BLKW 5. ;
95
96 ;
97 ; KEYWD FLAG
98 ;
99 000044 000000 KEYWD: .WORD 0 ;
100
101
102
103 ;
104 ; DEFAULT DEVICE NAME
105 ;
106 .IF DF R$$11M
107 000046 123 131 060 SY0: .ASCIZ /SY0:/
000051 072 000
FILBN - FIND FILE AND RETURN LB MACRO M1113 14-APR-81 11:13 PAGE 20-1
LOCAL DATA
108 .EVEN
109 .ENDC
FILBN - FIND FILE AND RETURN LB MACRO M1113 14-APR-81 11:13 PAGE 21
INITIALIZE CONTROL BLOCKS
111 .SBTTL INITIALIZE CONTROL BLOCKS
112 ;+
113 ; *** - $FILBN - FIND FILE LBN FROM NAME, FILE ID, OR BLOCK NUMBER.
114 ; THE FILE NAME, FILE ID, OR BLOCK NUMBER IS PARSED FROM THE BUFFER
115 ; PASSED TO THIS SUBROUTINE. DEFAULTS FOR UNIT, FILENAME
116 ; EXTENTION AND VERSION ARE FROM THE DNB PASSED TO IT.
117 ; THIS ROUTINE DOES A PARSE/FIND FOR THE FILE AND THEN
118 ; A READ ATTRIBUTES TO GET THE LBN OF THE FIRST RECOND IN THE
119 ; FILE. ONLY CONTIGUOUS FILES MAY BE ACCESSED, OTHERS WILL
120 ; RETURN ERRORS. IF THE BLOCK NUMBER IS GIVEN EXPLICITLY,
121 ; THE USER MUST BE SURE THE FILE IS CONTIGUOUS.
122 ;
123 ;
124 ; FORMAT OF STRING INPUT:
125 ; DEV:[UIC]FILENAME.EXT;VERSION
126 ; DEV:/FI=ID:SEQ
127 ; DEV:/BL=LBN
128 ;
129 ; INPUT:
130 ; R0 - BUFFER ADDRESS
131 ; R5 - ADDRESS OF 6 WORD PARAMETER BLOCK
132 ; (R5) - ADDRESS OF FDB WITH STATISTICS BLOCK POINTER
133 ; 2(R5) - ADDRESS OF DEFAULT NAME BLOCK
134 ; 4(R5) - ADDRESS OF CSI CONTROL BLOCK
135 ; 6(R5) - TWO WORDS FOR RETURNING LBN
136 ; 12(R5) - UNREDIRECTED UCB ADDRESS (RSX-11M ONLY)
137 ; 14(R5) - FILE SIZE IN DISK BLOCKS
138 ;
139 ; OUTPUT:
140 ; CARRY CLEAR - GOT LBN
141 ; R0 - UPDATED BUFFER POINTER
142 ; R1 - =0 NOT CONTIGUOUS; <>0 CONTIGUOUS
143 ; R5 - UNCHANGED
144 ; CARRY SET - ERROR DETECTED
145 ; R0 - UNPREDICTABLE
146 ; R1 - ERROR CODE
147 ; -1 - SYNTAX ERROR
148 ; -2 - PARSE/FIND/READ ERROR
149 ; R5 - UNCHANGED
150 ;
151 ; ALL REGISTERS ARE USED INCLUDING R4.
152 ;
153 ;-
154 000054 005065 000006 $FILBN::CLR FILID(R5) ; ZERO FILE ID
155 000060 005065 000010 CLR FILID+2(R5) ;
156 000064 005067 177754 CLR KEYWD ; ZERO KEYWORD FLAG
157 000070 016504 000000 MOV FDB(R5),R4 ; GET FDB ADDRESS
158 000074 10$: CALL $GNBLK ; GET NEXT NON-BLANK CHARACTER
000074 004767 000000G JSR PC,$GNBLK
159 000100 103004 BCC 20$ ; GOT A CHARACTER
160 000102 005064 000000G CLR F.DSPT(R4) ; END OF LINE, NO LINE TO PARSE
161 000106 000167 000404 JMP 94$ ; SKIP ALL THAT CSI STUFF
162 .IF DF R$$20F
163 000112 20$:
164 .IFF
165 20$: TST R1 ; ANY BLANKS SEEN?
166 BEQ 10$ ; NO, LOOP
FILBN - FIND FILE AND RETURN LB MACRO M1113 14-APR-81 11:13 PAGE 21-1
INITIALIZE CONTROL BLOCKS
167 .ENDC ; .IF DF R$$20F
168 000112 016503 000004 MOV CSI(R5),R3 ; GET CSI CONTROL BLOCK ADDRESS
169 000116 005300 DEC R0 ; POINT TO FIRST CHARACTER
170 000120 010063 000004 MOV R0,C.CMLD+2(R3) ; SET BUFFER POINTER FOR CSI
171 000124 005004 CLR R4 ; ZERO LINE LENGTH
172 000126 40$: CALL $GNBLK ; GET NEXT NON-BLANK
000126 004767 000000G JSR PC,$GNBLK
173 000132 103407 BCS 55$ ; END OF LINE
174 000134 120227 000057 CMPB R2,#'/ ; IS IT SWITCH?
175 000140 001406 BEQ 60$ ; YES
176 000142 005204 50$: INC R4 ; INCREMENT LENGTH OF LINE
177 000144 005301 DEC R1 ; ANY BLANKS?
178 000146 001775 BEQ 50$ ; YES, INCLUDE THEM
179 000150 000766 BR 40$ ; NO, LOOP TILL END OF LINE
180 000152 005300 55$: DEC R0 ; POINT TO LINE TERMINATOR
181 000154 000507 BR 70$ ; SKIP
FILBN - FIND FILE AND RETURN LB MACRO M1113 14-APR-81 11:13 PAGE 22
PARSE /FI AND /BL
183 .SBTTL PARSE /FI AND /BL
184 ;
185 ; GET FILE ID, IF ANY
186 ;
187 000156 005300 60$: DEC R0 ; POINT TO "/"
188 000160 126027 000001 000106 CMPB 1(R0),#'F ; IS SWITCH /FI?
189 000166 001037 BNE 67$ ; NO
190 000170 126027 000002 000111 CMPB 2(R0),#'I ; MAYBE
191 000176 001076 BNE 70$ ; NO
192 000200 062700 000003 ADD #3,R0 ; YES, SKIP OVER IT THEN
193 000204 CALL $GNBLK ; GET NEXT NON-BLANK
000204 004767 000000G JSR PC,$GNBLK
194 000210 103424 BCS 65$ ; EOL, SYNTAX ERROR
195 000212 120227 000075 CMPB R2,#'= ; EQUALS?
196 000216 001021 BNE 65$ ; YES, ERROR
197 000220 CALL $GTNUM ; GET INDEX INTO INDEX FILE
000220 004767 000000G JSR PC,$GTNUM
198 000224 122702 000072 CMPB #':,R2 ; GOOD TERMINATOR?
199 000230 001014 BNE 65$ ; NO, SYNTAX ERROR
200 000232 010165 000006 MOV R1,FILID(R5) ; STORE IT
201 000236 001411 BEQ 65$ ; ZERO IS ILLEGAL, SYNTAX ERROR
202 000240 CALL $GTNUM ; GET FILE SEQUENCE NUMBER
000240 004767 000000G JSR PC,$GTNUM
203 000244 005300 DEC R0 ; BACK UP CHARACTER POINTER TO TERMINATOR
204 000246 052767 000001 177570 BIS #FIFND,KEYWD ; SET /FI= FOUND FLAG
205 000254 010165 000010 MOV R1,FILID+2(R5) ; STORE IT
206 000260 001045 BNE 70$ ; GOOD FILE ID
207 000262 000167 000556 65$: JMP FNDSYN ; ZERO IS ILLEGAL, SYNTAX ERROR
208 ;
209 ; GET LOGICAL BLOCK NUMBER IF /BL=LBN IS GIVEN
210 ;
211 000266 126027 000001 000102 67$: CMPB 1(R0),#'B ; IS THIS SWITCH /BL=?
212 000274 001037 BNE 70$ ; NO
213 000276 126027 000002 000114 CMPB 2(R0),#'L ; MAYBE
214 000304 001033 BNE 70$ ; DEFINATELY NOT
215 000306 062700 000003 ADD #3,R0 ; YES, SKIP OVER KEYWORD
216 000312 CALL $GNBLK ; GET NEXT NON-BLANK CHARACTER
000312 004767 000000G JSR PC,$GNBLK
217 000316 103761 BCS 65$ ; EOL IS SYNTAX ERROR
218 000320 120227 000075 CMPB R2,#'= ; IS IT EQUALS?
219 000324 001356 BNE 65$ ; NO, SYNTAX ERROR
220 000326 010501 MOV R5,R1 ; YES, POINT TO
221 000330 062701 000006 ADD #LBN,R1 ; AREA FOR LBN
222 000334 CALL .COT2B ; CONVERT FROM OCTAL TO BINARY
000334 004767 000000G JSR PC,.COT2B
223 000340 011102 MOV (R1),R2 ; SWAP HIGH
224 000342 016111 000002 MOV 2(R1),(R1) ; AND
225 000346 010261 000002 MOV R2,2(R1) ; LOW PARTS FOR PROPER ORDER
226 000352 005300 DEC R0 ; POINT BUFFER AT TERMINATOR
227 000354 051102 BIS (R1),R2 ; MERGE LBN BITS
228 000356 001741 BEQ 65$ ; ZERO IS AN ERROR
229 000360 105761 000001 TSTB 1(R1) ; IS LBN > 24. BITS?
230 000364 001336 BNE 65$ ; YES, ERROR
231 000366 052767 000002 177450 BIS #BLFND,KEYWD ; SET /BL= FOUND
FILBN - FIND FILE AND RETURN LB MACRO M1113 14-APR-81 11:13 PAGE 23
PARSE FILE NAME, FIND FILE
233 .SBTTL PARSE FILE NAME, FIND FILE
234 ;
235 ; CALL CSI IF NEEDED
236 ;
237 000374 016502 000000 70$: MOV FDB(R5),R2 ; GET FDB ADDRESS
238 000400 010463 000002 MOV R4,C.CMLD(R3) ; STORE STRING LENGTH
239 000404 001405 BEQ 80$ ; ZERO LENGTH STRING, SKIP CSI STUFF
240 000406 062703 000006 ADD #C.DSDS,R3 ; GET ADDRESS OF DATA SET DESCRIPTOR
241 000412 010362 000000G MOV R3,F.DSPT(R2) ; SET IT IN FDB
242 000416 000402 BR 90$ ;
243 000420 010004 80$: MOV R0,R4 ; SAVE BUFFER POINTER
244 000422 000435 BR 94$ ;
245 000424 010004 90$: MOV R0,R4 ; SAVE BUFFER POINTER
246 000426 016500 000004 MOV CSI(R5),R0 ; GET CSI BLOCK ADDRESS
247 000432 CALL .CSI1 ; CHECK SYNTAX OF LINE
000432 004767 000000G JSR PC,.CSI1
248 000436 103504 BCS 112$ ; SYNTAX ERROR
249 000440 CSI$2 R0,INPUT ; SCAN FOR INPUT FILES
000440 112710 000001 MOVB #CS.INP,(R0)
000444 004767 000000G JSR PC,.CSI2
250 000450 103704 BCS 65$ ; SYNTAX ERROR
251 000452 105760 000001 TSTB C.STAT(R0) ; FILE FOUND?
252 000456 001301 BNE 65$ ; YES, SYNTAX ERROR
253 000460 CSI$2 R0,OUTPUT ; SCAN FOR OUTPUT FILE
000460 112710 000002 MOVB #CS.OUT,(R0)
000464 004767 000000G JSR PC,.CSI2
254 000470 103674 BCS 65$ ; SYNTAX ERROR
255 000472 105760 000001 TSTB C.STAT(R0) ; ANY FILES FOUND?
256 000476 001671 BEQ 65$ ; NO, ERROR
257 000500 132760 000020 000001 BITB #CS.MOR,C.STAT(R0) ; MORE THAN ONE?
258 000506 001156 BNE FNDSYN ; YES, SYNTAX ERROR
259 .IF DF R$$11M
260 000510 016000 000010 MOV C.DEVD+2(R0),R0 ; POINT TO DEVICE STRING
261 000514 001002 BNE 95$ ; SKIP IF THERE IS ONE
262 000516 012700 000046' 94$: MOV #SY0,R0 ; OTHER WISE DEFAULT TO SY:
263 000522 012703 000026' 95$: MOV #FNDSTA,R3 ; POINT TO WORK AREA
264 000526 CALL $FDLOG ; PARSE DEVICE AND SEARCH FOR UCB ADDRESS
000526 004767 000000G JSR PC,$FDLOG
265 000532 103533 BCS FNDIDU ; ERROR
266 000534 010165 000012 MOV R1,UCB(R5) ; SAVE UCB ADDRESS
267 .ENDC
268 ;
269 ; FILE NAME IS PARSED, FILE ID IS PARSED
270 ; DO PARSE/FIND OF FILE TO GET UNIT, AND FILE ID
271 ;
272 000540 016500 000000 100$: MOV FDB(R5),R0 ; SET FDB ADDRESS
273 000544 010001 MOV R0,R1 ; COPY
274 000546 062701 000000G ADD #F.FNB,R1 ; SET FNB ADDRESS
275 000552 016002 000000G MOV F.DSPT(R0),R2 ; SET DATA SET POINTER
276 000556 016503 000002 MOV DNB(R5),R3 ; SET ADDRESS OF DEFAULT NAME BLOCK
277 000562 005063 000000G CLR N.DID(R3) ; ZERO DIRECTORY, SET TO
278 000566 005063 000002G CLR N.DID+2(R3) ; USE UFD
279 000572 032767 000003 177244 BIT #BLFND!FIFND,KEYWD ; IS THERE A FILE ID OR BLOCK NUMBER?
280 000600 001404 BEQ 110$ ; NO
281 000602 005363 000000G DEC N.DID(R3) ; YES, SET MFD
282 000606 005363 000002G DEC N.DID+2(R3) ;
283 000612 110$: CALL .PARSE ; SET FILE NAME IN FDB, ASSIGN LUN
FILBN - FIND FILE AND RETURN LB MACRO M1113 14-APR-81 11:13 PAGE 23-1
PARSE FILE NAME, FIND FILE
000612 004767 000000G JSR PC,.PARSE
284 000616 103015 BCC 115$ ; OKAY
285 000620 122760 000000G 000000G CMPB #IE.PRI,F.ERR(R0) ; PRIVILEDGE ERROR?
286 000626 001500 BEQ FNDMOU ; YES, DEVICE NOT MOUNTED
287 000630 022760 000000G 000000G CMP #IE.IDU,F.ERR(R0) ; ILLEGAL DEVICE UNIT?
288 000636 001471 BEQ FNDIDU ; YES, DEVICE NOT IN SYSTEM
289 000640 122760 000000G 000000G CMPB #IE.NSF,F.ERR(R0) ; NO SUCH FILE?
290 000646 001473 BEQ FNDOPN ; YES
291 000650 000475 112$: BR FNDSYN ; NO, SYNTAX ERROR
292 000652 032767 000002 177164 115$: BIT #BLFND,KEYWD ; /BL SEEN?
293 000660 001075 BNE FNDEXT ; YES, DONE THEN!
294 000662 032767 000001 177154 BIT #FIFND,KEYWD ; NO, /FI SEEN?
295 000670 001015 BNE 120$ ; YES, DON'T DO FIND
296 000672 CALL .FIND ; NO, GET FILE ID
000672 004767 000000G JSR PC,.FIND
297 000676 103457 BCS FNDOPN ; ERROR
298 000700 016065 000000G 000006 MOV F.FNB(R0),FILID(R5) ; MOVE FILE ID
299 000706 016065 000002G 000010 MOV F.FNB+2(R0),FILID+2(R5) ; TO PARAMETER AREA
300 000714 132760 000000G 000000G BITB #FD.REC,F.RCTL(R0) ; IS THIS A RECORD DEVICE?
301 000722 001054 BNE FNDEXT ; YES, SKIP READ ATTRIBUTES
302 ;
303 ; WE HAVE FILE ID, READ ATTRIBUTES INTO STATISTICS BLOCK
304 ;
305 000724 116067 000000G 177052 120$: MOVB F.LUN(R0),STBDPB+4 ; SET LOGICAL UNIT
306 .IF DF R$$11M
307 .IFF
308 MOV R5,R1 ; GET ADDRESS
309 ADD #FILID,R1 ; OF FILE ID
310 MOV R1,STBDPB+14 ; SET IT IN DPB
311 .IFT
312 000732 010167 177056 MOV R1,STBDPB+14 ; SET FNB ADDRESS
313 .ENDC
314 000736 DIR$ #STBDPB ; ISSUE READ ATTRIBUTE
000736 012746 000000' MOV #STBDPB,-(SP)
000742 104375 EMT 375
315 000744 103434 BCS FNDOPN ; ERROR IN DPB
316 000746 WTSE$S STBDPB+6 ; WAIT FOR IT
000746 016746 177034 MOV STBDPB+6,-(SP)
000752 012746 MOV (PC)+,-(SP)
000754 051 002 .BYTE 41.,2
000756 104375 EMT 375
317 000760 103426 BCS FNDOPN ; ERROR IN DPB
318 000762 005367 177040 DEC FNDSTA ; ANY ERRORS?
319 000766 001023 BNE FNDOPN ; YES
320 000770 016765 177036 000006 MOV FNDSTB,LBN(R5) ; SAVE HIGH LBN
321 000776 016701 177032 MOV FNDSTB+2,R1 ; GET LOW LBN
322 001002 010165 000010 MOV R1,LBN+2(R5) ; SAVE LOW LBN
323 001006 016765 177026 000014 MOV FNDSTB+6,FILSIZ(R5) ; GET FILE SIZE
324 001014 156701 177012 BISB FNDSTB,R1 ; COMBINE LBNS TO SEE IF CONTIGOUS
325 001020 000415 BR FNDEXT ;
FILBN - FIND FILE AND RETURN LB MACRO M1113 14-APR-81 11:13 PAGE 24
ERROR PROCESSING
327 .SBTTL ERROR PROCESSING
328 ;
329 ; ERRORS
330 ;
331 001022 012701 177774 FNDIDU: MOV #-4,R1 ; SET DEVICE NOT IN SYSTEM
332 001026 000410 BR FNDERR ;
333 001030 012701 177775 FNDMOU: MOV #-3,R1 ; SET DEVICE NOT MOUNTED ERROR
334 001034 000405 BR FNDERR ;
335 001036 012701 177776 FNDOPN: MOV #-2,R1 ; SET PARSE/FIND/READ ERROR
336 001042 000402 BR FNDERR ;
337 001044 012701 177777 FNDSYN: MOV #-1,R1 ; SET SYNTAX ERROR
338 001050 000261 FNDERR: SEC ; SET ERROR FLAG
339 001052 000402 BR FNDXIT ;
340
341
342 001054 010400 FNDEXT: MOV R4,R0 ; RESET BUFFER POINTER
343 001056 000241 CLC ;
344 001060 FNDXIT: RETURN ;
001060 000207 RTS PC
345 000001 .END
FILBN - FIND FILE AND RETURN LB MACRO M1113 14-APR-81 11:13 PAGE 24-1
SYMBOL TABLE
BLFND = 000002 CS.INP= 000001 DH..TI= 100000 FILSIZ= 000014 L2.ERE= 001000
BR0 = 000000 CS.MOR= 000020 DH.2SB= 000004 FNDATT 000020R L2.ERR= 100000
BR1 = 000040 CS.NMF= 000001 DLDADR= 175610 FNDERR 001050R L2.GER= 000001
BR2 = 000100 CS.OUT= 000002 DLDSIZ= 000010 FNDEXT 001054R L2.GO = 000001
BR3 = 000140 CS.WLD= 000010 DLRBUF= 000002 FNDIDU 001022R L2.INI= 000400
BR4 = 000200 CTICHR= 177562 DLRSTS= 000000 FNDMOU 001030R L2.INT= 004000
BR5 = 000240 CTILVL= 000004 DLXBUF= 000006 FNDOPN 001036R L2.LDP= 010000
BR6 = 000300 CTISTS= 177560 DLXSTS= 000004 FNDSTA 000026R L2.LPE= 000040
BR7 = 000340 CTIVEC= 000060 DL.BRK= 000001 FNDSTB 000032R L2.LVL= 000004
B.DM11= 170500 CTOCHR= 177566 DL.CAR= 010000 FNDSYN 001044R L2.MPE= 000020
B0 = 000001 CTOLVL= 000004 DL.CTS= 020000 FNDXIT 001060R L2.MST= 000004
B1 = 000002 CTOSTS= 177564 DL.DIE= 000040 FTASRT= 000001 L2.ONL= 004000
B10 = 002000 CTOVEC= 000064 DL.DSC= 100000 FTECHO= 000000 L2.OVF= 004000
B11 = 004000 C.CMLD= 000002 DL.DTR= 000002 FTETR = 000000 L2.PCM= 007777
B12 = 010000 C.DEVD= 000006 DL.ERR= 100000 FTGLOM= 000000 L2.PEN= 000002
B13 = 020000 C.DIRD= 000012 DL.LVL= 000004 FT.CHK= 000001 L2.PI = 000400
B14 = 040000 C.DSDS= 000006 DL.OVR= 040000 FT.DDT= 000000 L2.PNR= 020000
B15 = 100000 C.FILD= 000016 DL.RGO= 004000 FT.D75= 000000 L2.POL= 000200
B2 = 000004 C.MKW1= 000024 DL.RIE= 000100 FT.HLP= 000001 L2.PZE= 040000
B3 = 000010 C.MKW2= 000026 DL.RNG= 040000 F.DSPT= ****** GX L2.RDB= 007777
B4 = 000020 C.SIZE= 000054 DL.ROK= 000200 F.ERR = ****** GX L2.RPB= 010000
B5 = 000040 C.STAT= 000001 DL.RTS= 000004 F.FNB = ****** GX L2.RPE= 000010
B6 = 000100 C.SWAD= 000022 DL.XIE= 000100 F.LUN = ****** GX L2.SPR= 040000
B7 = 000200 C.TYPR= 000000 DL.XOK= 000200 F.RCTL= ****** GX L2.TB0= 000400
B8 = 000400 DGUTS = 000000 DL..FE= 020000 IE.IDU= ****** GX L2.TB1= 001000
B9 = 001000 DHBASE= 160020 DL..MM= 000004 IE.NSF= ****** GX L2.TB2= 002000
CD.CFD= 000001 DHRFER= 020000 DL..PE= 010000 IE.PRI= ****** GX L2.TM = 000004
CD.CHK= 040000 DHROVR= 040000 DL..RC= 000377 IO.RAT= ****** GX L2.TRN= 001000
CD.DAT= 177162 DH.AEE= 100000 DL..RE= 000001 KEYWD 000044R L2.UCD= 020000
CD.DTE= 004000 DH.BAR= 000012 DL..XC= 000377 KL.LVL= 000004 L2.VD = 100000
CD.DTL= 002000 DH.BCR= 000010 DL.2RC= 002000 KPAR0 = 172340 L2.VEC= 000754
CD.EOF= 020000 DH.BRK= 000014 DL.2XM= 000010 KW.INE= 000100 L20ADR= 000004
CD.ERR= 100000 DH.CAR= 000006 DMBASE= 170500 KW.TIC= 000200 L20BCT= 000006
CD.HEM= 000004 DH.CL5= 000000 DM.ALI= 000017 LBN = 000006 L20BUF= 000014
CD.INE= 000100 DH.CL6= 000001 DM.BSY= 000020 LP.DAT= 177516 L20CHK= 000017
CD.LVL= 000006 DH.CL7= 000002 DM.CAR= 000100 LP.DNE= 000200 L20COL= 000015
CD.NXM= 001000 DH.CL8= 000003 DM.CTS= 000040 LP.ERR= 100000 L20CRA= 000000
CD.OFL= 010000 DH.CNX= 000400 DM.DNE= 000200 LP.INE= 000100 L20CRB= 000002
CD.ONL= 000010 DH.DOV= 040000 DM.DTR= 000002 LP.LVL= 000004 L20PCT= 000010
CD.PAK= 000002 DH.LPR= 000004 DM.ENB= 000040 LP.STS= 177514 L20PDA= 000016
CD.PWR= 000400 DH.LVL= 000005 DM.IEN= 000100 LP.VEC= 000200 L20RAM= 000012
CD.RDY= 000200 DH.NRC= 000002 DM.INI= 002000 LP0DAT= 177516 L20STS= 175400
CD.STS= 177160 DH.NXM= 002000 DM.LE = 000001 LP0STS= 177514 L21STS= 175420
CD.VEC= 000230 DH.PEN= 000020 DM.LVL= 000004 LP1DAT= 177522 MM.SR0= 177572
CD0DAT= 177162 DH.RIE= 000100 DM.RNG= 000200 LP1STS= 177520 MP.ENB= 000001
CD0STS= 177160 DH.SIE= 010000 DM.RTS= 000004 L2.A16= 000020 MP.ERR= 100000
CI.INE= 000100 DH.SSR= 000016 DM.SCN= 004000 L2.A17= 000040 MP.LVL= 000007
CLKENB= 000100 DH.TIE= 020000 DM.SR = 000020 L2.BCM= 007777 MP.REG= 172100
CLKLVL= 000006 DH.VDP= 100000 DM.ST = 000010 L2.DB = 000377 MP.VEC= 000114
CLKVEC= 000100 DH..FE= 020000 DM.STP= 000400 L2.DEL= 002000 MP.WWP= 000004
CLKWRD= 177546 DH..HD= 040000 DM..MM= 001000 L2.DH = 002000 NXMVEC= 000004
CO.INE= 000100 DH..MC= 004000 DNB = 000002 L2.DL = 000010 N.DID = ****** GX
CO..MM= 000004 DH..MM= 001000 EFN = 000040 L2.DNR= 000100 OB0 = 000001
CSI = 000004 DH..OP= 000040 FDB = 000000 L2.DON= 000200 OB1 = 000002
CS.DIF= 000002 DH..PE= 010000 FD.REC= ****** GX L2.DR = 010000 OB10 = 000400
CS.DVF= 000004 DH..RI= 000200 FIFND = 000001 L2.DTE= 000002 OB11 = 001000
CS.EQU= 000040 DH..SI= 040000 FILID = 000006 L2.ENB= 000100 OB12 = 002000
FILBN - FIND FILE AND RETURN LB MACRO M1113 14-APR-81 11:13 PAGE 24-2
SYMBOL TABLE
OB13 = 004000 S..CNK= 000003 TC.RDY= 000200 TE.DG2= 000032 TS.IEN= 000001
OB14 = 010000 S..CTY= 000005 TC.REV= 004000 TE.DG3= 000036 TS.IFB= 100000
OB15 = 020000 S..DCP= 000013 TC.RMT= 000002 TE.DYC= 000000 TS.MPE= 001000
OB16 = 040000 S..DL1= 000002 TC.SAT= 000000 TE.EAD= 000022 TS.PEX= 100000
OB17 = 100000 S..DTE= 000002 TC.SST= 000010 TE.EBC= 000016 TS.POF= 004000
OB2 = 000004 S..ILS= 000004 TC.STS= 177340 TE.EDT= 000026 TS.RES= 004000
OB3 = 000010 S..KW1= 000007 TC.UPS= 000200 TE.LVL= 000006 TS.RM = 000010
OB4 = 000020 S..MEM= 000006 TC.US0= 000000 TE.NNN= 000004 TS.RST= 000100
OB5 = 000040 S..NCN= 000010 TC.US1= 000400 TE.STW= 000034 TS.TBM= 000001
OB6 = 000100 S..NXM= 000001 TC.US2= 001000 TE.VEC= 000774 TS.XDN= 000004
OB7 = 000200 TC.A16= 000020 TC.US3= 001400 TE.XAD= 000020 TS.XEC= 010000
PAR$$$= 000000 TC.A17= 000040 TC.US4= 002000 TE.XA1= 000010 TS.XEE= 004000
PASS = 000002 TC.BAR= 177346 TC.US5= 002400 TE.XA2= 000012 TS.XER= 020000
PDP11 = 000040 TC.CLK= 000100 TC.US6= 003000 TE.XBC= 000014 TS.XNT= 100000
Q.IOAE= 000012 TC.CMD= 177342 TC.US7= 003400 TE.XDT= 000024 TS.XTS= 040000
Q.IOEF= 000006 TC.DAT= 177350 TC.VEC= 000214 TE.XW1= 000006 TS.ZST= 040000
Q.IOFN= 000002 TC.DT0= 000020 TC.WCR= 177344 TE.XW2= 000004 UCB = 000012
Q.IOLU= 000004 TC.DT1= 000010 TC.WRA= 000016 TE.XW3= 000002 VRS = 000022
Q.IOPL= 000014 TC.DT2= 000004 TC.WTM= 000012 TRPVEC= 000034 $FDLOG= ****** GX
Q.IOPR= 000007 TC.D16= 000001 TC..BM= 002000 TS.CET= 000001 $FILBN 000054RG
Q.IOSB= 000010 TC.D17= 000002 TC..DI= 010000 TS.DEI= 000010 $GNBLK= ****** GX
RD.LVL= 000004 TC.ERR= 100000 TC..DM= 001000 TS.DEP= 010000 $GTNUM= ****** GX
R$$11M= 000001 TC.ILO= 010000 TC..EZ= 100000 TS.EBM= 020000 $$ = 000067
R$$20F= 000001 TC.INE= 000100 TC..MM= 020000 TS.EEE= 000040 $$$ARG= 000010
STBDPB 000000R TC.LVL= 000006 TC..RD= 000004 TS.EET= 000002 $$$OST= 000014
STKLEN= 000200 TC.MMT= 000040 TC..SE= 004000 TS.EEX= 000400 .COT2B= ****** GX
SY0 000046R TC.MTE= 020000 TC..WR= 000014 TS.EIS= 002000 .CSI1 = ****** GX
S..AMC= 000000 TC.NXM= 000400 TE.BAS= 174400 TS.ENT= 000100 .CSI2 = ****** G
S..BDT= 000011 TC.PAR= 040000 TE.BNX= 000040 TS.EPE= 000020 .FIND = ****** GX
S..CHK= 000012 TC.RDA= 000006 TE.DG1= 000030 TS.ETD= 000200 .PARSE= ****** GX
. ABS. 000000 000
001062 001
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 4781 WORDS ( 19 PAGES)
DYNAMIC MEMORY: 5686 WORDS ( 21 PAGES)
ELAPSED TIME: 00:00:26
[52,10]FILBN,[52,20]FILBN/-SP/CR=[52,30]RSXDC,FILBN
FILBN CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
BLFND = 000002 #19-56 22-231 23-279 23-292
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
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
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
FILBN CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
CI.INE = 000100 #5-203
CLKENB = 000100 #10-365
CLKLVL = 000006 #10-356
CLKVEC = 000100 #10-360
CLKWRD = 177546 #10-362
CO.INE = 000100 #5-207
CO..MM = 000004 #5-208
CSI = 000004 #19-47 21-168 23-246
CS.INP = 000001 23-249
CS.MOR = 000020 23-257
CS.OUT = 000002 23-253
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
C.CMLD = 000002 *21-170 *23-238
C.DEVD = 000006 23-260
C.DSDS = 000006 23-240
C.SIZE = 000054 23-249 23-253
C.STAT = 000001 23-251 23-255 23-257
DGUTS = 000000 1-45 1-46
DHBASE = 160020 #6-211
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
FILBN CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 3
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
FILBN CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 4
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
DNB = 000002 #19-46 23-276
EFN = 000040 #19-39 20-79
FDB = 000000 #19-45 21-157 23-237 23-272
FD.REC = ****** GX 23-300
FIFND = 000001 #19-55 22-204 23-279 23-294
FILID = 000006 #19-48 *21-154 *21-155 *22-200 *22-205 *23-298 *23-299
FILSIZ = 000014 #19-51 *23-323
FNDATT 000020 R 20-79 #20-81
FNDERR 001050 R 24-332 24-334 24-336 #24-338
FNDEXT 001054 R 23-293 23-301 23-325 #24-342
FNDIDU 001022 R 23-265 23-288 #24-331
FNDMOU 001030 R 23-286 #24-333
FNDOPN 001036 R 23-290 23-297 23-315 23-317 23-319 #24-335
FNDSTA 000026 R 20-79 #20-89 23-263 *23-318
FNDSTB 000032 R 20-82 #20-94 23-320 23-321 23-323 23-324
FNDSYN 001044 R 22-207 23-258 23-291 #24-337
FNDXIT 001060 R 24-339 #24-344
FTASRT = 000001 1-64
FTECHO = 000000 1-61
FTETR = 000000 1-60
FTGLOM = 000000 1-54
FT.CHK = 000001 1-63
FT.DDT = 000000 1-59
FT.D75 = 000000 10-354 10-355
FT.HLP = 000001 1-53
F.DSPT = ****** GX *21-160 *23-241 23-275
F.ERR = ****** GX 23-285 23-287 23-289
F.FNB = ****** GX 23-274 23-298 23-299
F.LUN = ****** GX 23-305
F.RCTL = ****** GX 23-300
IE.IDU = ****** GX 23-287
IE.NSF = ****** GX 23-289
IE.PRI = ****** GX 23-285
IO.RAT = ****** GX 20-79
KEYWD 000044 R #20-99 *21-156 *22-204 *22-231 23-279 23-292 23-294
KL.LVL = 000004 #7-257
KPAR0 = 172340 #1-28
FILBN CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 5
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
KW.INE = 000100 #10-364
KW.TIC = 000200 #10-366
LBN = 000006 #19-49 22-221 *23-320 *23-322
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
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
FILBN CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 6
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
NXMVEC = 000004 #1-30
N.DID = ****** GX *23-277 *23-278 *23-281 *23-282
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
PAR$$$ = 000000 #23-249 23-249 #23-253 23-253
PASS = 000002 1-84 1-85 #1-85
PDP11 = 000040 1-68
Q.IOAE = 000012 #20-79
Q.IOEF = 000006 #20-79
Q.IOFN = 000002 #20-79
Q.IOLU = 000004 #20-79
Q.IOPL = 000014 #20-79
Q.IOPR = 000007 #20-79
Q.IOSB = 000010 #20-79
FILBN CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 7
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
RD.LVL = 000004 #7-256 7-257
R$$11M = 000001 #1-27 20-68 20-106 23-259 23-306
R$$20F = 000001 #1-26 21-162
STBDPB 000000 R #20-79 *23-305 *23-312 23-314 23-316
STKLEN = 000200 1-62
SY0 000046 R #20-107 23-262
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
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
FILBN CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 8
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
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
FILBN CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 9
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
UCB = 000012 #19-50 *23-266
VRS = 000022 #1-38
$FDLOG = ****** GX 23-264 23-264
$FILBN 000054 RG #21-154
$GNBLK = ****** GX 21-158 21-158 21-172 21-172 22-193 22-193 22-216 22-216
$GTNUM = ****** GX 22-197 22-197 22-202 22-202
$$ = 000067 #21-158 21-158 #21-172 21-172 #22-193 22-193 #22-197 22-197 #22-202
22-202 #22-216 22-216 #22-222 22-222 #23-247 23-247 #23-264 23-264
#23-283 23-283 #23-296 23-296
$$$ARG = 000010 #20-79 20-79 #20-79 20-79 #20-79 20-79
$$$GLB = ****** 20-79 20-79 20-79 20-79 20-79 20-79 20-79 20-79
$$$OST = 000014 #20-79 20-79 20-79 #20-79 20-79 20-79 #20-79 20-79 20-79
#20-79 20-79 20-79 #20-79 20-79 20-79 #20-79 20-79 20-79
#20-79 20-79
.COT2B = ****** GX 22-222 22-222
.CSI1 = ****** GX 23-247 23-247
.CSI2 = ****** G 23-249 23-249 23-253 23-253
.FIND = ****** GX 23-296 23-296
.PARSE = ****** GX 23-283 23-283
FILBN CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 10
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
CALL #1-23 #19-33 21-158 21-172 22-193 22-197 22-202 22-216 22-222 23-247
23-264 23-283 23-296
CSI$ #19-33 #23-249 #23-253
CSI$2 #19-33 #23-249 #23-253
DIR$ #19-33 23-314 #23-316 23-316
ERR$ #23-314 #23-316
LDR0$ #23-249 23-249 #23-253 23-253
MOV$ #23-316 23-316
ND #17-593
OFF$ #20-79 #20-79 #20-79 #20-79 #20-79 #20-79 #20-79 #20-79 #20-79
QDPB$ #20-79 20-79
QIO$ #19-33 #20-79
RETURN #1-23 #19-33 24-344
STOPCD #2-107
WTSE$S #19-33 #23-316
.CKTTS #17-597
GTCML - GET COMMAND LINE WITH C MACRO M1113 14-APR-81 11:15 PAGE 3
1 .TITLE GTCML - GET COMMAND LINE WITH CONTINUATIONS
2
3 .IDENT "V0004"
4
5 ; COPYRIGHT (C) 1975, 1978 BY
6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
7 ;
8 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
9 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
10 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
11 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
12 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
13 ;
14 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
15 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
16 ; CORPORATION.
17 ;
18 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
19 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
20 ;
21 ;
22 ; ANDREW C. GOLDSTEIN 23 JAN 75 19:57
23
24 ;
25 ; THIS ROUTINE ACCEPTS A COMMAND LINE WITH CONTINUATIONS FOR THE FILES
26 ; MCR FUNCTIONS. IT FIRST GETS THE MCR COMMAND LINE. IF THERE IS NONE,
27 ; OR IF CONTINUATIONS ARE CALLED FOR, IT PROMPTS AND READS INPUT FROM
28 ; THE TASK'S LUN #1, WHICH IS HOPEFULLY ASSIGNED TO TI. ALL ERROR
29 ; HANDLING IS DONE INTERNALLY.
30 ;
31
32 000001 LUN = 1 ; LUN FOR CONSOLE I/O
33 000001 EFN = 1 ; LIKEWISE EFN
34
35 000015 CR = 15 ; CARRIAGE RETURN CHAR
36
37 .MCALL QIOW$,QIOW$S,GMCR$,DIR$,CALL,RETURN,EXIT$S
38 ;
39 ; BUFFER TO BUILD COMMAND LINE
40 ;
41 000376 BUFSIZ = 256.-2.
42
43 000000 BUFFER: GMCR$
44 000122 .BLKB BUFSIZ+BUFFER+G.MCRB-.
45 ;
46 ; QIO TO OUTPUT PROMPT TO TERMINAL
47 ;
48 000400 PROMPT: QIOW$ IO.WVB,LUN,EFN,,IOSTAT,,<,,<'$>>
49
50 000422 IOSTAT: .BLKW 2 ; I/O STATUS BLOCK
51 ;
52 ; ERROR MESSAGES FOR VARIOUS FORMS OF LOSSAGE
53 ;
54 000426 015 130 130 IOERRM: .ASCII <CR>"XXX -- COMMAND I/O ERROR"
000431 130 040 055
000434 055 040 103
000437 117 115 115
GTCML - GET COMMAND LINE WITH C MACRO M1113 14-APR-81 11:15 PAGE 3-1
000442 101 116 104
000445 040 111 057
000450 117 040 105
000453 122 122 117
000456 122
55 000031 IOERRL = .-IOERRM
56
57 000457 015 130 130 OVERM: .ASCII <CR>"XXX -- COMMAND TOO LONG"
000462 130 040 055
000465 055 040 103
000470 117 115 115
000473 101 116 104
000476 040 124 117
000501 117 040 114
000504 117 116 107
58 000030 OVERL = .-OVERM
59
60 .EVEN
GTCML - GET COMMAND LINE WITH C MACRO M1113 14-APR-81 11:15 PAGE 4
62 ;+
63 ;
64 ; *** - .GTCML - GET COMMAND LINE WITH CONTINUATION
65 ;
66 ; THIS ROUTINE OBTAINS A COMMAND LINE FROM THE MCR COMMAND LINE
67 ; BUFFER OR FROM THE CONSOLE TERMINAL. A TRAILING HYPHEN (-)
68 ; CAUSES CONTINUATION: THE ROUTINE PROMPTS AND ACCEPTS ANOTHER
69 ; LINE FROM THE CONSOLE TERMINAL.
70 ;
71 ; INPUTS:
72 ;
73 ; R3 = LENGTH OF PROMPT STRING
74 ; R4 = ADDRESS OF PROMPT STRING
75 ;
76 ; OUTPUTS:
77 ;
78 ; R3 = LENGTH OF COMMAND STRING
79 ; R4 = ADDRESS OF COMMAND STRING
80 ; R0-R2 ARE GARBAGED
81 ;
82 ;-
83
84 .ENABL LSB
85
86 000510 .GTCML::
87 000510 010467 177700 MOV R4,PROMPT+Q.IOPL ; SET UP PROMPT STRING
88 000514 010367 177676 MOV R3,PROMPT+Q.IOPL+2 ; IN QIO DPB
89 000520 012701 000376 MOV #BUFSIZ,R1 ; AND MAXIMUM BYTE COUNT
90 000524 DIR$ #BUFFER ; TRY FOR MCR COMMAND BUFFER
91 000532 103421 BCS 30$ ; BRANCH IF NONE
92 000534 013703 000000G MOV @#$DSW,R3 ; PICK UP THE BYTE COUNT
93 000540 001416 BEQ 30$ ; BRANCH IF NULL
94 000542 160301 SUB R3,R1 ; COMPUTE SPACE LEFT
95 000544 012704 000002' MOV #BUFFER+G.MCRB,R4 ; POINT TO START OF ACTUAL COMMAND LINE
96 000550 10$: CALL SPTEST ; SEARCH FOR THE FIRST SPACE
97 000554 103003 BCC 20$
98 000556 005204 INC R4 ; TRY NEXT CHARACTER
99 000560 077305 SOB R3,10$
100 000562 000405 BR 30$ ; NO SPACES - THROW COMMAND LINE AWAY
101
102 000564 20$: CALL SPTEST ; NOW LOOK FOR FIRST REAL COMMAND CHAR
103 000570 103411 BCS 40$
104 000572 005204 INC R4 ; TRY THE NEXT
105 000574 077305 SOB R3,20$
106 ;
107 ; THERE IS NO MCR COMMAND LINE, EITHER BECAUSE THE DIRECTIVE FAILED
108 ; OR THERE WAS NO USEFUL INFORMATION IN IT. SET UP TO GET COMMAND
109 ; FROM THE TERMINAL.
110 ;
111 000576 012704 000002' 30$: MOV #BUFFER+G.MCRB,R4 ; RE-INIT POINTER
112 000602 005003 CLR R3
113 000604 012701 000376 MOV #BUFSIZ,R1 ; R1 = SPACE AVAILABLE
114 000610 010400 MOV R4,R0 ; R0 = ADDRESS FOR INPUT
115 000612 000411 BR 60$
116 ;
117 ; WE HAVE A GOOD MCR COMMAND LINE. UPDATE VARIOUS REGISTERS.
118 ;
GTCML - GET COMMAND LINE WITH C MACRO M1113 14-APR-81 11:15 PAGE 4-1
119 000614 010400 40$: MOV R4,R0 ; POINT TO END OF DATA
120 000616 060300 ADD R3,R0
121 ;
122 ; WE HAVE A COMMAND LINE FROM SOMEWHERE. LOOK FOR CONTINUATION.
123 ;
124 000620 126027 177777 000055 50$: CMPB -1(R0),#'- ; CONTINUATION CHARACTER IS A "-"
125 000626 001051 BNE EOL ; NO - ALL DONE
126 000630 005300 DEC R0 ; YES - THROW IT AWAY
127 000632 005201 INC R1
128 000634 005303 DEC R3 ; ADJUST THE CHARACTER COUNT
129 ;
130 ; READ AN INPUT LINE FROM THE TERMINAL.
131 ;
132 000636 60$: DIR$ #PROMPT ; OUTPUT THE PROMPT STRING
133 000644 103444 BCS IOERR ; CHECK FOR DIRECTIVE ERROR
134 000646 105767 177550 TSTB IOSTAT ; AND FOR I/O ERROR
135 000652 002441 BLT IOERR
136 000654 QIOW$S #IO.RVB,#LUN,#EFN,,#IOSTAT,,<R0,R1,<#' >>
137 000716 103417 BCS IOERR ; DIRECTIVE ERROR
138 000720 105767 177476 TSTB IOSTAT
139 000724 002414 BLT IOERR ; I/O ERROR
140 000726 105767 177471 TSTB IOSTAT+1 ; CHECK FOR A TERMINATED LINE
141 000732 001422 BEQ OVER ; NO - BUFFER HAS OVERFLOWED
142 000734 016702 177464 MOV IOSTAT+2,R2 ; GET THE BYTE COUNT
143 000740 001736 BEQ 60$ ; IGNORE NULL LINES
144 000742 160201 SUB R2,R1 ; ADJUST THE REMAINING SPACE COUNT
145 000744 060203 ADD R2,R3 ; ACCUMULATE BYTE COUNT
146 000746 060200 ADD R2,R0 ; POINT TO NEW END OF DATA
147 000750 000723 BR 50$ ; AND LOOK FOR CONTINUATION AGAIN
148 ;
149 ; END OF LINE
150 ;
151 000752 105010 EOL: CLRB (R0) ; THROW IN A TERMINATING NULL
152 000754 RETURN
153 ;
154 ; TO HERE ON I/O ERROR
155 ;
156 000756 126727 177440 000000G IOERR: CMPB IOSTAT,#IE.EOF ; LOOK FOR CONTROL Z
157 000764 001441 BEQ 90$ ; YES - JUST GET OUT QUIETLY
158 000766 012700 000426' MOV #IOERRM,R0 ; SET UP MESSAGE POINTER
159 000772 012701 000031 MOV #IOERRL,R1 ; AND BYTE COUNT
160 000776 000404 BR 70$
161 ;
162 ; TO HERE IF THE INPUT BUFFER OVERFLOWS
163 ;
164 001000 012700 000457' OVER: MOV #OVERM,R0
165 001004 012701 000030 MOV #OVERL,R1
166 001010 010002 70$: MOV R0,R2
167 001012 005202 INC R2
168 001014 012703 000003 MOV #3,R3 ; COUNT 3 BYTES OF THE PROMPT STRING
169 001020 016704 177370 MOV PROMPT+Q.IOPL,R4 ; POINT TO PROMPT STRING
170 001024 112422 80$: MOVB (R4)+,(R2)+ ; COPY PROMPT INTO ERROR MESSAGE
171 001026 077302 SOB R3,80$
172 001030 QIOW$S #IO.WVB,#LUN,#EFN,,,,<R0,R1,<#' >>
173 001070 90$: EXIT$S ; DON'T GO AWAY MAD, JUST GO AWAY....
174
175 ;
GTCML - GET COMMAND LINE WITH C MACRO M1113 14-APR-81 11:15 PAGE 4-2
176 ; SUBROUTINE TO CHECK FOR BLANKS OR TABS. R4 POINTS TO CHARACTER
177 ; BEING TESTED. CARRY CLEAR MEANS BLANK OR TAB.
178 ;
179 001076 121427 000040 SPTEST: CMPB (R4),#40 ; BLANK?
180 001102 001405 BEQ 100$ ; YES
181 001104 121427 000011 CMPB (R4),#11 ; TAB?
182 001110 001402 BEQ 100$ ; YES
183 001112 000261 SEC ; NEITHER
184 001114 RETURN
185 001116 000241 100$: CLC
186 001120 RETURN
187
188 .DSABL LSB
189
190
191
192 000001 .END
GTCML - GET COMMAND LINE WITH C MACRO M1113 14-APR-81 11:15 PAGE 4-3
SYMBOL TABLE
BUFFER 000000R G.MCRB= 000002 LUN = 000001 Q.IOFN= 000002 SPTEST 001076R
BUFSIZ= 000376 IE.EOF= ****** GX M$$HDR= 000001 Q.IOLU= 000004 $DSW = ****** GX
CR = 000015 IOERR 000756R OVER 001000R Q.IOPL= 000014 $$ = 000067
EFN = 000001 IOERRL= 000031 OVERL = 000030 Q.IOPR= 000007 $$$ARG= 000003
EOL 000752R IOERRM 000426R OVERM 000457R Q.IOSB= 000010 $$$OST= 000014
E$$MSG= 000001 IOSTAT 000422R PROMPT 000400R R$$10F= 000001 $$$T1 = 000011
E$$TRP= 000001 IO.RVB= ****** GX Q.IOAE= 000012 R$$11D= 000001 .GTCML 000510RG
F$$LVL= 000001 IO.WVB= ****** GX Q.IOEF= 000006 R$$20F= 000001
. ABS. 000000 000
001122 001
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 1904 WORDS ( 8 PAGES)
DYNAMIC MEMORY: 2518 WORDS ( 9 PAGES)
ELAPSED TIME: 00:00:16
[53,10]GTCML,[53,20]GTCML/-SP/CR=[53,30]RSXDC,GTCML
GTCML CREATED BY MACRO ON 14-APR-81 AT 11:15 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
BUFFER 000000 R #3-43 3-44 4-90 4-95 4-111
BUFSIZ = 000376 #3-41 3-44 4-89 4-113
CR = 000015 #3-35 3-54 3-57
EFN = 000001 #3-33 3-48 4-136 4-172
EOL 000752 R 4-125 #4-151
E$$MSG = 000001 #1-33
E$$TRP = 000001 #1-32
F$$LVL = 000001 #1-28
G.MCRB = 000002 #3-43 3-44 4-95 4-111
IE.EOF = ****** GX 4-156
IOERR 000756 R 4-133 4-135 4-137 4-139 #4-156
IOERRL = 000031 #3-55 4-159
IOERRM 000426 R #3-54 3-55 4-158
IOSTAT 000422 R 3-48 #3-50 4-134 4-136 4-138 4-140 4-142 4-156
IO.RVB = ****** GX 4-136
IO.WVB = ****** GX 3-48 4-172
LUN = 000001 #3-32 3-48 4-136 4-172
M$$HDR = 000001 #1-34
OVER 001000 R 4-141 #4-164
OVERL = 000030 #3-58 4-165
OVERM 000457 R #3-57 3-58 4-164
PROMPT 000400 R #3-48 *4-87 *4-88 4-132 4-169
Q.IOAE = 000012 #3-48
Q.IOEF = 000006 #3-48
Q.IOFN = 000002 #3-48
Q.IOLU = 000004 #3-48
Q.IOPL = 000014 #3-48 *4-87 *4-88 4-169
Q.IOPR = 000007 #3-48
Q.IOSB = 000010 #3-48
R$$10F = 000001 #1-30
R$$11D = 000001 #1-29
R$$20F = 000001 #1-31
SPTEST 001076 R 4-96 4-96 4-102 4-102 #4-179
S$$YDF = ****** 1-1 1-37
$DSW = ****** GX 4-92
$$ = 000067 #4-96 4-96 #4-102 4-102
$$$ARG = 000003 #3-48 3-48 #3-48 3-48 #3-48 3-48 #3-48 3-48 #4-136
4-136 4-136 4-136 4-136 4-136 4-136 4-136 4-136 4-136
4-136 4-136 #4-172 4-172 4-172 4-172 4-172 4-172 4-172
4-172 4-172 4-172 4-172 4-172
$$$GLB = ****** 3-43 3-43 3-48 3-48 3-48 3-48 3-48 3-48 3-48
3-48
$$$OST = 000014 #3-43 3-43 3-43 #3-43 #3-48 3-48 3-48 #3-48 3-48
3-48 #3-48 3-48 3-48 #3-48 3-48 3-48 #3-48 3-48
3-48 #3-48 3-48 3-48 #3-48 3-48
$$$T1 = 000011 #4-136 4-136 #4-172 4-172
.GTCML 000510 RG #4-86
GTCML CREATED BY MACRO ON 14-APR-81 AT 11:15 PAGE 2
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
CALL #3-37 #4-96 #4-102
DIR$ #3-37 #4-90 #4-132 #4-136 #4-136 #4-172 #4-172 #4-173 #4-173
ERR$ #4-90 #4-132 #4-136 #4-172 #4-173
EXIT$S #3-37 #4-173
GMCR$ #3-37 3-43
MOV$ #4-136 #4-136 #4-136 #4-136 #4-136 #4-136 #4-136 #4-136 #4-136 #4-172
#4-172 #4-172 #4-172 #4-172 #4-172 #4-172 #4-172 #4-172
MVB$ #4-136 #4-136 #4-172 #4-172
OFF$ #3-43 3-43 3-43 #3-48 3-48 3-48 3-48 3-48 3-48 3-48
3-48 3-48
QDPB$ #3-48 #3-48
QDPB$S #4-136 #4-136 #4-172 #4-172
QIOW$ #3-37 3-48
QIOW$S #3-37 #4-136 #4-172
RETURN #3-37 #4-152 #4-184 #4-186
RVP$ #4-136 4-136 #4-172 4-172
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13
TABLE OF CONTENTS
20- 45 EQUATED SYMBOLS
21- 115 LOCAL DATA
22- 249 DF DRIVER
23- 290 DK DRIVER
24- 343 DP DRIVER
25- 388 DEC-TAPE DRIVER
26- 458 DS DRIVER
27- 507 RP04 DRIVER
28- 565 RX01 DRIVER
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 17
DTE20 HARDWARE BITS
700 .LIST MEB
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 19
DTE20 HARDWARE BITS
1 .TITLE SPCDRV - RSX11M SAVE + BOOT DEVICE DRIVERS
2 .IDENT "02"
3 ;
4 ;
5 ; COPYRIGHT (C) 1974, 1978 BY
6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
7 ;
8 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
9 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
10 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
11 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
12 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
13 ;
14 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
15 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
16 ; CORPORATION.
17 ;
18 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
19 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
20 ;
21
22
23 ;
24 ; VERSION: 02
25 ; BY: H.LEV
26 ; DATE: 12/2/74
27 ; MODIFIED: 8/6/74 BRAKE SAVE INTO SEPARATE SOURCE MODULES
28 ; 3/4/75 FIX DECTAPE DRIVER
29 ; 3/18/75 ADD RX01 FLOPPY DISK SUPPORT
30 ; 4/11/75 CHANGE TO USE FOR BOTH SAVE + BOOT
31 ;
32
33 ;
34 ; THIS MODULE CONTAINS THE DEVICE DRIVERS FOR ALL RSX11M
35 ; SYSTEM RESIDENCE DEVICES.
36 ;
37
38
39 .IF DF R$$20F
40 .IFF
41 .MCALL HWDDF$
42 HWDDF$
43 .ENDC
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 20
EQUATED SYMBOLS
45 .SBTTL EQUATED SYMBOLS
46 ;
47 ; RF DISK CONTROLLER REGISTERS
48 ;
49 000000 RFDCS = 0 ; DEVICE CONTROL AND STATUS
50 000002 RFWC = 2 ; WORD COUNT
51 000004 RFCMA = 4 ; CURRENT MEMORY ADDRESS
52 000006 RFDAR = 6 ; DISK ADDRESS
53 000010 RFDAE = 10 ; DISK ADDRESS EXTENSION AND ERROR
54
55 ;
56 ; RK DISK CONTROLLER REGISTERS
57 ;
58 177774 RKDS = -4 ; DRIVE STATUS
59 177776 RKER = -2 ; ERROR
60 000000 RKCS = 0 ; CONTROL STATUS
61 000002 RKWC = 2 ; WORD COUNT
62 000004 RKBA = 4 ; BUFFER ADDRESS
63 000006 RKDA = 6 ; DISK ADDRESS
64
65 ;
66 ; RP DISK CONTROLLER REGISTERS
67 ;
68 177774 RPDS = -4 ; DEVICE STATUS
69 177776 RPER = -2 ; ERROR
70 000000 RPCS = 0 ; CONTROL STATUS
71 000002 RPWC = 2 ; WORD COUNT
72 000004 RPBA = 4 ; BUFFER ADDRESS
73 000006 RPCA = 6 ; CYLINDER ADDRESS
74 000010 RPDA = 10 ; DISK ADDRESS
75
76 ;
77 ; DECTAPE CONTROLLER REGISTERS
78 ;
79 177776 TCST = -2 ; CONTROL AND STATUS
80 000000 TCCM = 0 ; COMMAND
81 000002 TCWC = 2 ; WORD COUNT
82 000004 TCBA = 4 ; BUFFER ADDRESS
83 000006 TCDT = 6 ; DATA REGISTER
84
85
86 ;
87 ; RS03/RS04 FIXED HEAD DISK CONTROLLER REGISTERS
88 ;
89 000000 RSCS1 = 0 ; CONTROL STATUS 1
90 000002 RSWC = 2 ; WORD COUNT
91 000004 RSBA = 4 ; BUFFER ADDRESS
92 000006 RSDA = 6 ; DISK ADDRESS
93 000010 RSCS2 = 10 ; CONTROL AND STATUS 2
94 000012 RSDS = 12 ; DRIVE STATUS
95 000014 RSER = 14 ; ERROR
96 000016 RSAS = 16 ; ATTENTION SUMMARY
97 000026 RSDT = 26 ; DRIVE TYPE
98
99
100 ;
101 ; RP04 DISK PACK DRIVER
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 20-1
EQUATED SYMBOLS
102 ;
103 000000 RJPCS1 = 0 ; OFFSET TO CONTROL / STATUS 1
104 000002 RJPWC = 2 ; WORD COUNT
105 000004 RJPBA = 4 ; BUFFER ADDRESS
106 000006 RJPDA = 6 ; DISK TRACK/SECTOR ADDRESS
107 000010 RJPCS2 = 10 ; CONTROL/STATUS 2
108 000012 RJPDS = 12 ; DRIVE STATUS
109 000014 RJPER1 = 14 ; ERROR 1
110 000032 RJPOF = 32 ; OFFSET
111 000034 RJPDC = 34 ; CYLINDER ADDRESS
112
113 000004 BLKLEN = 4. ; BLOCKS TO READ TO GET 1024. WORDS
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 21
LOCAL DATA
115 .SBTTL LOCAL DATA
116 ;
117 ; DEVICE AND DRIVER TABLES
118 ; FORMAT:
119 ; WORD 1 - DEVICE MNEMONIC IN ASCII
120 ; WORD 2 - DRIVER SET UP ROUTINE ADDRESS
121 ; WORD 3 - LOAD LENGTH STORAGE AREA
122 ; WORD 4 - BUFFER ADDRESS FOR I/O
123 ; WORD 5 - FUNCTION CODE STORAGE AREA
124 ; WORD 6 - DRIVER ADDRESS
125 ; WORD 7 - DRIVER LENGTH IN WORDS
126 ; WORD 8 - WRITE FUNCTION CODE
127 ; WORD 9 - READ FUNCTION CODE
128 ; WORD 10 - UNIT SELECTION
129 ; WORD 11 - UNIT SELECTION REGISTER ADDRESS
130 ; WORD 12 - ADDRESS OF CSR ADDRESS SAVE AREA
131 ; WORD 13 - ADDRESS OF CSR (RSX-20F ONLY)
132 ;
133 000000 104 106 $DVDRV::.ASCII /DF/ ; 0 FIXED RF DISK
134 000002 000000G .WORD $SETDF ; 2
135 000004 000270' .WORD DFLLEN ; 4
136 000006 000304' .WORD DFSA ; 6
137 000010 000364' .WORD DFFUN ; 10
138 000012 000266' .WORD $DFDRV ; 12
139 000014 000055 .WORD <DFEND-$DFDRV>/2 ; 14
140 000016 000003 .WORD 3 ; 16
141 000020 000005 .WORD 5 ; 20
142 000022 000000 .WORD 0 ; 22
143 000024 000364' .WORD DFFUN ; 24
144 000026 000274' .WORD DFCSR ;
145 .IF DF R$$20F
146 000030 000000 .WORD 0
147 .ENDC
148
149 000032 104 113 .ASCII /DK/ ; DISK CARTRIDGE DRIVE RK
150 000034 000000G .WORD $SETDK ;
151 000036 000442' .WORD DKLLEN ;
152 000040 000434' .WORD DKSA ;
153 000042 000546' .WORD DKFUN ;
154 000044 000422' .WORD $DKDRV ;
155 000046 000105 .WORD <DKEND-$DKDRV>/2 ;
156 000050 000003 .WORD 3 ;
157 000052 000005 .WORD 5 ;
158 000054 000000 .WORD 0 ;
159 000056 000546' .WORD DKFUN ;
160 000060 000424' .WORD DKCSR ;
161 .IF DF R$$20F
162 000062 000000 .WORD 0
163 .ENDC
164
165 000064 104 120 .ASCII /DP/ ; DISK PACK DRIVE RP
166 000066 000000G .WORD $SETDP ;
167 000070 000672' .WORD DPLLEN ;
168 000072 000650' .WORD DPSA ;
169 000074 000752' .WORD DPFUN ;
170 000076 000636' .WORD $DPDRV ;
171 000100 000067 .WORD <DPEND-$DPDRV>/2 ;
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 21-1
LOCAL DATA
172 000102 000003 .WORD 3 ;
173 000104 000005 .WORD 5 ;
174 000106 000000 .WORD 0 ;
175 000110 000752' .WORD DPFUN ;
176 000112 000640' .WORD DPCSR ;
177 .IF DF R$$20F
178 000114 000000 .WORD 0
179 .ENDC
180
181 000116 104 124 .ASCII /DT/ ; DEC-TAPE TC
182 000120 000000G .WORD $SETDT ;
183 000122 001200' .WORD DTLLEN ;
184 000124 001030' .WORD DTSA ;
185 000126 001204' .WORD DTFUN ;
186 000130 001016' .WORD $DTDRV ;
187 000132 000137 .WORD <DTEND-$DTDRV>/2 ;
188 000134 000014 .WORD 14 ;
189 000136 000004 .WORD 4 ;
190 000140 000000 .WORD 0 ;
191 000142 001204' .WORD DTFUN ;
192 000144 001024' .WORD DTCSR ;
193 .IF DF R$$20F
194 000146 177342 .WORD 177342 ; <*>
195
196 .ENDC
197
198
199 000150 104 123 .ASCII /DS/ ; RS03/RS04 FIXED HEAD DISK
200 000152 000000G .WORD $SETDS ;
201 000154 001320' .WORD DSLLEN ;
202 000156 001334' .WORD DSSA ;
203 000160 001442' .WORD DSFUN ;
204 000162 001316' .WORD $DSDRV ;
205 000164 000076 .WORD <DSEND-$DSDRV>/2 ;
206 000166 000061 .WORD 61 ;
207 000170 000071 .WORD 71 ;
208 000172 000000 .WORD 0 ;
209 000174 001442' .WORD DSFUN ;
210 000176 001324' .WORD DSCSR ;
211 .IF DF R$$20F
212 000200 000000 .WORD 0
213 .ENDC
214
215
216 000202 104 102 .ASCII /DB/ ; RP04 DISK PACK DRIVE
217 000204 000000G .WORD $SETDB ;
218 000206 001516' .WORD DBLLEN ;
219 000210 001532' .WORD DBSA ;
220 000212 001660' .WORD DBFUN ;
221 000214 001514' .WORD $DBDRV ;
222 000216 000113 .WORD <DBEND-$DBDRV>/2 ;
223 000220 000061 .WORD 61 ;
224 000222 000071 .WORD 71 ;
225 000224 000000 .WORD 0 ;
226 000226 001660' .WORD DBFUN ;
227 000230 001522' .WORD DBCSR ;
228 .IF DF R$$20F
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 21-2
LOCAL DATA
229 000232 176700 .WORD 176700
230 .ENDC
231
232
233 000234 104 130 .ASCII /DX/ ; RX01 FLOPPY DISK DRIVE
234 000236 000000G .WORD $SETDX ;
235 000240 001756' .WORD DXLLEN ;
236 000242 001752' .WORD DXSA ;
237 000244 002044' .WORD DXFUN ;
238 000246 001744' .WORD $DXDRV ;
239 000250 000216 .WORD <DXEND-$DXDRV>/2 ;
240 000252 000005 .WORD 5 ;
241 000254 000007 .WORD 7 ;
242 000256 000000 .WORD 0 ;
243 000260 002044' .WORD DXFUN ;
244 000262 001746' .WORD DXCSR ;
245 .IF DF R$$20F
246 000264 177170 .WORD 177170
247 .ENDC
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 22
DF DRIVER
249 .SBTTL DF DRIVER
250 000266 012700 $DFDRV::MOV (PC)+,R0 ;;; GET LOAD LENGTH
251 000270 000000 DFLLEN: .WORD 0 ;;;
252 000272 012705 MOV (PC)+,R5 ;;; GET CSR ADDRESS
253 000274 000000 DFCSR: .WORD 0 ;;;
254 000276 105065 000000 CLRB RFDCS(R5) ;;; ZERO FUNCTION CODE
255 000302 012765 000000 000004 MOV #0,RFCMA(R5) ;;; SET STARTING BUFFER ADDRESS
256 000304' DFSA = .-4 ;;;
257 000310 012765 000000 000006 MOV #0,RFDAR(R5) ;;; SET STARTING DISK ADDRESS
258 000312' $DFDAR == .-4 ;;;
259 000316 012765 000000 000010 MOV #0,RFDAE(R5) ;;; SET ADDRESS EXTENSION
260 000320' $DFDAE == .-4 ;;;
261 ;
262 ; GET NEXT CHUNK OF DATA TO PROCESS
263 ;
264 000324 162700 000004 DF1: SUB #BLKLEN,R0 ;;; FULL BLOCK LEFT TO PROCESS?
265 000330 100006 BPL 10$ ;;; YES
266 000332 062700 000004 ADD #BLKLEN,R0 ;;; NO, COMPUTE RESIDUAL COUNT
267 000336 003427 BLE DFEXIT ;;; DONE
268 000340 010001 MOV R0,R1 ;;; COPY BLOCKS TO READ
269 000342 005000 CLR R0 ;;; SET RESIDUAL COUNT TO ZERO
270 000344 000402 BR 20$ ;;;
271 000346 012701 000004 10$: MOV #BLKLEN,R1 ;;; SET TO READ BLKLEN*256 WORDS
272 000352 000301 20$: SWAB R1 ;;; MULTIPLY WORD COUNT BY 256
273 000354 005401 NEG R1 ;;; CONVERT TO TWOS COMPLEMENT
274 000356 010165 000002 MOV R1,RFWC(R5) ;;; SET WORD COUNT REGISTER
275 ;
276 ; START I/O
277 ;
278 000362 152765 000000 000000 BISB #0,RFDCS(R5) ;;; SET FUNCTION CODE
279 000364' DFFUN = .-4 ;;;
280 000370 105765 000000 30$: TSTB RFDCS(R5) ;;; DONE?
281 000374 100375 BPL 30$ ;;; NO, WAIT
282 000376 105765 000001 TSTB RFDCS+1(R5) ;;; ANY ERRORS?
283 000402 100350 BPL DF1 ;;; NO
284 000404 032765 002000 000010 BIT #2000,RFDAE(R5) ;;; YES, NON-EXISTANT MEMORY?
285 000412 001001 BNE DFEXIT ;;; YES
286 000414 000724 BR $DFDRV ;;; NO, ERROR, RETRY IT
287 000416 005004 DFEXIT: CLR R4 ;;; ZERO UNIT NUMBER
288 000420 DFEND: RETURN ;;; DRIVER END
000420 000207 RTS PC
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 23
DK DRIVER
290 .SBTTL DK DRIVER
291 000422 012705 $DKDRV::MOV (PC)+,R5 ;;; GET CSR ADDRESS
292 000424 000000 DKCSR: .WORD 0 ;;;
293 000426 105065 000000 CLRB RKCS(R5) ;;; ZERO FUNCTION CODE
294 000432 012765 000000 000004 MOV #0,RKBA(R5) ;;; SET BUFFER ADDRESS
295 000434' DKSA = .-4 ;;;
296 000440 012700 MOV (PC)+,R0 ;;; GET LOAD LENGTH
297 000442 000000 DKLLEN: .WORD 0 ;;;
298 000444 126727 000077 177777 CMPB DKFUN+1,#-1 ;;; UNIT SPECIFIED?
299 000452 001407 BEQ DK2 ;;; NO
300 000454 156767 000067 000021 BISB DKFUN+1,$DKDAR+1 ;;; YES SET UNIT SELECT FIELD
301 000462 016765 000014 000006 MOV $DKDAR,RKDA(R5) ;;; AND SET DISK ADDRESS
302 000470 000406 BR DK1 ;;;
303 000472 042765 017777 000006 DK2: BIC #17777,RKDA(R5) ;;; CLEAR OLD DISK ADDRESS
304 000500 052765 000000 000006 BIS #0,RKDA(R5) ;;; SET STARTING DISK ADDRESS, USE CURRENT UNIT
305 000502' $DKDAR == .-4 ;;;
306 ;
307 ; GET NEXT CHUNK OF DATA TO PROCESS
308 ;
309 000506 162700 000004 DK1: SUB #BLKLEN,R0 ;;; FULL BLOCK LEFT ?
310 000512 100006 BPL 10$ ;;; YES
311 000514 062700 000004 ADD #BLKLEN,R0 ;;; NO, COMPUTE RESIDUAL COUNT
312 000520 003427 BLE DKEXIT ;;; DONE
313 000522 010001 MOV R0,R1 ;;; COPY COUNT
314 000524 005000 CLR R0 ;;; ZERO RESIDUAL COUNT
315 000526 000402 BR 20$ ;;;
316 000530 012701 000004 10$: MOV #BLKLEN,R1 ;;; SET TO READ BLKLEN*256. WORDS
317 000534 000301 20$: SWAB R1 ;;; MULTIPLY SECTOR COUNT BY 256 WORDS
318 000536 005401 NEG R1 ;;; SET TWOS COMPLEMENT OF COUNT
319 ;
320 ; START I/O
321 ;
322 000540 010165 000002 MOV R1,RKWC(R5) ;;; SET WORD COUNT
323 000544 152765 000000 000000 BISB #0,RKCS(R5) ;;; SET FUNCTION
324 000546' DKFUN = .-4 ;;;
325 000552 105765 000000 30$: TSTB RKCS(R5) ;;; DONE?
326 000556 100375 BPL 30$ ;;; NO, WAIT
327 000560 105765 000001 TSTB RKCS+1(R5) ;;; ANY ERRORS?
328 000564 100350 BPL DK1 ;;; NO
329 000566 032765 002000 177776 BIT #2000,RKER(R5) ;;; YES, NON-EXISTANT MEMORY?
330 000574 001001 BNE DKEXIT ;;; YES
331 000576 000711 BR $DKDRV ;;; NO, ERROR, RETRY IT
332 000600 016504 000006 DKEXIT: MOV RKDA(R5),R4 ;;; GET DISK ADDRESS
333 000604 012765 000001 000000 MOV #1,RKCS(R5) ;;; CLEAR CONTROLLER
334 000612 000241 CLC ;;; ZERO CARRY BIT
335 000614 042704 017777 BIC #17777,R4 ;;; CLEAR ALL BUT DRIVE SELECT
336 000620 010465 000006 MOV R4,RKDA(R5) ;;; RESTORE DRIVE SELECT
337 000624 006104 ROL R4 ;;; SHIFT
338 000626 006104 ROL R4 ;;; IT
339 000630 006104 ROL R4 ;;; DOWN
340 000632 006104 ROL R4 ;;;
341 000634 DKEND: RETURN ;;; END OF DRIVER
000634 000207 RTS PC
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 24
DP DRIVER
343 .SBTTL DP DRIVER
344 000636 012705 $DPDRV::MOV (PC)+,R5 ;;; GET CSR ADDRESS
345 000640 000000 DPCSR: .WORD 0 ;;;
346 000642 105065 000000 CLRB RPCS(R5) ;;; ZERO FUNCTION CODE
347 000646 012765 000000 000004 MOV #0,RPBA(R5) ;;; SET STARTING BUFFER ADDRESS
348 000650' DPSA = .-4 ;;;
349 000654 012765 000000 000010 MOV #0,RPDA(R5) ;;; SET DISK ADDRESS
350 000656' $DPDA == .-4 ;;;
351 000662 012765 000000 000006 MOV #0,RPCA(R5) ;;; SET CYLINDER ADDRESS
352 000664' $DPCA == .-4 ;;;
353 000670 012700 MOV (PC)+,R0 ;;; GET LOAD LENGTH
354 000672 000000 DPLLEN: .WORD 0 ;;;
355 000674 126727 000053 177777 CMPB DPFUN+1,#-1 ;;; UNIT SPECIFIED?
356 000702 001403 BEQ DP1 ;;; NO, USE CURRENT UNIT
357 000704 116765 000043 000001 MOVB DPFUN+1,RPCS+1(R5) ;;; YES, THEN SET IT
358 ;
359 ; GET NEXT CHUNK OF DATA TO PROCESS
360 ;
361 000712 162700 000004 DP1: SUB #BLKLEN,R0 ;;; FULL BLOCK LEFT TO PROCESS?
362 000716 100006 BPL 10$ ;;; YES
363 000720 062700 000004 ADD #BLKLEN,R0 ;;; NO, COMPUTE RESIDUAL COUNT
364 000724 003427 BLE DPEXIT ;;; DONE
365 000726 010001 MOV R0,R1 ;;; COPY COUNT
366 000730 005000 CLR R0 ;;; ZERO RESIDUAL COUNT
367 000732 000402 BR 20$ ;;;
368 000734 012701 000004 10$: MOV #BLKLEN,R1 ;;; SET TO READ BLKLEN*256.
369 000740 000301 20$: SWAB R1 ;;; CONVERT SECTORS TO WORDS
370 000742 005401 NEG R1 ;;; TO TWOS COMPLEMENT OF WORD COUNT
371 ;
372 ; START I/O
373 ;
374 000744 010165 000002 MOV R1,RPWC(R5) ;;; SET WORD COUNT
375 000750 152765 000000 000000 BISB #0,RPCS(R5) ;;; SET FUNCTION AND GO BIT
376 000752' DPFUN = .-4 ;;;
377 000756 105765 000000 30$: TSTB RPCS(R5) ;;; DONE?
378 000762 100375 BPL 30$ ;;; NO, WAIT
379 000764 105765 000001 TSTB RPCS+1(R5) ;;; YES, ANY ERRORS?
380 000770 100350 BPL DP1 ;;; NO
381 000772 032765 000004 177776 BIT #4,RPER(R5) ;;; YES, IS IT NON-EXISTANT MEMORY?
382 001000 001001 BNE DPEXIT ;;; YES
383 001002 000715 BR $DPDRV ;;; NO, ERROR, RETRY IT
384 001004 116504 000001 DPEXIT: MOVB RPCS+1(R5),R4 ;;; GET DRIVE SELECT FIELD
385 001010 042704 177770 BIC #177770,R4 ;;; CLEAR OFF OTHER BITS
386 001014 DPEND: RETURN ;;; END OF DRIVER
001014 000207 RTS PC
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 25
DEC-TAPE DRIVER
388 .SBTTL DEC-TAPE DRIVER
389 001016 012701 $DTDRV::MOV (PC)+,R1 ;;; GET BLOCK NUMBER
390 001020 000000 $DTBLK::.WORD 0 ;;;
391 001022 012705 MOV (PC)+,R5 ;;; GET CSR ADDRESS
392 001024 000000 DTCSR: .WORD 0 ;;;
393 001026 012765 000000 000004 MOV #0,TCBA(R5) ;;; SET STARTING BUFFER ADDRESS
394 001030' DTSA = .-4 ;;;
395 001034 126727 000145 177777 CMPB DTFUN+1,#-1 ;;; UNIT SPECIFIED?
396 001042 001403 BEQ DTSRC ;;; NO, USE CURRENT UNIT
397 001044 116765 000135 000001 MOVB DTFUN+1,TCCM+1(R5) ;;; YES, THEN SET IT
398 ;
399 ; SEARCH FOR CORRECT BLOCK
400 ;
401 001052 010100 DTSRC: MOV R1,R0 ;;; COPY IT
402 001054 162700 000003 SUB #3,R0 ;;; POINT TO 3 BLOCKS BEFORE
403 001060 052765 004000 000000 BIS #4000,TCCM(R5) ;;; SET REVERSE MODE
404 001066 112765 000003 000000 MOVB #3,TCCM(R5) ;;; SET BLOCK SEARCH FUNCTION
405 001074 105765 000000 10$: TSTB TCCM(R5) ;;; READY?
406 001100 100375 BPL 10$ ;;; NO, WAIT
407 001102 105765 000001 TSTB TCCM+1(R5) ;;; ERROR?
408 001106 100010 BPL DTCMP ;;; NO
409 001110 005765 177776 DTERR: TST TCST(R5) ;;; YES, END ZONE?
410 001114 100340 BPL $DTDRV ;;; NO, ERROR, RETRY IT
411 001116 032765 004000 000000 10$: BIT #4000,TCCM(R5) ;;; GOING IN REVERSE DIRECTION?
412 001124 001752 BEQ DTSRC ;;; NO, THEN WE HAVE TO SEARCH BACKWARD
413 001126 000403 BR DTFWD ;;; YES, THEN GO FORWARD
414 001130 166500 000006 DTCMP: SUB TCDT(R5),R0 ;;; GOING IN RIGHT DIRECTION?
415 001134 002746 BLT DTSRC ;;; YES, CONTINUE
416 001136 010100 DTFWD: MOV R1,R0 ;;; NO, GO FORWARD
417 001140 042765 004000 000000 BIC #4000,TCCM(R5) ;;; CLEAR REVERSE BIT
418 001146 112765 000003 000000 MOVB #3,TCCM(R5) ;;; SEARCH FORWARD
419 001154 032765 100200 000000 10$: BIT #100200,TCCM(R5) ;;; READY?
420 001162 100752 BMI DTERR ;;; YES AND WITH ERROR
421 001164 001773 BEQ 10$ ;;; NO, WAIT
422 001166 166500 000006 SUB TCDT(R5),R0 ;;; AT BLOCK WE WANT?
423 001172 003361 BGT DTFWD ;;; NOT YET
424 001174 002726 BLT DTSRC ;;; WHOOPS, WE PASSED IT
425 001176 012700 MOV (PC)+,R0 ;;; GET LENGTH
426 001200 000000 DTLLEN: .WORD 0 ;;;
427 001202 112765 000000 000000 MOVB #0,TCCM(R5) ;;; SET FUNCTION CODE (NO GO BIT)
428 001204' DTFUN = .-4 ;;;
429 ;
430 ; GET NEXT CHUNK OF DATA TO PROCESS
431 ;
432 001210 162700 000004 DT1: SUB #BLKLEN,R0 ;;; FULL BLOCK LEFT?
433 001214 100006 BPL 10$ ;;; YES
434 001216 062700 000004 ADD #BLKLEN,R0 ;;; NO, COMPUTE RESIDUAL COUNT
435 001222 003425 BLE DTEXIT ;;; DONE IF ZERO
436 001224 010001 MOV R0,R1 ;;; COPY COUNT
437 001226 005000 CLR R0 ;;; ZERO RESIDUAL COUNT
438 001230 000402 BR 20$ ;;;
439 001232 012701 000004 10$: MOV #BLKLEN,R1 ;;; SET BLOCK COUNT
440 001236 000301 20$: SWAB R1 ;;; CONVERT TO WORD COUNT
441 001240 005401 NEG R1 ;;; SET TO TWOS COMPLEMENT WORD COUNT
442 ;
443 ; START I/O
444 ;
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 25-1
DEC-TAPE DRIVER
445 001242 010165 000002 MOV R1,TCWC(R5) ;;; SET WORD COUNT
446 001246 105265 000000 INCB TCCM(R5) ;;; SET GO BIT
447 001252 105765 000000 30$: TSTB TCCM(R5) ;;; DONE?
448 001256 100375 BPL 30$ ;;; NO, WAIT
449 001260 105765 000001 TSTB TCCM+1(R5) ;;; ANY ERRORS
450 001264 100351 BPL DT1 ;;; NO, PROCESS ON!
451 001266 032765 000400 177776 BIT #400,TCST(R5) ;;; YES, NON-EXISTANT MEMORY?
452 001274 001650 BEQ $DTDRV ;;; NO, ERROR, RETRY IT
453 001276 116504 000001 DTEXIT: MOVB TCCM+1(R5),R4 ;;; GET DRIVE SELECT
454 001302 042704 177770 BIC #177770,R4 ;;; CLEAR ALL OTHER BITS
455 001306 112765 000011 000000 MOVB #11,TCCM(R5) ;;; STOP TAPE MOTION
456 001314 DTEND: RETURN ;;; END OF DRIVER
001314 000207 RTS PC
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 26
DS DRIVER
458 .SBTTL DS DRIVER
459 001316 012700 $DSDRV::MOV (PC)+,R0 ;;; GET LOAD LENGTH
460 001320 000000 DSLLEN: .WORD 0 ;;;
461 001322 012705 MOV (PC)+,R5 ;;; GET CSR ADDRESS
462 001324 000000 DSCSR: .WORD 0 ;;;
463 001326 005065 000000 CLR RSCS1(R5) ;;; ZERO FUNCTION CODE AND MEM EXTEN
464 001332 012765 000000 000004 MOV #0,RSBA(R5) ;;; SET STARTING BUFFER ADDRESS
465 001334' DSSA = .-4 ;;;
466 001340 126727 000077 177777 CMPB DSFUN+1,#-1 ;;; UNIT SPECIFIED?
467 001346 001403 BEQ 10$ ;;; NO , USE CURRENT ONE
468 001350 116765 000067 000010 MOVB DSFUN+1,RSCS2(R5) ;;; YES, SET UNIT SELECT
469 001356 012701 10$: MOV (PC)+,R1 ;;; GET DISK ADDRESS
470 001360 000000 $DSDA:: .WORD 0 ;;;
471 001362 032765 000002 000026 BIT #2,RSDT(R5) ;;; IS THIS AN RS04?
472 001370 001001 BNE 20$ ;;; YES
473 001372 006301 ASL R1 ;;; NO, 64 WORDS/SECTOR; DOUBLE IT
474 001374 006301 20$: ASL R1 ;;; 128 WORDS PER SECTOR DOUBLE TO 256
475 001376 010165 000006 MOV R1,RSDA(R5) ;;; SET TRACK SECTOR ADDRESS
476 ;
477 ; GET NEXT BLOCK OF DATA TO PROCESS
478 ;
479 001402 162700 000004 DS1: SUB #BLKLEN,R0 ;;; FULL BLOCK LEFT?
480 001406 100006 BPL 10$ ;;; YES
481 001410 062700 000004 ADD #BLKLEN,R0 ;;; NO, GET RESIDUAL COUNT
482 001414 003432 BLE DSEXIT ;;; DONE IF ZERO
483 001416 010001 MOV R0,R1 ;;; COPY COUNT
484 001420 005000 CLR R0 ;;; ZERO RESIDUAL COUNT
485 001422 000402 BR 20$ ;;;
486 001424 012701 000004 10$: MOV #BLKLEN,R1 ;;; SET TO READ BLKLEN*256.
487 001430 000301 20$: SWAB R1 ;;; CONVERT LOGICAL SECTORS TO WORDS
488 001432 005401 NEG R1 ;;;
489 ;
490 ; START I/O
491 ;
492 001434 010165 000002 MOV R1,RSWC(R5) ;;; SET WORD COUNT
493 001440 152765 000000 000000 BISB #0,RSCS1(R5) ;;; SET FUNCTION CODE
494 001442' DSFUN = .-4 ;;;
495 001446 105765 000000 30$: TSTB RSCS1(R5) ;;; DONE?
496 001452 100375 BPL 30$ ;;; NO, LOOP UNTIL IT IS
497 001454 105765 000001 TSTB RSCS1+1(R5) ;;; ANY ERRORS?
498 001460 100350 BPL DS1 ;;; NO
499 001462 032765 004000 000010 BIT #4000,RSCS2(R5) ;;; NON-EXISTANT MEMORY?
500 001470 001004 BNE DSEXIT ;;; YES, STOP READING
501 001472 112765 000011 000000 MOVB #11,RSCS1(R5) ;;; NO, CLEAR DRIVE
502 001500 000706 BR $DSDRV ;;; TRY AGAIN
503 001502 116504 000010 DSEXIT: MOVB RSCS2(R5),R4 ;;; GET UNIT NUMBER
504 001506 042704 177770 BIC #177770,R4 ;;; CLEAR ALL BUT UNIT NUMBER
505 001512 DSEND: RETURN ;;;
001512 000207 RTS PC
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 27
RP04 DRIVER
507 .SBTTL RP04 DRIVER
508 001514 012700 $DBDRV::MOV (PC)+,R0 ;;; GET LOAD LENGTH
509 001516 000000 DBLLEN:.WORD 0 ;;;
510 001520 012705 MOV (PC)+,R5 ;;; GET CSR ADDRESS
511 001522 000000 DBCSR: .WORD 0 ;;;
512 001524 005065 000000 CLR RJPCS1(R5) ;;; ZERO FUNCTION CODE AND MEM EXTEN BITS
513 001530 012765 000000 000004 MOV #0,RJPBA(R5) ;;; SET STARTING BUFFER ADDRESS
514 001532' DBSA = .-4 ;;;
515 001536 126727 000117 177777 CMPB DBFUN+1,#-1 ;;; UNIT SPECIFIED?
516 001544 001403 BEQ 10$ ;;; NO, USE CURRENT ONE
517 001546 116765 000107 000010 MOVB DBFUN+1,RJPCS2(R5) ;;; SET UNIT SELECT FIELD
518 001554 012765 000023 000000 10$: MOV #23,RJPCS1(R5) ;;; ISSUE PACK ACKNOWLEDGE FUNCTION
519 001562 012765 000000 000006 MOV #0,RJPDA(R5) ;;; SET SECTOR/TRACK ADDRESS
520 001564' $DBDA == .-4 ;;;
521 001570 012765 000000 000034 MOV #0,RJPDC(R5) ;;; SET CYLINDER ADDRESS
522 001572' $DBCA == .-4 ;;;
523 .IF DF R$$20F
524 001576 052765 004000 000032 BIS #4000,RJPOF(R5) ;;; SET INHIBIT ECC
525 .IFF
526 BIS #14000,RJPOF(R5) ;;; SET 16 BIT MODE, INHIBIT ECC
527 .ENDC ; .IF DF R$$20F
528 001604 016501 000012 MOV RJPDS(R5),R1 ;;; GET DRIVE STATUS
529 001610 005101 COM R1 ;;; COMPLEMENT BITS
530 001612 032701 010300 BIT #10300,R1 ;;; MEDIUM ON-LINE,READY, AND VOLUME VALID
531 001616 001041 BNE DBCLR ;;; NO, ERROR
532 ;
533 ; GET NEXT BLOCK OF DATA TO PROCESS
534 ;
535 001620 162700 000004 DB1: SUB #BLKLEN,R0 ;;; FULL BLOCK LEFT?
536 001624 100006 BPL 10$ ;;; YES
537 001626 062700 000004 ADD #BLKLEN,R0 ;;; NO, GET RESIDUAL COUNT
538 001632 003437 BLE DBEXIT ;;; DONE IF ZERO
539 001634 010001 MOV R0,R1 ;;; COPY COUNT
540 001636 005000 CLR R0 ;;; ZERO RESIDUAL COUNT
541 001640 000402 BR 20$ ;;;
542 001642 012701 000004 10$: MOV #BLKLEN,R1 ;;; SET TO READ BLKLEN*256.
543 001646 000301 20$: SWAB R1 ;;; CONVERT SECTORS TO WORDS
544 001650 005401 NEG R1 ;;;
545 ;
546 ; START I/O
547 ;
548 001652 010165 000002 MOV R1,RJPWC(R5) ;;; SET WORD COUNT
549 001656 112765 000000 000000 MOVB #0,RJPCS1(R5) ;;; SET FUNCTION CODE
550 001660' DBFUN = .-4 ;;;
551 001664 105765 000000 30$: TSTB RJPCS1(R5) ;;; DONE?
552 001670 100375 BPL 30$ ;;; NO, LOOP UNTIL IT IS
553 001672 032765 060000 000000 BIT #60000,RJPCS1(R5) ;;; TRANSFER ERROR OR MASSBUSS CONTROL PARITY ERROR?
554 001700 001004 BNE 40$ ;;; YES-- CHECK ERROR OUT
555 001702 032765 140000 000012 BIT #140000,RJPDS(R5) ;;; ATTENTION OR ERROR?
556 001710 001743 BEQ DB1 ;;; NO-- CONTINUE TRANSFER
557 001712 032765 004000 000010 40$: BIT #4000,RJPCS2(R5) ;;; YES, IS IT NON-EXISTENT MEMORY?
558 001720 001004 BNE DBEXIT ;;;
559 001722 112765 000011 000000 DBCLR: MOVB #11,RJPCS1(R5) ;;; ISSUE DRIVE CLEAR
560 001730 000671 BR $DBDRV ;;; TRY AGAIN
561 001732 116504 000010 DBEXIT: MOVB RJPCS2(R5),R4 ;;; GET UNIT SELECT FIELD
562 001736 042704 177770 BIC #177770,R4 ;;; CLEAR HIGH BITS
563 001742 DBEND: RETURN ;;;
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 27-1
RP04 DRIVER
001742 000207 RTS PC
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 28
RX01 DRIVER
565 .SBTTL RX01 DRIVER
566 001744 012705 $DXDRV:: MOV (PC)+,R5 ;;; GET CSR ADDRESS
567 001746 000000 DXCSR: .WORD 0 ;;;
568 001750 012704 MOV (PC)+,R4 ;;; GET BUFFER ADDRESS
569 001752 000000 DXSA: .WORD 0 ;;;
570 001754 012703 MOV (PC)+,R3 ;;; GET LOAD LENGTH IN LOGICAL BLOCKS
571 001756 000000 DXLLEN: .WORD 0 ;;;
572
573 .IF DF M$$MGE
574
575 CLC ;;; CLEAR CARRY
576 ROL R4 ;;; CONVERT BASE ADDRESS
577 ROL R4 ;;; TO 32 WORD BLOCK ADDRESS
578 SWAB R4 ;;;
579 MOV R4,@#KISAR6 ;;; SET UP MAPPING REGISTER
580
581 .ENDC
582
583 001760 006303 ASL R3 ;;; CONVERT TO LENGTH
584 001762 006303 ASL R3 ;;; LOGICAL SECTORS
585 001764 126727 000055 177777 CMPB DXFUN+1,#-1 ;;; UNIT SPECIFIED?
586 001772 001002 BNE DX2 ;;; YES
587 001774 110067 000045 MOVB R0,DXFUN+1 ;;; NO, SET IT
588 002000 042767 000020 000036 DX2: BIC #20,DXFUN ;;; DEFAULT TO UNIT ZERO
589 002006 105767 000033 TSTB DXFUN+1 ;;; UNIT 0?
590 002012 001403 BEQ 10$ ;;; YES
591 002014 052767 000020 000022 BIS #20,DXFUN ;;; NO, SELECT UNIT 1
592 002022 026727 000076 000003 10$: CMP $DXSLO,#3 ;;; READING FROM DISK?
593 002030 001033 BNE DXSILO ;;; NO, FILL SILO BEFORE WRITING
594 002032 012701 DXLOOP: MOV (PC)+,R1 ;;; GET LOGICAL SECTOR NUMBER
595 ;
596 ; PERFORM SILO/DISK TRANSFER
597 ;
598 002034 000000 $DXBLK:: .WORD 0 ;;;
599 002036 CALL $TRKSC ;;; CONVERT LOGICAL SECTOR TO TRACK/SECTOR
002036 004767 000242 JSR PC,$TRKSC
600 002042 112715 MOVB (PC)+,(R5) ;;; START FUNCTION
601 002044 000000 DXFUN: .WORD 0 ;;;
602 002046 CALL TRWAIT ;;; WAIT
002046 004767 000206 JSR PC,TRWAIT
603 002052 103734 BCS $DXDRV ;;; ERROR
604 002054 110165 000002 MOVB R1,2(R5) ;;; SET SECTOR
605 002060 CALL TRWAIT ;;; WAIT
002060 004767 000174 JSR PC,TRWAIT
606 002064 103727 BCS $DXDRV ;;; ERROR
607 002066 110065 000002 MOVB R0,2(R5) ;;; SET TRACK
608 002072 CALL TRWAIT ;;; WAIT
002072 004767 000162 JSR PC,TRWAIT
609 002076 103322 BCC $DXDRV ;;; ERROR
610 002100 005267 177730 INC $DXBLK ;;; UPDATE LOGICAL SECTOR NUMBER
611 002104 026727 000014 000003 CMP $DXSLO,#3 ;;; READING FROM DISK?
612 002112 001402 BEQ DXSILO ;;; YES
613 002114 005303 DEC R3 ;;; NO, ALL BLOCKS PROCESSED?
614 002116 003446 BLE DXNXM ;;; YES
615 ;
616 ; PERFORM SILO/MEMORY TRANSFER
617 ;
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 28-1
RX01 DRIVER
618 .ENABL LSB
619 002120 010502 DXSILO: MOV R5,R2 ;;; COPY CSR ADDRESS
620 002122 012722 MOV (PC)+,(R2)+ ;;; SET EMPTY/FILL SILO
621 002124 000000 $DXSLO:: .WORD 0 ;;;
622 002126 012700 000200 MOV #128.,R0 ;;; SET COUNT OF BYTES IN SILO
623
624 .IF DF M$$MGE
625
626 MOV #140000,R4 ;;; SET BASE ADDRESS OF BUFFER TO USE APR6
627
628 .ENDC
629
630 002132 132715 000240 10$: BITB #240,(R5) ;;; DONE?
631 002136 100402 BMI $DXMOV ;;; YES
632 002140 001774 BEQ 10$ ;;; NO
633 002142 000403 BR DXEF ;;; YES, SILO EMPTY
634 002144 111224 $DXMOV:: MOVB (R2),(R4)+ ;;; MOVE NEXT BYTE
635 002146 005300 DEC R0 ;;; DONE?
636 002150 000770 BR 10$ ;;; LOOP
637 002152 005700 DXEF: TST R0 ;;; ALL BYTES IN SILO TRANSFERRED?
638 002154 001273 BNE $DXDRV ;;; NO, ERROR
639
640 .IF DF M$$MGE
641
642 ADD #2,@#KISAR6 ;;; UPDATE BUFFER POINTER
643
644 .ENDC
645
646 002156 005767 000120 TST TRPFLG ;;; IS NXM TRAP SET UP?
647 002162 001016 BNE 15$ ;;; YES
648 002164 010700 MOV PC,R0 ;;; NO, GET ADDRESS OF TRAP ROUTINE
649 002166 062700 000110 ADD #DXTRP4-.,R0 ;;;
650 002172 013746 000004 MOV @#4,-(SP) ;;; SAVE CURRENT TRAP ADDRESS
651 002176 010037 000004 MOV R0,@#4 ;;; SET UP TRAP ADDRESS
652 002202 013746 000006 MOV @#6,-(SP) ;;; SAVE PS
653 002206 012737 000340 000006 MOV #340,@#6 ;;; SET NEW PS
654 002214 005267 000062 INC TRPFLG ;;; SET NXM SET UP
655 002220 026727 177700 000003 15$: CMP $DXSLO,#3 ;;; READING FROM DISK?
656 002226 001301 BNE DXLOOP ;;; NO MUST WRITE SILO OUT
657 002230 005303 DEC R3 ;;; ALL SECTORS READ?
658 002232 003277 BGT DXLOOP ;;; NO
659 002234 010300 DXNXM: MOV R3,R0 ;;; GET NUMBER OF SECTORS LEFT TO READ
660 002236 006200 ASR R0 ;;; CONVERT TO LOGICAL BLOCKS
661 002240 006200 ASR R0 ;;;
662 002242 116704 177577 MOVB DXFUN+1,R4 ;;; GET UNIT NUMBER
663 002246 012637 000006 MOV (SP)+,@#6 ;;; RESET LOW CORE
664 002252 012637 000004 MOV (SP)+,@#4 ;;; TRAP VECTOR
665 002256 000450 BR DXEND ;;; DONE
666 .DSABL LSB
667 ;
668 ; WAIT FOR DISK TO SHOW READY
669 ;
670 002260 000241 TRWAIT: CLC ;;; DEFAULT TO TR READY
671 002262 132715 000240 10$: BITB #240,(R5) ;;; DONE?
672 002266 100402 BMI 20$ ;;; YES
673 002270 001774 BEQ 10$ ;;; NO, LOOP
674 002272 000261 SEC ;;; YES
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 28-2
RX01 DRIVER
675 002274 20$: RETURN ;;;
002274 000207 RTS PC
676 ;
677 ; PROCESS NON-EXISTANT MEMORY TRAP (STOP READING OR WRITING)
678 ;
679 002276 022626 DXTRP4: CMP (SP)+,(SP)+ ;;; CLEAR STACK
680 002300 000755 BR DXNXM ;;;
681 002302 000000 TRPFLG: .WORD 0 ;;; TRAP FLAG, 0=NOT SET UP, 1=SET UP
682 ;
683 ; CONVERT LOGICAL SECTOR NUMBER TO PHYSICAL TRACK/SECTOR PAIR
684 ; INPUT:
685 ; R1 - LOGICAL SECTOR
686 ; OUTPUT:
687 ; R0 - TRACK
688 ; R1 - SECTOR
689 ;
690 002304 012700 000010 $TRKSC:: MOV #8.,R0 ;;; SET COUNT
691 002310 012702 006400 MOV #6400,R2 ;;; AND DIVISOR
692 002314 020201 30$: CMP R2,R1 ;;; DOES 26. GO INTO DIVIDEND?
693 002316 101002 BHI 40$ ;;; BRANCH IF NOT, C CLEAR
694 002320 160201 SUB R2,R1 ;;; SUBTRACT 26. FROM DIVIDEND
695 002322 000261 SEC ;;;
696 002324 006101 40$: ROL R1 ;;; SHIFT DIVIDEND AND QUOTIENT
697 002326 005300 DEC R0 ;;; DONE?
698 002330 003371 BGT 30$ ;;; NO, LOOP
699 002332 110100 MOVB R1,R0 ;;; GET TRACK
700 002334 105001 CLRB R1 ;;; CLEAR TRACK
701 002336 000301 SWAB R1 ;;; SHIFT DOWN SECTOR
702 002340 022701 000014 CMP #12.,R1 ;;; C=1 IF 13<=R1<=25
703 002344 006101 ROL R1 ;;; DOUBLE FOR INTERLEAVE FACTOR
704 002346 006300 ASL R0 ;;; ADD TRACK - TRACK SKEW
705 002350 060001 ADD R0,R1 ;;; SKEW BY 2*TRACK
706 002352 060001 ADD R0,R1 ;;; SKEW BY 4*TRACK
707 002354 060001 ADD R0,R1 ;;; SKEW BY 6*TRACK
708 002356 006200 ASR R0 ;;; RESTORE TRACK NUMBER
709 002360 012702 000032 MOV #26.,R2 ;;; SET MODULUS
710 002364 160201 50$: SUB R2,R1 ;;; MODULO SECTOR INTO RANGE -26. TO -1
711 002366 002376 BGE 50$ ;;; LOOP TILL REMAINDER GOES NEGATIVE
712 002370 060201 ADD R2,R1 ;;; CONVERT TO RANGE 0 - 25.
713 002372 005200 INC R0 ;;; BUMP TRACK TO SKIP TRACK ZERO
714 002374 005201 INC R1 ;;; AND SECTOR TO RANGE 1 - 26.
715 002376 RETURN ;;;
002376 000207 RTS PC
716 002400 DXEND: RETURN ;;;
002400 000207 RTS PC
717 000001 .END
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 28-3
SYMBOL TABLE
BLKLEN= 000004 CTOCHR= 177566 DKFUN = 000546R DPFUN = 000752R L2.A17= 000040
BR0 = 000000 CTOLVL= 000004 DKLLEN 000442R DPLLEN 000672R L2.BCM= 007777
BR1 = 000040 CTOSTS= 177564 DKSA = 000434R DPSA = 000650R L2.DB = 000377
BR2 = 000100 CTOVEC= 000064 DK1 000506R DP1 000712R L2.DEL= 002000
BR3 = 000140 DBCLR 001722R DK2 000472R DSCSR 001324R L2.DH = 002000
BR4 = 000200 DBCSR 001522R DLDADR= 175610 DSEND 001512R L2.DL = 000010
BR5 = 000240 DBEND 001742R DLDSIZ= 000010 DSEXIT 001502R L2.DNR= 000100
BR6 = 000300 DBEXIT 001732R DLRBUF= 000002 DSFUN = 001442R L2.DON= 000200
BR7 = 000340 DBFUN = 001660R DLRSTS= 000000 DSLLEN 001320R L2.DR = 010000
B.DM11= 170500 DBLLEN 001516R DLXBUF= 000006 DSSA = 001334R L2.DTE= 000002
B0 = 000001 DBSA = 001532R DLXSTS= 000004 DS1 001402R L2.ENB= 000100
B1 = 000002 DB1 001620R DL.BRK= 000001 DTCMP 001130R L2.ERE= 001000
B10 = 002000 DFCSR 000274R DL.CAR= 010000 DTCSR 001024R L2.ERR= 100000
B11 = 004000 DFEND 000420R DL.CTS= 020000 DTEND 001314R L2.GER= 000001
B12 = 010000 DFEXIT 000416R DL.DIE= 000040 DTERR 001110R L2.GO = 000001
B13 = 020000 DFFUN = 000364R DL.DSC= 100000 DTEXIT 001276R L2.INI= 000400
B14 = 040000 DFLLEN 000270R DL.DTR= 000002 DTFUN = 001204R L2.INT= 004000
B15 = 100000 DFSA = 000304R DL.ERR= 100000 DTFWD 001136R L2.LDP= 010000
B2 = 000004 DF1 000324R DL.LVL= 000004 DTLLEN 001200R L2.LPE= 000040
B3 = 000010 DGUTS = 000000 DL.OVR= 040000 DTSA = 001030R L2.LVL= 000004
B4 = 000020 DHBASE= 160020 DL.RGO= 004000 DTSRC 001052R L2.MPE= 000020
B5 = 000040 DHRFER= 020000 DL.RIE= 000100 DT1 001210R L2.MST= 000004
B6 = 000100 DHROVR= 040000 DL.RNG= 040000 DXCSR 001746R L2.ONL= 004000
B7 = 000200 DH.AEE= 100000 DL.ROK= 000200 DXEF 002152R L2.OVF= 004000
B8 = 000400 DH.BAR= 000012 DL.RTS= 000004 DXEND 002400R L2.PCM= 007777
B9 = 001000 DH.BCR= 000010 DL.XIE= 000100 DXFUN 002044R L2.PEN= 000002
CD.CFD= 000001 DH.BRK= 000014 DL.XOK= 000200 DXLLEN 001756R L2.PI = 000400
CD.CHK= 040000 DH.CAR= 000006 DL..FE= 020000 DXLOOP 002032R L2.PNR= 020000
CD.DAT= 177162 DH.CL5= 000000 DL..MM= 000004 DXNXM 002234R L2.POL= 000200
CD.DTE= 004000 DH.CL6= 000001 DL..PE= 010000 DXSA 001752R L2.PZE= 040000
CD.DTL= 002000 DH.CL7= 000002 DL..RC= 000377 DXSILO 002120R L2.RDB= 007777
CD.EOF= 020000 DH.CL8= 000003 DL..RE= 000001 DXTRP4 002276R L2.RPB= 010000
CD.ERR= 100000 DH.CNX= 000400 DL..XC= 000377 DX2 002000R L2.RPE= 000010
CD.HEM= 000004 DH.DOV= 040000 DL.2RC= 002000 FTASRT= 000001 L2.SPR= 040000
CD.INE= 000100 DH.LPR= 000004 DL.2XM= 000010 FTECHO= 000000 L2.TB0= 000400
CD.LVL= 000006 DH.LVL= 000005 DMBASE= 170500 FTETR = 000000 L2.TB1= 001000
CD.NXM= 001000 DH.NRC= 000002 DM.ALI= 000017 FTGLOM= 000000 L2.TB2= 002000
CD.OFL= 010000 DH.NXM= 002000 DM.BSY= 000020 FT.CHK= 000001 L2.TM = 000004
CD.ONL= 000010 DH.PEN= 000020 DM.CAR= 000100 FT.DDT= 000000 L2.TRN= 001000
CD.PAK= 000002 DH.RIE= 000100 DM.CTS= 000040 FT.D75= 000000 L2.UCD= 020000
CD.PWR= 000400 DH.SIE= 010000 DM.DNE= 000200 FT.HLP= 000001 L2.VD = 100000
CD.RDY= 000200 DH.SSR= 000016 DM.DTR= 000002 KL.LVL= 000004 L2.VEC= 000754
CD.STS= 177160 DH.TIE= 020000 DM.ENB= 000040 KPAR0 = 172340 L20ADR= 000004
CD.VEC= 000230 DH.VDP= 100000 DM.IEN= 000100 KW.INE= 000100 L20BCT= 000006
CD0DAT= 177162 DH..FE= 020000 DM.INI= 002000 KW.TIC= 000200 L20BUF= 000014
CD0STS= 177160 DH..HD= 040000 DM.LE = 000001 LP.DAT= 177516 L20CHK= 000017
CI.INE= 000100 DH..MC= 004000 DM.LVL= 000004 LP.DNE= 000200 L20COL= 000015
CLKENB= 000100 DH..MM= 001000 DM.RNG= 000200 LP.ERR= 100000 L20CRA= 000000
CLKLVL= 000006 DH..OP= 000040 DM.RTS= 000004 LP.INE= 000100 L20CRB= 000002
CLKVEC= 000100 DH..PE= 010000 DM.SCN= 004000 LP.LVL= 000004 L20PCT= 000010
CLKWRD= 177546 DH..RI= 000200 DM.SR = 000020 LP.STS= 177514 L20PDA= 000016
CO.INE= 000100 DH..SI= 040000 DM.ST = 000010 LP.VEC= 000200 L20RAM= 000012
CO..MM= 000004 DH..TI= 100000 DM.STP= 000400 LP0DAT= 177516 L20STS= 175400
CTICHR= 177562 DH.2SB= 000004 DM..MM= 001000 LP0STS= 177514 L21STS= 175420
CTILVL= 000004 DKCSR 000424R DPCSR 000640R LP1DAT= 177522 MM.SR0= 177572
CTISTS= 177560 DKEND 000634R DPEND 001014R LP1STS= 177520 MP.ENB= 000001
CTIVEC= 000060 DKEXIT 000600R DPEXIT 001004R L2.A16= 000020 MP.ERR= 100000
SPCDRV - RSX11M SAVE + BOOT D MACRO M1113 14-APR-81 11:13 PAGE 28-4
SYMBOL TABLE
MP.LVL= 000007 RKER = 177776 TC.CLK= 000100 TC..SE= 004000 TS.RES= 004000
MP.REG= 172100 RKWC = 000002 TC.CMD= 177342 TC..WR= 000014 TS.RM = 000010
MP.VEC= 000114 RPBA = 000004 TC.DAT= 177350 TE.BAS= 174400 TS.RST= 000100
MP.WWP= 000004 RPCA = 000006 TC.DT0= 000020 TE.BNX= 000040 TS.TBM= 000001
NXMVEC= 000004 RPCS = 000000 TC.DT1= 000010 TE.DG1= 000030 TS.XDN= 000004
OB0 = 000001 RPDA = 000010 TC.DT2= 000004 TE.DG2= 000032 TS.XEC= 010000
OB1 = 000002 RPDS = 177774 TC.D16= 000001 TE.DG3= 000036 TS.XEE= 004000
OB10 = 000400 RPER = 177776 TC.D17= 000002 TE.DYC= 000000 TS.XER= 020000
OB11 = 001000 RPWC = 000002 TC.ERR= 100000 TE.EAD= 000022 TS.XNT= 100000
OB12 = 002000 RSAS = 000016 TC.ILO= 010000 TE.EBC= 000016 TS.XTS= 040000
OB13 = 004000 RSBA = 000004 TC.INE= 000100 TE.EDT= 000026 TS.ZST= 040000
OB14 = 010000 RSCS1 = 000000 TC.LVL= 000006 TE.LVL= 000006 VRS = 000022
OB15 = 020000 RSCS2 = 000010 TC.MMT= 000040 TE.NNN= 000004 $DBCA = 001572RG
OB16 = 040000 RSDA = 000006 TC.MTE= 020000 TE.STW= 000034 $DBDA = 001564RG
OB17 = 100000 RSDS = 000012 TC.NXM= 000400 TE.VEC= 000774 $DBDRV 001514RG
OB2 = 000004 RSDT = 000026 TC.PAR= 040000 TE.XAD= 000020 $DFDAE= 000320RG
OB3 = 000010 RSER = 000014 TC.RDA= 000006 TE.XA1= 000010 $DFDAR= 000312RG
OB4 = 000020 RSWC = 000002 TC.RDY= 000200 TE.XA2= 000012 $DFDRV 000266RG
OB5 = 000040 R$$11M= 000001 TC.REV= 004000 TE.XBC= 000014 $DKDAR= 000502RG
OB6 = 000100 R$$20F= 000001 TC.RMT= 000002 TE.XDT= 000024 $DKDRV 000422RG
OB7 = 000200 STKLEN= 000200 TC.SAT= 000000 TE.XW1= 000006 $DPCA = 000664RG
PASS = 000002 S..AMC= 000000 TC.SST= 000010 TE.XW2= 000004 $DPDA = 000656RG
PDP11 = 000040 S..BDT= 000011 TC.STS= 177340 TE.XW3= 000002 $DPDRV 000636RG
RD.LVL= 000004 S..CHK= 000012 TC.UPS= 000200 TRPFLG 002302R $DSDA 001360RG
RFCMA = 000004 S..CNK= 000003 TC.US0= 000000 TRPVEC= 000034 $DSDRV 001316RG
RFDAE = 000010 S..CTY= 000005 TC.US1= 000400 TRWAIT 002260R $DTBLK 001020RG
RFDAR = 000006 S..DCP= 000013 TC.US2= 001000 TS.CET= 000001 $DTDRV 001016RG
RFDCS = 000000 S..DL1= 000002 TC.US3= 001400 TS.DEI= 000010 $DVDRV 000000RG
RFWC = 000002 S..DTE= 000002 TC.US4= 002000 TS.DEP= 010000 $DXBLK 002034RG
RJPBA = 000004 S..ILS= 000004 TC.US5= 002400 TS.EBM= 020000 $DXDRV 001744RG
RJPCS1= 000000 S..KW1= 000007 TC.US6= 003000 TS.EEE= 000040 $DXMOV 002144RG
RJPCS2= 000010 S..MEM= 000006 TC.US7= 003400 TS.EET= 000002 $DXSLO 002124RG
RJPDA = 000006 S..NCN= 000010 TC.VEC= 000214 TS.EEX= 000400 $SETDB= ****** GX
RJPDC = 000034 S..NXM= 000001 TC.WCR= 177344 TS.EIS= 002000 $SETDF= ****** GX
RJPDS = 000012 TCBA = 000004 TC.WRA= 000016 TS.ENT= 000100 $SETDK= ****** GX
RJPER1= 000014 TCCM = 000000 TC.WTM= 000012 TS.EPE= 000020 $SETDP= ****** GX
RJPOF = 000032 TCDT = 000006 TC..BM= 002000 TS.ETD= 000200 $SETDS= ****** GX
RJPWC = 000002 TCST = 177776 TC..DI= 010000 TS.IEN= 000001 $SETDT= ****** GX
RKBA = 000004 TCWC = 000002 TC..DM= 001000 TS.IFB= 100000 $SETDX= ****** GX
RKCS = 000000 TC.A16= 000020 TC..EZ= 100000 TS.MPE= 001000 $TRKSC 002304RG
RKDA = 000006 TC.A17= 000040 TC..MM= 020000 TS.PEX= 100000 $$ = 000067
RKDS = 177774 TC.BAR= 177346 TC..RD= 000004 TS.POF= 004000
. ABS. 000000 000
002402 001
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 4101 WORDS ( 17 PAGES)
DYNAMIC MEMORY: 5686 WORDS ( 21 PAGES)
ELAPSED TIME: 00:00:27
[52,10]SPCDRV,[52,20]SPCDRV/-SP/CR=[52,30]RSXDC,SPCDRV
SPCDRV CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
BLKLEN = 000004 #20-113 22-264 22-266 22-271 23-309 23-311 23-316 24-361 24-363
24-368 25-432 25-434 25-439 26-479 26-481 26-486 27-535 27-537
27-542
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
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
CD.DTE = 004000 #4-178
CD.DTL = 002000 #4-179
CD.EOF = 020000 #4-176
CD.ERR = 100000 #4-174
SPCDRV CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
CI.INE = 000100 #5-203
CLKENB = 000100 #10-365
CLKLVL = 000006 #10-356
CLKVEC = 000100 #10-360
CLKWRD = 177546 #10-362
CO.INE = 000100 #5-207
CO..MM = 000004 #5-208
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
DBCLR 001722 R 27-531 #27-559
DBCSR 001522 R 21-227 #27-511
DBEND 001742 R 21-222 #27-563
DBEXIT 001732 R 27-538 27-558 #27-561
DBFUN = 001660 R 21-220 21-226 27-515 27-517 #27-550
DBLLEN 001516 R 21-218 #27-509
DBSA = 001532 R 21-219 #27-514
DB1 001620 R #27-535 27-556
DFCSR 000274 R 21-144 #22-253
DFEND 000420 R 21-139 #22-288
DFEXIT 000416 R 22-267 22-285 #22-287
DFFUN = 000364 R 21-137 21-143 #22-279
DFLLEN 000270 R 21-135 #22-251
DFSA = 000304 R 21-136 #22-256
DF1 000324 R #22-264 22-283
DGUTS = 000000 1-45 1-46
DHBASE = 160020 #6-211
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
SPCDRV CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 3
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
DKCSR 000424 R 21-160 #23-292
DKEND 000634 R 21-155 #23-341
DKEXIT 000600 R 23-312 23-330 #23-332
DKFUN = 000546 R 21-153 21-159 23-298 23-300 #23-324
DKLLEN 000442 R 21-151 #23-297
DKSA = 000434 R 21-152 #23-295
DK1 000506 R 23-302 #23-309 23-328
DK2 000472 R 23-299 #23-303
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
SPCDRV CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 4
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
DL.ROK = 000200 #7-270
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
DPCSR 000640 R 21-176 #24-345
DPEND 001014 R 21-171 #24-386
DPEXIT 001004 R 24-364 24-382 #24-384
DPFUN = 000752 R 21-169 21-175 24-355 24-357 #24-376
DPLLEN 000672 R 21-167 #24-354
DPSA = 000650 R 21-168 #24-348
DP1 000712 R 24-356 #24-361 24-380
DSCSR 001324 R 21-210 #26-462
DSEND 001512 R 21-205 #26-505
DSEXIT 001502 R 26-482 26-500 #26-503
DSFUN = 001442 R 21-203 21-209 26-466 26-468 #26-494
DSLLEN 001320 R 21-201 #26-460
DSSA = 001334 R 21-202 #26-465
DS1 001402 R #26-479 26-498
DTCMP 001130 R 25-408 #25-414
DTCSR 001024 R 21-192 #25-392
DTEND 001314 R 21-187 #25-456
DTERR 001110 R #25-409 25-420
DTEXIT 001276 R 25-435 #25-453
DTFUN = 001204 R 21-185 21-191 25-395 25-397 #25-428
DTFWD 001136 R 25-413 #25-416 25-423
SPCDRV CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 5
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
DTLLEN 001200 R 21-183 #25-426
DTSA = 001030 R 21-184 #25-394
DTSRC 001052 R 25-396 #25-401 25-412 25-415 25-424
DT1 001210 R #25-432 25-450
DXCSR 001746 R 21-244 #28-567
DXEF 002152 R 28-633 #28-637
DXEND 002400 R 21-239 28-665 #28-716
DXFUN 002044 R 21-237 21-243 28-585 *28-587 *28-588 28-589 *28-591 #28-601 28-662
DXLLEN 001756 R 21-235 #28-571
DXLOOP 002032 R #28-594 28-656 28-658
DXNXM 002234 R 28-614 #28-659 28-680
DXSA 001752 R 21-236 #28-569
DXSILO 002120 R 28-593 28-612 #28-619
DXTRP4 002276 R 28-649 #28-679
DX2 002000 R 28-586 #28-588
FTASRT = 000001 1-64
FTECHO = 000000 1-61
FTETR = 000000 1-60
FTGLOM = 000000 1-54
FT.CHK = 000001 1-63
FT.DDT = 000000 1-59
FT.D75 = 000000 10-354 10-355
FT.HLP = 000001 1-53
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
L2.ERR = 100000 #12-402
SPCDRV CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 6
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
M$$MGE = ****** 28-573 28-624 28-640
NXMVEC = 000004 #1-30
OB0 = 000001 #3-136
OB1 = 000002 #3-137
SPCDRV CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 7
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
PASS = 000002 1-84 1-85 #1-85
PDP11 = 000040 1-68
RD.LVL = 000004 #7-256 7-257
RFCMA = 000004 #20-51 *22-255
RFDAE = 000010 #20-53 *22-259 22-284
RFDAR = 000006 #20-52 *22-257
RFDCS = 000000 #20-49 *22-254 *22-278 22-280 22-282
RFWC = 000002 #20-50 *22-274
RJPBA = 000004 #20-105 *27-513
RJPCS1 = 000000 #20-103 *27-512 *27-518 *27-549 27-551 27-553 *27-559
RJPCS2 = 000010 #20-107 *27-517 27-557 27-561
RJPDA = 000006 #20-106 *27-519
RJPDC = 000034 #20-111 *27-521
RJPDS = 000012 #20-108 27-528 27-555
RJPER1 = 000014 #20-109
RJPOF = 000032 #20-110 *27-524
RJPWC = 000002 #20-104 *27-548
RKBA = 000004 #20-62 *23-294
RKCS = 000000 #20-60 *23-293 *23-323 23-325 23-327 *23-333
RKDA = 000006 #20-63 *23-301 *23-303 *23-304 23-332 *23-336
RKDS = 177774 #20-58
RKER = 177776 #20-59 23-329
RKWC = 000002 #20-61 *23-322
RPBA = 000004 #20-72 *24-347
RPCA = 000006 #20-73 *24-351
RPCS = 000000 #20-70 *24-346 *24-357 *24-375 24-377 24-379 24-384
RPDA = 000010 #20-74 *24-349
RPDS = 177774 #20-68
RPER = 177776 #20-69 24-381
RPWC = 000002 #20-71 *24-374
RSAS = 000016 #20-96
RSBA = 000004 #20-91 *26-464
RSCS1 = 000000 #20-89 *26-463 *26-493 26-495 26-497 *26-501
RSCS2 = 000010 #20-93 *26-468 26-499 26-503
RSDA = 000006 #20-92 *26-475
RSDS = 000012 #20-94
RSDT = 000026 #20-97 26-471
RSER = 000014 #20-95
SPCDRV CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 8
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
RSWC = 000002 #20-90 *26-492
R$$11M = 000001 #1-27
R$$20F = 000001 #1-26 19-39 21-145 21-161 21-177 21-193 21-211 21-228 21-245
27-523
STKLEN = 000200 1-62
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
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
TCBA = 000004 #20-82 *25-393
TCCM = 000000 #20-80 *25-397 *25-403 *25-404 25-405 25-407 25-411 *25-417 *25-418
25-419 *25-427 *25-446 25-447 25-449 25-453 *25-455
TCDT = 000006 #20-83 25-414 25-422
TCST = 177776 #20-79 25-409 25-451
TCWC = 000002 #20-81 *25-445
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
SPCDRV CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 9
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
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
TRPFLG 002302 R 28-646 *28-654 #28-681
TRPVEC = 000034 #1-31
TRWAIT 002260 R 28-602 28-602 28-605 28-605 28-608 28-608 #28-670
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
SPCDRV CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 10
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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
VRS = 000022 #1-38
$DBCA = 001572 RG #27-522
$DBDA = 001564 RG #27-520
$DBDRV 001514 RG 21-221 21-222 #27-508 27-560
$DFDAE = 000320 RG #22-260
$DFDAR = 000312 RG #22-258
$DFDRV 000266 RG 21-138 21-139 #22-250 22-286
$DKDAR = 000502 RG *23-300 23-301 #23-305
$DKDRV 000422 RG 21-154 21-155 #23-291 23-331
$DPCA = 000664 RG #24-352
$DPDA = 000656 RG #24-350
$DPDRV 000636 RG 21-170 21-171 #24-344 24-383
$DSDA 001360 RG #26-470
$DSDRV 001316 RG 21-204 21-205 #26-459 26-502
$DTBLK 001020 RG #25-390
$DTDRV 001016 RG 21-186 21-187 #25-389 25-410 25-452
$DVDRV 000000 RG #21-133
$DXBLK 002034 RG #28-598 *28-610
$DXDRV 001744 RG 21-238 21-239 #28-566 28-603 28-606 28-609 28-638
$DXMOV 002144 RG 28-631 #28-634
$DXSLO 002124 RG 28-592 28-611 #28-621 28-655
$SETDB = ****** GX 21-217
$SETDF = ****** GX 21-134
$SETDK = ****** GX 21-150
$SETDP = ****** GX 21-166
$SETDS = ****** GX 21-200
$SETDT = ****** GX 21-182
$SETDX = ****** GX 21-234
$TRKSC 002304 RG 28-599 28-599 #28-690
$$ = 000067 #28-599 28-599 #28-602 28-602 #28-605 28-605 #28-608 28-608
SPCDRV CREATED BY MACRO ON 14-APR-81 AT 11:13 PAGE 11
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
CALL #1-23 28-599 28-602 28-605 28-608
ND #17-593
RETURN #1-23 22-288 23-341 24-386 25-456 26-505 27-563 28-675 28-715 28-716
STOPCD #2-107
.CKTTS #17-597