// cat.asm // // load spi flash rom starting at address 0x040000 and write the // data to UART_TX // // Put your code here: @171 D=A @SPI M=D @21 D=A @COUNT M=D (DECR) @COUNT DM=M-1 @DECR D;JGT @3 D=A @SPI M=D (WAIT10) @SPI D=M @WAIT10 D;JLT @4 D=A @SPI M=D (WAIT11) @SPI D=M @WAIT11 D;JLT @SPI M=0 (WAIT12) @SPI D=M @WAIT12 D;JLT @SPI M=0 (WAIT13) @SPI D=M @WAIT13 D;JLT //(WAIT14) //@SPI //D=M //@WAIT14 //D;JLT //@SPI //D=M //@128 //M=D @4 D=A @SPI M=D (WAIT21) @SPI D=M @WAIT21 D;JLT @SPI M=0 (WAIT22) @SPI D=M @WAIT22 D;JLT @SPI M=1 (WAIT23) @SPI D=M @WAIT23 D;JLT @SPI D=M @129 M=D @4 D=A @SPI M=D (WAIT31) @SPI D=M @WAIT31 D;JLT @SPI M=0 (WAIT32) @SPI D=M @WAIT32 D;JLT @2 D=A @SPI M=D (WAIT33) @SPI D=M @WAIT33 D;JLT @SPI D=M @130 M=D start @128 D=A @CHARBOOT M=D @BOOT 0;JEQ (POLL) @BUT D=!M @LED M=D @POLL 0;JMP (WAITBOOT) @UART_TX D=M @BOOT D;JEQ @WAITBOOT 0;JMP (BOOT) @CHARBOOT A=M D=M @UART_TX M=D @CHARBOOT M=M+1 @131 D=A @CHARBOOT D=D-M @ENDBOOT D;JEQ @WAITBOOT 0;JMP (ENDBOOT) @POLL 0;JMP