1 ; BOOT LOADER CODE 2 ; 3 ; REBASE HIGHER LINK/BOT:140000 4 ; WANT PERFORMANCE COUNTER - CLOCK TICKS TO DO SOMETHING? 5 6 177776 PSW = 177776 7 177564 DL11XCSR = 177564 8 000064 DL11VEC = 64 9 10 177546 KW11LKS = 177546 11 000100 KW11VEC = 100 12 13 .ASECT 14 140000 .=140000 15 140000 000005 START: RESET ; 140000 16 140002 005037 177776 CLR @#PSW 17 140006 012706 140000 MOV #START,SP 18 140012 005037 177564 CLR @#DL11XCSR ; CLEAR THE XCSR 19 140016 012700 141121 MOV #BANNER,R0 20 140022 004767 140150' JSR PC,PRINT 21 140026 012737 140124 000100 MOV #CLKAST,@#KW11VEC 22 140034 012737 000340 000102 MOV #340,@#KW11VEC+2 23 140042 052737 000100 177546 BIS #100,@#KW11LKS ; SET CLOCK TICKING 24 25 140050 012700 141254 MOV #PROMPT,R0 26 140054 004767 140150' JSR PC,PRINT 27 140060 162706 000256 SUB #256,SP 28 140064 010600 MOV SP,R0 29 140066 004767 140244' JSR PC,INPUT 30 140072 005000 CLR R0 31 140074 000001 1$: WAIT 32 140076 005200 INC R0 33 140100 005767 140120' TST LGHTON 34 140104 001773 BEQ 1$ 35 140106 012746 054000 MOV #054000,-(SP) ; SUPER PRIORITY 0 ALT REG 36 140112 016746 140120' MOV LGHTON,-(SP) ; CALL SUPER LOOP START 37 140116 000002 RTI 38 39 140120 000000 LGHTON: .WORD 0 40 140122 000000 CLKTIC: .WORD 0 41 42 CLKAST: ; 140124 43 140124 005267 140122' INC CLKTIC 44 140130 000002 RTI 45 46 ONECHR: 47 140132 105737 177564 TSTB @#DL11XCSR ; 140132 48 140136 100375 BPL ONECHR 49 140140 110037 177566 MOVB R0,@#177566 50 140144 000207 RTS PC 51 52 140146 000000 PRTPTR: .WORD 0 ; 140146 53 54 PRINT: ; 140150 55 140150 132737 000100 177564 BITB #100,@#DL11XCSR 56 140156 001374 BNE PRINT 57 140160 010067 140146' MOV R0,PRTPTR 58 140164 012737 140210 000064 MOV #PRTAST,@#DL11VEC 59 140172 012737 000200 000066 MOV #200,@#DL11VEC+2 60 140200 152737 000100 177564 BISB #100,@#DL11XCSR 61 140206 000207 RTS PC 62 63 PRTAST: ; 140210 64 140210 105777 140146' TSTB @PRTPTR 65 140214 001406 BEQ 2$ 66 140216 117737 140146' 177566 MOVB @PRTPTR,@#177566 67 140224 005267 140146' INC PRTPTR 68 140230 000002 RTI 69 140232 105037 177564 2$: CLRB @#177564 70 140236 000002 RTI 71 72 140240 000000 BUFFER: .WORD 0 ; INPUT BUFFER POINTER 73 140242 000000 LENGTH: .WORD 0 ; INPUT BUFFER LENGTH 74 75 INPUT: 76 140244 010067 140240' MOV R0,BUFFER ; 140244 77 140250 005067 140242' CLR LENGTH 78 140254 012737 140300 000060 MOV #INPAST,@#60 79 140262 012737 000200 000062 MOV #200,@#62 80 140270 152737 000100 177560 BISB #100,@#177560 81 140276 000207 RTS PC 82 83 INPAST: ; 140300 84 140300 010046 MOV R0,-(SP) 85 140302 113700 177562 MOVB @#177562,R0 86 140306 120027 000015 CMPB R0,#15 87 140312 001455 BEQ 7$ ; CARRIAGE RETURN 88 140314 120027 000177 CMPB R0,#127. 89 140320 001403 BEQ 2$ ; 90 140322 120027 000010 CMPB R0,#10 91 140326 001012 BNE 4$ ; BACK SPACE 92 140330 005767 140242' 2$: TST LENGTH ; DATA IN BUFFER? 93 140334 001406 BEQ 3$ 94 140336 005367 140242' DEC LENGTH ; LENGTH 95 140342 012700 141037 MOV #DEL,R0 96 140346 004767 140150' JSR PC,PRINT 97 140352 000453 3$: BR 9$ 98 140354 120027 000040 4$: CMPB R0,#40 99 140360 002450 BLT 9$ ; BELOW SPACE 100 140362 120027 000177 CMPB R0,#177 101 140366 002045 BGE 9$ ; SKIP STUFF TOO BIG 102 140370 004767 140132' JSR PC,ONECHR ; ECHO CHAR 103 140374 120027 000172 CMPB R0,#172 104 140400 003005 BGT 5$ ; ABOVE Z 105 140402 120027 000141 CMPB R0,#141 106 140406 002402 BLT 5$ ; BELOW A 107 140410 142700 000040 BICB #40,R0 ; CONVERT TO UPPER CASE 108 140414 026727 140242' 000254 5$: CMP LENGTH,#254 109 140422 002027 BGE 9$ 110 140424 110046 MOVB R0,-(SP) 111 140426 016700 140240' MOV BUFFER,R0 112 140432 066700 140242' ADD LENGTH,R0 113 140436 112610 MOVB (SP)+,(R0) 114 140440 005267 140242' INC LENGTH 115 140444 000416 BR 9$ 116 117 140446 016700 140240' 7$: MOV BUFFER,R0 118 140452 066700 140242' ADD LENGTH,R0 119 140456 105010 CLRB (R0) 120 140460 012737 140506 000240 MOV #CMD,@#240 ; CALL CMD AT PRIORITY 2 121 140466 012737 000100 000242 MOV #100,@#242 122 140474 012737 002000 177772 MOV #2000,@#177772 123 140502 012600 9$: MOV (SP)+,R0 124 140504 000002 RTI 125 126 CMD: ; 140506 127 140506 005037 177772 CLR @#177772 ; NO MORE PIR CALLS 128 140512 010046 MOV R0,-(SP) 129 140514 010146 MOV R1,-(SP) 130 140516 010246 MOV R2,-(SP) 131 140520 010346 MOV R3,-(SP) 132 140522 010446 MOV R4,-(SP) 133 140524 012700 141034 MOV #EOL,R0 134 140530 004767 140150' JSR PC,PRINT 135 140534 132737 000100 177564 1$: BITB #100,@#177564 136 140542 001374 BNE 1$ 137 140544 005004 CLR R4 138 140546 012703 141043 MOV #CMDLST,R3 ; CMD LIST 139 140552 112300 3$: MOVB (R3)+,R0 140 140554 001431 BEQ 13$ 141 140556 016702 140240' MOV BUFFER,R2 ; USER CMD 142 140562 112201 4$: MOVB (R2)+,R1 143 140564 001431 BEQ 15$ ; NULL COMMAND? 144 140566 120127 000040 CMPB R1,#40 145 140572 001773 BEQ 4$ ; SKIP SPACE 146 140574 120001 5$: CMPB R0,R1 147 140576 001010 BNE 7$ 148 140600 112300 MOVB (R3)+,R0 149 140602 001412 BEQ 9$ 150 140604 112201 MOVB (R2)+,R1 151 140606 001410 BEQ 9$ 152 140610 120127 000040 CMPB R1,#40 153 140614 001367 BNE 5$ 154 140616 000404 BR 9$ 155 140620 112300 7$: MOVB (R3)+,R0 156 140622 001376 BNE 7$ 157 140624 005204 INC R4 158 140626 000751 BR 3$ 159 140630 006304 9$: ASL R4 160 140632 004774 140700 JSR PC,@CMDTBL(R4) ; EXECUTE 161 140636 000404 BR 15$ 162 163 140640 012700 141077 13$: MOV #UNKMSG,R0 164 140644 004767 140150' JSR PC,PRINT 165 166 140650 005067 140242' 15$: CLR LENGTH 167 140654 012700 141254 MOV #PROMPT,R0 168 140660 004767 140150' JSR PC,PRINT 169 140664 012604 MOV (SP)+,R4 170 140666 012603 MOV (SP)+,R3 171 140670 012602 MOV (SP)+,R2 172 140672 012601 MOV (SP)+,R1 173 140674 012600 MOV (SP)+,R0 174 140676 000002 RTI 175 176 177 140700 142154 141350 141364 CMDTBL: .WORD BOOT,HALT,TEST,LIGHTS,HELP 140706 141470 141336 178 140712 103 117 115 HLPMSG: .ASCIZ 'COMMANDS ARE BOOT, HALT, LIGHTS, TEST AND HELP'<15><12>'BOOT DEVICES ARE RK? RL? OR RP?'<15><12> 140715 115 101 116 140720 104 123 040 140723 101 122 105 140726 040 102 117 140731 117 124 054 140734 040 110 101 140737 114 124 054 140742 040 114 111 140745 107 110 124 140750 123 054 040 140753 124 105 123 140756 124 040 101 140761 116 104 040 140764 110 105 114 140767 120 015 012 140772 102 117 117 140775 124 040 104 141000 105 126 111 141003 103 105 123 141006 040 101 122 141011 105 040 122 141014 113 077 040 141017 122 114 077 141022 040 117 122 141025 040 122 120 141030 077 015 012 141033 000 179 141034 015 012 000 EOL: .BYTE 15,12,0 180 141037 010 040 010 DEL: .BYTE 10,40,10,0 141042 000 181 141043 102 117 117 CMDLST: .ASCIZ 'BOOT' 141046 124 000 182 141050 110 101 114 .ASCIZ 'HALT' 141053 124 000 183 141055 124 105 123 .ASCIZ 'TEST' 141060 124 000 184 141062 114 111 107 .ASCIZ 'LIGHTS' 141065 110 124 123 141070 000 185 141071 110 105 114 .ASCIZ 'HELP' 141074 120 000 186 141076 000 .BYTE 0 187 141077 125 116 113 UNKMSG: .ASCIZ 'UNKNOWN COMMAND'<12><15> 141102 116 117 127 141105 116 040 103 141110 117 115 115 141113 101 116 104 141116 012 015 000 188 141121 120 104 120 BANNER: .ASCIZ 'PDP-11 BOOT TEST FOR PDPjs'<12><15>'ADAPTED FROM CODE BY PAUL NANKERVIS '<12><15><12><15> 141124 055 061 061 141127 040 102 117 141132 117 124 040 141135 124 105 123 141140 124 040 106 141143 117 122 040 141146 120 104 120 141151 152 163 012 141154 015 101 104 141157 101 120 124 141162 105 104 040 141165 106 122 117 141170 115 040 103 141173 117 104 105 141176 040 102 131 141201 040 120 101 141204 125 114 040 141207 116 101 116 141212 113 105 122 141215 126 111 123 141220 040 074 120 141223 101 125 114 141226 116 101 116 141231 113 100 110 141234 117 124 115 141237 101 111 114 141242 056 103 117 141245 115 076 012 141250 015 012 015 141253 000 189 141254 102 117 117 PROMPT: .ASCIZ 'BOOT> ' 141257 124 076 040 141262 000 190 141263 125 116 113 BADBOO: .ASCIZ 'UNKNOWN BOOT DEVICE'<12><15> 141266 116 117 127 141271 116 040 102 141274 117 117 124 141277 040 104 105 141302 126 111 103 141305 105 012 015 141310 000 191 141311 040 040 040 PERMSG: .ASCIZ ' CLOCK TICKS'<12><15> 141314 040 040 040 141317 103 114 117 141322 103 113 040 141325 124 111 103 141330 113 123 012 141333 015 000 192 193 141335 000 .EVEN 194 195 HELP: ; 141244 196 141336 012700 140712 MOV #HLPMSG,R0 197 141342 004767 140150' JSR PC,PRINT 198 141346 000207 RTS PC 199 200 HALT: ; 141260 201 141350 000000 HALT 202 141352 012700 141034 MOV #EOL,R0 203 141356 004767 140150' JSR PC,PRINT 204 141362 000207 RTS PC 205 206 TEST: ; 141272 207 141364 005067 140122' CLR CLKTIC 208 209 141370 012705 015000 MOV #15000,R5 210 141374 010537 177570 10$: MOV R5,@#177570 ; DISPLAY 211 141400 010504 MOV R5,R4 212 141402 006204 ASR R4 213 141404 005000 15$: CLR R0 214 141406 010501 MOV R5,R1 215 141410 071004 DIV R4,R0 216 141412 010002 MOV R0,R2 217 141414 070204 MUL R4,R2 218 141416 060301 ADD R3,R1 219 141420 020105 CMP R1,R5 220 141422 001401 BEQ 20$ 221 141424 000000 HALT 222 141426 077412 20$: SOB R4,15$ 223 141430 077517 SOB R5,10$ 224 225 141432 012700 141316 MOV #PERMSG+5,R0 226 141436 016703 140122' MOV CLKTIC,R3 227 228 141442 005002 25$: CLR R2 ; 141350 229 141444 071227 000010 DIV #10,R2 230 141450 062703 000060 ADD #'0,R3 231 141454 110340 MOVB R3,-(R0) 232 141456 010203 MOV R2,R3 233 141460 001370 BNE 25$ 234 235 141462 004767 140150' JSR PC,PRINT 236 141466 000207 RTS PC 237 238 239 177572 MMR0=177572 240 177574 MMR1=177574 241 177576 MMR2=177576 242 172516 MMR3=172516 243 244 LIGHTS: ; 141376 245 141470 012703 077406 MOV #77406,R3 ; DEFAULT PDR 246 141474 005002 CLR R2 247 141476 005001 CLR R1 248 141500 012700 000010 MOV #8.,R0 249 141504 010361 172300 1$: MOV R3,172300(R1) ; KERNEL I PDR 250 141510 010261 172340 MOV R2,172340(R1) ; KERNEL I PAR 251 141514 010361 172320 MOV R3,172320(R1) ; KERNEL D PDR 252 141520 010261 172360 MOV R2,172360(R1) ; KERNEL D PAR 253 141524 010361 172200 MOV R3,172200(R1) ; SUPER I PDR 254 141530 010261 172240 MOV R2,172240(R1) ; SUPER I PAR 255 141534 010361 172220 MOV R3,172220(R1) ; SUPER D PDR 256 141540 010261 172260 MOV R2,172260(R1) ; SUPER D PAR 257 141544 010361 177600 MOV R3,177600(R1) ; USER I PDR 258 141550 010261 177640 MOV R2,177640(R1) ; USER I PAR 259 141554 010361 177620 MOV R3,177620(R1) ; USER D PDR 260 141560 010361 177660 MOV R3,177660(R1) ; USER D PAR 261 141564 062702 000200 ADD #200,R2 262 141570 062701 000002 ADD #2,R1 263 141574 077035 SOB R0,1$ 264 141576 052737 176000 172376 BIS #176000,@#172376 ; KERNEL D POINTS TO I/O SPACE 265 141604 052737 176000 172276 BIS #176000,@#172276 ; SUPER D POINTS TO I/O SPACE 266 141612 052737 176000 177676 BIS #176000,@#177676 ; USER D POINTS TO I/O SPACE 267 141620 012737 000077 172516 MOV #77,@#MMR3 ; 77 FOR 22 BIT 268 141626 012737 000001 177572 MOV #1,@#MMR0 269 270 141634 012737 001700 172244 MOV #1700,@#172244 ; BASE SUPER I (PAR 2) #40000 AT #170000 271 141642 012737 001700 172264 MOV #1700,@#172264 ; BASE SUPER D (PAR 2) #40000 AT #170000 272 141650 012737 010000 177776 MOV #010000,@#177776 ; SET PM TO SUPER 273 274 141656 012703 040200 MOV #40200,R3 ; SUPER CODE ADDRESS 275 141662 012702 141710 MOV #SUPERS,R2 ; ADDRESS SUPER CODE 276 141666 012246 10$: MOV (R2)+,-(SP) 277 141670 006623 MTPI (R3)+ 278 141672 020227 142154 CMP R2,#SUPERE 279 141676 103773 BLO 10$ 280 281 141700 012767 040200 140120' MOV #40200,LGHTON ; CHANGE IDLE TASK 282 141706 000207 RTS PC 283 284 ; 285 ; TO BE COPIED TO SUPER #40200 AT PHYSICAL #170000 286 ; #40000 TO #40200 FOR WAIT & JMP INSTRUCTIONS 287 ; 288 SUPERS: ; 141616 289 141710 012700 000037 MOV #37,R0 ; LOAD PATTERN 290 141714 012701 174000 MOV #174000,R1 291 141720 032737 000001 177570 BIT #1,@#177570 292 141726 001414 BEQ 10$ 293 141730 012700 007417 MOV #7417,R0 294 141734 010001 MOV R0,R1 295 141736 005101 COM R1 296 141740 032737 000002 177570 BIT #2,@#177570 297 141746 001404 BEQ 10$ 298 141750 012700 036163 MOV #36163,R0 299 141754 012701 037000 MOV #37000,R1 300 141760 010102 10$: MOV R1,R2 301 141762 162702 000002 SUB #2,R2 302 141766 042702 000001 BIC #1,R2 ; WAIT ADDRESS 303 141772 010203 MOV R2,R3 304 141774 042703 177701 BIC #177701,R3 ; ADDRESS OFFSET 305 142000 012763 000001 040000 MOV #0000001,40000(R3) ; WRITE WAIT 306 142006 062703 000002 ADD #2,R3 307 142012 012763 000113 040000 MOV #0000113,40000(R3) ; WRITE JMP (R3) 308 309 142020 010204 MOV R2,R4 310 142022 072427 177772 ASH #-6,R4 311 142026 042704 177600 BIC #177600,R4 312 142032 012705 001700 MOV #1700,R5 313 142036 160405 SUB R4,R5 ; PAR ADDRESS BASE FOR WAIT 314 142040 010204 MOV R2,R4 315 142042 072427 177764 ASH #-12.,R4 316 142046 042704 177761 BIC #177761,R4 ; PAR SELECT OFFSET 317 142052 010564 172240 MOV R5,172240(R4) ; SUPER I SPACE 318 319 142056 010103 MOV R1,R3 320 142060 072327 177764 ASH #-12.,R3 321 142064 042703 177761 BIC #177761,R3 ; PAR SELECT OFFSET 322 142070 020304 CMP R3,R4 ; SAME PAR 323 142072 001412 BEQ 30$ 324 142074 010104 MOV R1,R4 325 142076 072427 177772 ASH #-6,R4 326 142102 042704 177600 BIC #177600,R4 327 142106 012705 001700 MOV #1700,R5 328 142112 160405 SUB R4,R5 ; PAR ADDRESS BASE FOR JMP 329 142114 010563 172240 MOV R5,172240(R3) ; SUPER I SPACE 330 30$: 331 142120 012704 000003 MOV #3,R4 332 142124 063704 177570 ADD @#177570,R4 333 142130 012703 000002 MOV #2,R3 334 142134 060703 ADD PC,R3 335 142136 000112 40$: JMP (R2) 336 142140 077402 SOB R4,40$ 337 142142 010002 MOV R0,R2 338 142144 006002 ROR R2 ; ROTATE PATTERN 339 142146 006101 ROL R1 340 142150 006000 ROR R0 341 142152 000702 BR 10$ 342 SUPERE: 343 344 BOOT: ; 142062 345 142154 005003 CLR R3 ; UNIT 346 142156 112201 1$: MOVB (R2)+,R1 347 142160 001545 BEQ BOOTRK ; DEFAULT DEVICE IS RK0 348 142162 120127 000040 CMPB R1,#40 349 142166 001773 BEQ 1$ 350 142170 120127 000122 CMPB R1,#'R 351 142174 001405 BEQ 5$ 352 353 142176 012700 141263 MOV #BADBOO,R0 354 142202 004767 140150' JSR PC,PRINT 355 142206 000207 RTS PC 356 357 142210 112201 5$: MOVB (R2)+,R1 ; HOPEFULLY K, L OR P 358 142212 112200 7$: MOVB (R2)+,R0 ; DIGIT 359 142214 001416 BEQ 9$ 360 142216 120027 000040 CMPB R0,#40 361 142222 001413 BEQ 9$ 362 142224 120027 000067 CMPB R0,#'7 363 142230 003031 BGT 11$ 364 142232 162700 000060 SUB #'0,R0 365 142236 002426 BLT 11$ 366 142240 006303 ASL R3 367 142242 006303 ASL R3 368 142244 006303 ASL R3 369 142246 050003 BIS R0,R3 ; PUT DIGIT INTO UNIT 370 142250 000760 BR 7$ 371 142252 005002 9$: CLR R2 372 142254 012722 000137 MOV #137,(R2)+ 373 142260 012722 140000 MOV #START,(R2)+ 374 142264 012722 140000 MOV #START,(R2)+ 375 142270 005022 CLR (R2)+ 376 142272 120127 000113 CMPB R1,#'K 377 142276 001476 BEQ BOOTRK 378 142300 120127 000114 CMPB R1,#'L 379 142304 001410 BEQ BOOTRL 380 142306 120127 000120 CMPB R1,#'P 381 142312 001517 BEQ BOOTRP 382 383 142314 012700 141077 11$: MOV #UNKMSG,R0 384 142320 004767 140150' JSR PC,PRINT 385 142324 000207 RTS PC 386 387 174400 RLCS=174400 388 BOOTRL: ; 142234 389 142326 000005 RESET 390 142330 000303 SWAB R3 ; UNIT NUMBER 391 142332 012701 174400 MOV #RLCS,R1 ; CSR 392 142336 012761 000013 000004 MOV #13,4(R1) ; CLR ERR 393 142344 052703 000004 BIS #4,R3 ; UNIT+GSTAT 394 142350 010311 MOV R3,(R1) ; ISSUE CMD 395 142352 105711 TSTB (R1) ; WAIT 396 142354 100376 BPL .-2 397 142356 105003 CLRB R3 398 142360 052703 000010 BIS #10,R3 ; UNIT+RDHDR 399 142364 010311 MOV R3,(R1) ; ISSUE CMD 400 142366 105711 TSTB (R1) ; WAIT 401 142370 100376 BPL .-2 402 142372 016102 000006 MOV 6(R1),R2 ; GET HDR 403 142376 042702 000077 BIC #77,R2 ; CLR SECTOR 404 142402 005202 INC R2 ; MAGIC BIT 405 142404 010261 000004 MOV R2,4(R1) ; SEEK TO 0 406 142410 105003 CLRB R3 407 142412 052703 000006 BIS #6,R3 ; UNIT+SEEK 408 142416 010311 MOV R3,(R1) ; ISSUE CMD 409 142420 105711 TSTB (R1) ; WAIT 410 142422 100376 BPL .-2 411 142424 005061 000002 CLR 2(R1) ; CLR BA 412 142430 005061 000004 CLR 4(R1) ; CLR DA 413 142434 012761 177000 000006 MOV #-512.,6(R1) ; SET WC 414 142442 105003 CLRB R3 415 142444 052703 000014 BIS #14,R3 ; UNIT+READ 416 142450 010311 MOV R3,(R1) ; ISSUE CMD 417 142452 105711 TSTB (R1) ; WAIT 418 142454 100376 BPL .-2 419 142456 042711 000377 BIC #377,(R1) 420 142462 005002 CLR R2 421 142464 005003 CLR R3 422 142466 005004 CLR R4 423 142470 005005 CLR R5 424 142472 005007 CLR PC 425 426 177412 RKDA=177412 427 000005 READGO=5 428 BOOTRK: 429 142474 000005 RESET ; 142402 430 142476 000303 SWAB R3 ; UNIT NUMBER 431 142500 006303 ASL R3 432 142502 006303 ASL R3 433 142504 006303 ASL R3 434 142506 006303 ASL R3 435 142510 006303 ASL R3 436 142512 012701 177412 MOV #RKDA,R1 ; CSR 437 142516 010311 MOV R3,(R1) ; LOAD DA 438 142520 005041 CLR -(R1) ; CLEAR BA 439 142522 012741 177000 MOV #-256.*2,-(R1) ; LOAD WC 440 142526 012741 000005 MOV #READGO,-(R1) ; READ & GO 441 142532 005002 CLR R2 442 142534 005003 CLR R3 443 142536 005004 CLR R4 444 142540 005005 CLR R5 445 142542 105711 TSTB (R1) 446 142544 100376 BPL .-2 447 142546 105011 CLRB (R1) 448 142550 005007 CLR PC 449 450 176700 RPCSR=0176700 451 BOOTRP: ; 142460 452 142552 000005 RESET 453 142554 012701 176700 MOV #RPCSR, R1 454 142560 012761 000040 000010 MOV #0000040, 10(R1) ; RESET 455 142566 010361 000010 MOV R3, 10(R1) ; SET UNIT 456 142572 012711 000021 MOV #0000021, (R1) ; PACK ACK 457 142576 012761 010000 000032 MOV #0010000, 32(R1) ; 16B MODE 458 142604 012761 177000 000002 MOV #-512., 2(R1) ; SET WC 459 142612 005061 000004 CLR 4(R1) ; CLR BA 460 142616 005061 000006 CLR 6(R1) ; CLR DA 461 142622 005061 000034 CLR 34(R1) ; CLR CYL 462 142626 012711 000071 MOV #0000071, (R1) ; READ 463 142632 105711 TSTB (R1) ; WAIT 464 142634 100376 BPL .-2 465 142636 105011 CLRB (R1) 466 142640 010300 MOV R3,R0 467 142642 005007 CLR PC 468 469 .END START 469