bootloader test dump
This commit is contained in:
@@ -5,3 +5,185 @@
|
||||
// the string to UART_TX
|
||||
//
|
||||
// Put your code here:
|
||||
// cat.asm
|
||||
//
|
||||
// load spi flash rom starting at address 0x040000 and write the
|
||||
// data to UART_TX
|
||||
//
|
||||
// Put your code here:
|
||||
|
||||
// D=M -> 1111110000010000
|
||||
// M=D -> 1110001100001000
|
||||
// M=0 -> 1110101010001000
|
||||
|
||||
// read data starting at address
|
||||
// 0x03 0x04 0x00 0x00
|
||||
@3
|
||||
D=A
|
||||
@128
|
||||
M=D
|
||||
@4
|
||||
D=A
|
||||
@129
|
||||
M=D
|
||||
@130
|
||||
M=0
|
||||
@131
|
||||
M=0
|
||||
|
||||
// wake up from deep power down and wait 3us
|
||||
// 0xAB
|
||||
@171
|
||||
D=A
|
||||
@SPI
|
||||
M=D
|
||||
@4
|
||||
D=A
|
||||
@COUNT
|
||||
M=D
|
||||
(DECR1)
|
||||
@COUNT
|
||||
DM=M-1
|
||||
@DECR1
|
||||
D;JGT
|
||||
@511
|
||||
D=A
|
||||
@SPI
|
||||
M=D
|
||||
@21
|
||||
D=A
|
||||
@COUNT
|
||||
M=D
|
||||
(DECR2)
|
||||
@COUNT
|
||||
DM=M-1
|
||||
@DECR2
|
||||
D;JGT
|
||||
|
||||
//command stack base address
|
||||
@128
|
||||
D=A
|
||||
@CHARREAD
|
||||
M=D
|
||||
@WRITECOUNT
|
||||
M=0
|
||||
@SENDCOUNT
|
||||
M=0
|
||||
@WAITREAD
|
||||
0;JEQ
|
||||
|
||||
(WAITREAD)
|
||||
@SPI
|
||||
D=M
|
||||
@WAITREAD
|
||||
D;JLT
|
||||
@READ
|
||||
0;JMP
|
||||
|
||||
(READ)
|
||||
// read
|
||||
@CHARREAD
|
||||
A=M
|
||||
D=M
|
||||
@SPI
|
||||
M=D
|
||||
@CHARREAD
|
||||
M=M+1
|
||||
@132
|
||||
D=A
|
||||
@CHARREAD
|
||||
D=D-M
|
||||
@WAITREAD
|
||||
D;JGT
|
||||
@ENDREAD
|
||||
0;JMP
|
||||
|
||||
(ENDREAD)
|
||||
@WAITWRITE
|
||||
0;JMP
|
||||
|
||||
(WAITWRITE)
|
||||
@SPI
|
||||
D=M
|
||||
@WAITWRITE
|
||||
D;JLT
|
||||
@WRITE
|
||||
0;JMP
|
||||
|
||||
(WRITE)
|
||||
@SPI
|
||||
M=0
|
||||
@4
|
||||
D=A
|
||||
@COUNT
|
||||
M=D
|
||||
(FROMSPI)
|
||||
@COUNT
|
||||
DM=M-1
|
||||
@FROMSPI
|
||||
D;JGT
|
||||
@WRITECOUNT
|
||||
D=M
|
||||
@SRAM_A
|
||||
M=D
|
||||
@SPI
|
||||
D=M
|
||||
@SRAM_D
|
||||
M=D
|
||||
@WRITECOUNT
|
||||
M=M+1
|
||||
@8
|
||||
D=A
|
||||
@WRITECOUNT
|
||||
D=D-M
|
||||
@ENDWRITE
|
||||
D;JEQ
|
||||
@WAITWRITE
|
||||
0;JMP
|
||||
|
||||
(ENDWRITE)
|
||||
@WAITBOOT
|
||||
0;JMP
|
||||
|
||||
|
||||
(WAITBOOT)
|
||||
@UART_TX
|
||||
D=M
|
||||
@BOOT
|
||||
D;JEQ
|
||||
@WAITBOOT
|
||||
0;JMP
|
||||
|
||||
(BOOT)
|
||||
@SENDCOUNT
|
||||
D=M
|
||||
@SRAM_A
|
||||
M=D
|
||||
@SRAM_D
|
||||
D=M
|
||||
@UART_TX
|
||||
M=D
|
||||
@SENDCOUNT
|
||||
M=M+1
|
||||
@8
|
||||
D=A
|
||||
@SENDCOUNT
|
||||
D=D-M
|
||||
@ENDBOOT
|
||||
D;JEQ
|
||||
@WAITBOOT
|
||||
0;JMP
|
||||
|
||||
(ENDBOOT)
|
||||
@POLL
|
||||
0;JMP
|
||||
|
||||
|
||||
// LED<->BUT loop
|
||||
(POLL)
|
||||
@BUT
|
||||
D=!M
|
||||
@LED
|
||||
M=D
|
||||
@POLL
|
||||
0;JMP
|
||||
|
Reference in New Issue
Block a user