.asect .=1000 ;; Set Start Address Start: MOV #176500,R1 ;; Load RCSR Address into R1 MOV #176504,R2 ;; Load XCSR Address into R2 MOV R1,R0 ;; Transfer R1 into R0 INC (R2) ;; Increment XCSR - Set BRK L1: TSTB (R2) ;; Test LSB of XCSR BPL L1 ;; Loop($1) until Xmit Rdy ASL R0 ;; Shift R0 testing until 0 BNE L2 CLR (R2) ;; After 8 chars, clear BRK MOV #4,R0 ;; Transmit: INIT, BOOT, DD0 TST 2(R1) ;; Clear RBUF L2: BIC #20,R0 ;; Clear R0.4 (Selects DD0:) MOV R0,2(R2) ;; Transmit R0 to TU58 BNE L1 ;; Loop($1) until R0 == 0 CLR R3 ;; Clr R3: Boot Load Pointer L3: TSTB (R1) ;; Read RCSR BPL L3 ;; Loop($3) until Rx Rdy MOVB 2(R1),(R3)+ ;; Read char and store CMP #1000,R3 ;; Check if 512 bytes read BHI L3 ;; Loop($3) if R3 < #1000 CLR PC ;; Clr PC, start boot pgm