-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathtest_helloworld.s
48 lines (41 loc) · 959 Bytes
/
test_helloworld.s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Send 'hello world!' via UART(UART on address 0x8020)
lui x1, 0x08
addi x1, x1, 0x20 # x1 = 0x8020
li x2, 'h'
jal x20, _send
li x2, 'e'
jal x20, _send
li x2, 'l'
jal x20, _send
li x2, 'l'
jal x20, _send
li x2, 'o'
jal x20, _send
li x2, ' '
jal x20, _send
li x2, 'w'
jal x20, _send
li x2, 'o'
jal x20, _send
li x2, 'r'
jal x20, _send
li x2, 'l'
jal x20, _send
li x2, 'd'
jal x20, _send
li x2, '!'
jal x20, _send
li x2, '\r'
jal x20, _send
li x2, '\n'
jal x20, _send
_loop0:
jal x0, _loop0
_send:
nop
_check_status:
lw x3, 8(x1) # x3 = uart's status register
andi x3,x3,0x20
beq zero, x3, _check_status # tx ready?
sw x2, 4(x1)
jalr x0, 0(x20)