.TITLE AZKDJ -- AZ11 BOOTSTRAP FOR KDJ11-B .IDENT /V01.02/ .ASECT .=10000 START:: MOV #START,SP ;INITIALIZE STACK POINTER TSTB @#177560 ;KEY PRESSED? BPL 10$ ;IF PL NO MOVB @#177562,R5 ;GET THE CHARACTER FROM KEYBOARD BIC #^C177,R5 ;MASK IRRELEVANT BITS CMP #3,R5 ;CTRL/C? BEQ 30$ ;IF EQ YES 10$: TST R1 ;CSR SPECIFIED? BNE 20$ ;IF NE YES MOV #177220,R1 ;NO, USE DEFAULT CSR 20$: CLR @R1 ;RESET CONTROLLER TSTB @R1 ; BPL 20$ ; MOV R0,2(R1) ;SELECT THE DRIVE MOV #1,@R1 ; TST @R1 ;UNIT ONLINE? BPL 40$ ;IF PL YES MOV #272,R5 ;NO MEDIA IN DRIVE 30$: BIC #760,@#177520 ;MAKE SURE ROM IS ENABLED JMP @#165762 ;RESTART ROM 40$: CLR 2(R1) ;SEEK TO BLOCK 0 MOV #2,@R1 ; MOV #5,@R1 ;READ BOOT BLOCK 50$: TSTB @R1 ; BPL 50$ ; MOV #256.,R2 ;SET WORD COUNT CLR R3 ;POINT TO THE BEGINNING OF MEMORY MOV #15,(R1)+ ;START READING FROM BUFFER 60$: MOV @R1,(R3)+ ;MOVE A WORD SOB R2,60$ ;LOOP UNTIL WE DONE MOV #110,-(R1) ;ENABLE NETWORK MOV #1,R5 ;PRINT STARTING MESSAGE CALL 30$ ; MOV #340,@#177776 ;MAKE SURE WE USING MAIN REGISTER SET MOV #77,@#177524 ;DISPLAY BOOT/DIAGNOSTIC CODE 00 CLR PC ;BOOT THE SYSTEM .END