1 ; BOOT MONITOR 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 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 141151 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: 43 140124 005267 140122' INC CLKTIC 44 140130 000002 RTI 45 46 ONECHR: 47 140132 105737 177564 TSTB @#DL11XCSR 48 140136 100375 BPL ONECHR 49 140140 110037 177566 MOVB R0,@#177566 50 140144 000207 RTS PC 51 52 140146 000000 PRTPTR: .WORD 0 53 54 PRINT: 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: 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 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: 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: 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 141151 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 142050 141244 141260 CMDTBL: .WORD BOOT,HALT,TEST,LIGHTS,HELP 140706 141364 141232 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 MONITOR V1.0'<12><15><12><15> 141124 055 061 061 141127 040 115 117 141132 116 111 124 141135 117 122 040 141140 126 061 056 141143 060 012 015 141146 012 015 000 189 ; 'ADAPTED FROM CODE BY PAUL NANKERVIS '<12><15><12><15> 190 141151 102 117 117 PROMPT: .ASCIZ 'BOOT> ' 141154 124 076 040 141157 000 191 141160 125 116 113 BADBOO: .ASCIZ 'UNKNOWN BOOT DEVICE'<12><15> 141163 116 117 127 141166 116 040 102 141171 117 117 124 141174 040 104 105 141177 126 111 103 141202 105 012 015 141205 000 192 141206 040 040 040 PERMSG: .ASCIZ ' CLOCK TICKS'<12><15> 141211 040 040 040 141214 103 114 117 141217 103 113 040 141222 124 111 103 141225 113 123 012 141230 015 000 193 194 .EVEN 195 196 HELP: 197 141232 012700 140712 MOV #HLPMSG,R0 198 141236 004767 140150' JSR PC,PRINT 199 141242 000207 RTS PC 200 201 HALT: 202 141244 000000 HALT 203 141246 012700 141034 MOV #EOL,R0 204 141252 004767 140150' JSR PC,PRINT 205 141256 000207 RTS PC 206 207 TEST: 208 141260 005067 140122' CLR CLKTIC 209 210 141264 012705 015000 MOV #15000,R5 211 141270 010537 177570 10$: MOV R5,@#177570 ; DISPLAY 212 141274 010504 MOV R5,R4 213 141276 006204 ASR R4 214 141300 005000 15$: CLR R0 215 141302 010501 MOV R5,R1 216 141304 071004 DIV R4,R0 217 141306 010002 MOV R0,R2 218 141310 070204 MUL R4,R2 219 141312 060301 ADD R3,R1 220 141314 020105 CMP R1,R5 221 141316 001401 BEQ 20$ 222 141320 000000 HALT 223 141322 077412 20$: SOB R4,15$ 224 141324 077517 SOB R5,10$ 225 226 141326 012700 141213 MOV #PERMSG+5,R0 227 141332 016703 140122' MOV CLKTIC,R3 228 229 141336 005002 25$: CLR R2 230 141340 071227 000010 DIV #10,R2 231 141344 062703 000060 ADD #'0,R3 232 141350 110340 MOVB R3,-(R0) 233 141352 010203 MOV R2,R3 234 141354 001370 BNE 25$ 235 236 141356 004767 140150' JSR PC,PRINT 237 141362 000207 RTS PC 238 239 240 177572 MMR0=177572 241 177574 MMR1=177574 242 177576 MMR2=177576 243 172516 MMR3=172516 244 245 LIGHTS: 246 141364 012703 077406 MOV #77406,R3 ; DEFAULT PDR 247 141370 005002 CLR R2 248 141372 005001 CLR R1 249 141374 012700 000010 MOV #8.,R0 250 141400 010361 172300 1$: MOV R3,172300(R1) ; KERNEL I PDR 251 141404 010261 172340 MOV R2,172340(R1) ; KERNEL I PAR 252 141410 010361 172320 MOV R3,172320(R1) ; KERNEL D PDR 253 141414 010261 172360 MOV R2,172360(R1) ; KERNEL D PAR 254 141420 010361 172200 MOV R3,172200(R1) ; SUPER I PDR 255 141424 010261 172240 MOV R2,172240(R1) ; SUPER I PAR 256 141430 010361 172220 MOV R3,172220(R1) ; SUPER D PDR 257 141434 010261 172260 MOV R2,172260(R1) ; SUPER D PAR 258 141440 010361 177600 MOV R3,177600(R1) ; USER I PDR 259 141444 010261 177640 MOV R2,177640(R1) ; USER I PAR 260 141450 010361 177620 MOV R3,177620(R1) ; USER D PDR 261 141454 010361 177660 MOV R3,177660(R1) ; USER D PAR 262 141460 062702 000200 ADD #200,R2 263 141464 062701 000002 ADD #2,R1 264 141470 077035 SOB R0,1$ 265 141472 052737 176000 172376 BIS #176000,@#172376 ; KERNEL D POINTS TO I/O SPACE 266 141500 052737 176000 172276 BIS #176000,@#172276 ; SUPER D POINTS TO I/O SPACE 267 141506 052737 176000 177676 BIS #176000,@#177676 ; USER D POINTS TO I/O SPACE 268 141514 012737 000077 172516 MOV #77,@#MMR3 ; 77 FOR 22 BIT 269 141522 012737 000001 177572 MOV #1,@#MMR0 270 271 141530 012737 001700 172244 MOV #1700,@#172244 ; BASE SUPER I (PAR 2) #40000 AT #170000 272 141536 012737 001700 172264 MOV #1700,@#172264 ; BASE SUPER D (PAR 2) #40000 AT #170000 273 141544 012737 010000 177776 MOV #010000,@#177776 ; SET PM TO SUPER 274 275 141552 012703 040200 MOV #40200,R3 ; SUPER CODE ADDRESS 276 141556 012702 141604 MOV #SUPERS,R2 ; ADDRESS SUPER CODE 277 141562 012246 10$: MOV (R2)+,-(SP) 278 141564 006623 MTPI (R3)+ 279 141566 020227 142050 CMP R2,#SUPERE 280 141572 103773 BLO 10$ 281 282 141574 012767 040200 140120' MOV #40200,LGHTON ; CHANGE IDLE TASK 283 141602 000207 RTS PC 284 285 ; 286 ; TO BE COPIED TO SUPER #40200 AT PHYSICAL #170000 287 ; #40000 TO #40200 FOR WAIT & JMP INSTRUCTIONS 288 ; 289 SUPERS: 290 141604 012700 000037 MOV #37,R0 ; LOAD PATTERN 291 141610 012701 174000 MOV #174000,R1 292 141614 032737 000001 177570 BIT #1,@#177570 293 141622 001414 BEQ 10$ 294 141624 012700 007417 MOV #7417,R0 295 141630 010001 MOV R0,R1 296 141632 005101 COM R1 297 141634 032737 000002 177570 BIT #2,@#177570 298 141642 001404 BEQ 10$ 299 141644 012700 036163 MOV #36163,R0 300 141650 012701 037000 MOV #37000,R1 301 141654 010102 10$: MOV R1,R2 302 141656 162702 000002 SUB #2,R2 303 141662 042702 000001 BIC #1,R2 ; WAIT ADDRESS 304 141666 010203 MOV R2,R3 305 141670 042703 177701 BIC #177701,R3 ; ADDRESS OFFSET 306 141674 012763 000001 040000 MOV #0000001,40000(R3) ; WRITE WAIT 307 141702 062703 000002 ADD #2,R3 308 141706 012763 000113 040000 MOV #0000113,40000(R3) ; WRITE JMP (R3) 309 310 141714 010204 MOV R2,R4 311 141716 072427 177772 ASH #-6,R4 312 141722 042704 177600 BIC #177600,R4 313 141726 012705 001700 MOV #1700,R5 314 141732 160405 SUB R4,R5 ; PAR ADDRESS BASE FOR WAIT 315 141734 010204 MOV R2,R4 316 141736 072427 177764 ASH #-12.,R4 317 141742 042704 177761 BIC #177761,R4 ; PAR SELECT OFFSET 318 141746 010564 172240 MOV R5,172240(R4) ; SUPER I SPACE 319 320 141752 010103 MOV R1,R3 321 141754 072327 177764 ASH #-12.,R3 322 141760 042703 177761 BIC #177761,R3 ; PAR SELECT OFFSET 323 141764 020304 CMP R3,R4 ; SAME PAR 324 141766 001412 BEQ 30$ 325 141770 010104 MOV R1,R4 326 141772 072427 177772 ASH #-6,R4 327 141776 042704 177600 BIC #177600,R4 328 142002 012705 001700 MOV #1700,R5 329 142006 160405 SUB R4,R5 ; PAR ADDRESS BASE FOR JMP 330 142010 010563 172240 MOV R5,172240(R3) ; SUPER I SPACE 331 30$: 332 142014 012704 000003 MOV #3,R4 333 142020 063704 177570 ADD @#177570,R4 334 142024 012703 000002 MOV #2,R3 335 142030 060703 ADD PC,R3 336 142032 000112 40$: JMP (R2) 337 142034 077402 SOB R4,40$ 338 142036 010002 MOV R0,R2 339 142040 006002 ROR R2 ; ROTATE PATTERN 340 142042 006101 ROL R1 341 142044 006000 ROR R0 342 142046 000702 BR 10$ 343 SUPERE: 344 345 BOOT: 346 142050 005003 CLR R3 ; UNIT 347 142052 112201 1$: MOVB (R2)+,R1 348 142054 001545 BEQ BOOTRK ; DEFAULT DEVICE IS RK0 349 142056 120127 000040 CMPB R1,#40 350 142062 001773 BEQ 1$ 351 142064 120127 000122 CMPB R1,#'R 352 142070 001405 BEQ 5$ 353 354 142072 012700 141160 MOV #BADBOO,R0 355 142076 004767 140150' JSR PC,PRINT 356 142102 000207 RTS PC 357 358 142104 112201 5$: MOVB (R2)+,R1 ; HOPEFULLY K, L OR P 359 142106 112200 7$: MOVB (R2)+,R0 ; DIGIT 360 142110 001416 BEQ 9$ 361 142112 120027 000040 CMPB R0,#40 362 142116 001413 BEQ 9$ 363 142120 120027 000067 CMPB R0,#'7 364 142124 003031 BGT 11$ 365 142126 162700 000060 SUB #'0,R0 366 142132 002426 BLT 11$ 367 142134 006303 ASL R3 368 142136 006303 ASL R3 369 142140 006303 ASL R3 370 142142 050003 BIS R0,R3 ; PUT DIGIT INTO UNIT 371 142144 000760 BR 7$ 372 142146 005002 9$: CLR R2 373 142150 012722 000137 MOV #137,(R2)+ ; STORE "JMP @#140000" INSTRUCTION AT ADDRESS 0 374 142154 012722 140000 MOV #START,(R2)+ 375 142160 012722 140000 MOV #START,(R2)+ ; STORE #140000 IN VECTOR 4, IN CASE OF TRAP TO 4 376 142164 005022 CLR (R2)+ 377 142166 120127 000113 CMPB R1,#'K 378 142172 001476 BEQ BOOTRK 379 142174 120127 000114 CMPB R1,#'L 380 142200 001410 BEQ BOOTRL 381 142202 120127 000120 CMPB R1,#'P 382 142206 001517 BEQ BOOTRP 383 384 142210 012700 141077 11$: MOV #UNKMSG,R0 385 142214 004767 140150' JSR PC,PRINT 386 142220 000207 RTS PC 387 388 174400 RLCS=174400 389 BOOTRL: 390 142222 000005 RESET 391 142224 000303 SWAB R3 ; UNIT NUMBER 392 142226 012701 174400 MOV #RLCS,R1 ; CSR 393 142232 012761 000013 000004 MOV #13,4(R1) ; CLR ERR 394 142240 052703 000004 BIS #4,R3 ; UNIT+GSTAT 395 142244 010311 MOV R3,(R1) ; ISSUE CMD 396 142246 105711 TSTB (R1) ; WAIT 397 142250 100376 BPL .-2 398 142252 105003 CLRB R3 399 142254 052703 000010 BIS #10,R3 ; UNIT+RDHDR 400 142260 010311 MOV R3,(R1) ; ISSUE CMD 401 142262 105711 TSTB (R1) ; WAIT 402 142264 100376 BPL .-2 403 142266 016102 000006 MOV 6(R1),R2 ; GET HDR 404 142272 042702 000077 BIC #77,R2 ; CLR SECTOR 405 142276 005202 INC R2 ; MAGIC BIT 406 142300 010261 000004 MOV R2,4(R1) ; SEEK TO 0 407 142304 105003 CLRB R3 408 142306 052703 000006 BIS #6,R3 ; UNIT+SEEK 409 142312 010311 MOV R3,(R1) ; ISSUE CMD 410 142314 105711 TSTB (R1) ; WAIT 411 142316 100376 BPL .-2 412 142320 005061 000002 CLR 2(R1) ; CLR BA 413 142324 005061 000004 CLR 4(R1) ; CLR DA 414 142330 012761 177000 000006 MOV #-512.,6(R1) ; SET WC 415 142336 105003 CLRB R3 416 142340 052703 000014 BIS #14,R3 ; UNIT+READ 417 142344 010311 MOV R3,(R1) ; ISSUE CMD 418 142346 105711 TSTB (R1) ; WAIT 419 142350 100376 BPL .-2 420 142352 042711 000377 BIC #377,(R1) 421 142356 005002 CLR R2 422 142360 005003 CLR R3 423 142362 005004 CLR R4 424 142364 005005 CLR R5 425 142366 005007 CLR PC 426 427 177412 RKDA=177412 428 000005 READGO=5 429 BOOTRK: 430 142370 000005 RESET 431 142372 000303 SWAB R3 ; UNIT NUMBER 432 142374 006303 ASL R3 433 142376 006303 ASL R3 434 142400 006303 ASL R3 435 142402 006303 ASL R3 436 142404 006303 ASL R3 437 142406 012701 177412 MOV #RKDA,R1 ; CSR 438 142412 010311 MOV R3,(R1) ; LOAD DA 439 142414 005041 CLR -(R1) ; CLEAR BA 440 142416 012741 177000 MOV #-256.*2,-(R1) ; LOAD WC 441 142422 012741 000005 MOV #READGO,-(R1) ; READ & GO 442 142426 005002 CLR R2 443 142430 005003 CLR R3 444 142432 005004 CLR R4 445 142434 005005 CLR R5 446 142436 105711 TSTB (R1) 447 142440 100376 BPL .-2 448 142442 105011 CLRB (R1) 449 142444 005007 CLR PC 450 451 176700 RPCSR=0176700 452 BOOTRP: 453 142446 000005 RESET 454 142450 012701 176700 MOV #RPCSR, R1 455 142454 012761 000040 000010 MOV #0000040, 10(R1) ; RESET 456 142462 010361 000010 MOV R3, 10(R1) ; SET UNIT 457 142466 012711 000021 MOV #0000021, (R1) ; PACK ACK 458 142472 012761 010000 000032 MOV #0010000, 32(R1) ; 16B MODE 459 142500 012761 177000 000002 MOV #-512., 2(R1) ; SET WC 460 142506 005061 000004 CLR 4(R1) ; CLR BA 461 142512 005061 000006 CLR 6(R1) ; CLR DA 462 142516 005061 000034 CLR 34(R1) ; CLR CYL 463 142522 012711 000071 MOV #0000071, (R1) ; READ 464 142526 105711 TSTB (R1) ; WAIT 465 142530 100376 BPL .-2 466 142532 105011 CLRB (R1) 467 142534 010300 MOV R3,R0 468 142536 005007 CLR PC 469 470 .END START 470