119 lines
829 B
NASM
Raw Normal View History

2023-01-11 11:13:09 +01:00
// hello.asm
// this little assembler programm outputs "Hi" on UART_TX
//
// Put your code here:
2024-10-25 13:47:27 -04:00
// Never
// 78 101 118 101 114 32
@78
D=A
@128
M=D //N
@101
D=A
@129
M=D //e
@118
D=A
@130
M=D //v
@101
D=A
@131
M=D //e
@114
D=A
@132
M=D //r
@32
D=A
@133
M=D // space
// Graduate!
// 71 114 97 100 117 97 116 101 33 32
@71
D=A
@134
M=D //G
@114
D=A
@135
M=D //r
@97
D=A
@136
M=D //a
@100
D=A
@137
M=D //d
@117
D=A
@138
M=D //u
@97
D=A
@139
M=D //a
@116
D=A
@140
M=D //t
@101
D=A
@141
M=D //e
@33
D=A
@142
M=D //!
@10
D=A
@143
M=D // newline
@128
D=A
@CHARBOOT
M=D
@BOOT
0;JEQ
(POLL)
@BUT
D=!M
@LED
M=D
@POLL
0;JMP
(WAITBOOT)
2024-10-21 20:04:09 -04:00
@UART_TX
D=M
2024-10-25 13:47:27 -04:00
@BOOT
2024-10-21 20:04:09 -04:00
D;JEQ
2024-10-25 13:47:27 -04:00
@WAITBOOT
2024-10-21 20:04:09 -04:00
0;JMP
2024-10-25 13:47:27 -04:00
(BOOT)
@CHARBOOT
A=M
D=M
2024-10-21 20:04:09 -04:00
@UART_TX
M=D
2024-10-25 13:47:27 -04:00
@CHARBOOT
M=M+1
@144
D=A
@CHARBOOT
D=D-M
@ENDBOOT
2024-10-21 20:04:09 -04:00
D;JEQ
2024-10-25 13:47:27 -04:00
@WAITBOOT
2024-10-21 20:04:09 -04:00
0;JMP
2024-10-25 13:47:27 -04:00
(ENDBOOT)
@POLL
2024-10-21 20:04:09 -04:00
0;JMP
2024-10-25 13:47:27 -04:00