Initial commit
This commit is contained in:
42
uart/testtx.s
Normal file
42
uart/testtx.s
Normal file
@@ -0,0 +1,42 @@
|
||||
start_:
|
||||
set r0, main
|
||||
or pc, r0, r0
|
||||
|
||||
hello:
|
||||
.word 0x4865
|
||||
.word 0x6c6c
|
||||
.word 0x6f2c
|
||||
.word 0x2077
|
||||
.word 0x6f72
|
||||
.word 0x6c64
|
||||
.word 0x2100
|
||||
|
||||
uart_send: // r0 is pointer to data, r1, length
|
||||
set r2, 0
|
||||
set r3, 0x10
|
||||
seth r3, 0xc0
|
||||
set r4, 1
|
||||
loop0:
|
||||
load r5, [r3, 2]
|
||||
and r5, r5, r4
|
||||
cmp r5, r2
|
||||
beq loop0
|
||||
load r5, [r0]
|
||||
and r6, r0, r4
|
||||
cmp r6, r4
|
||||
beq [pc, 2]
|
||||
shr r5, r5, 8
|
||||
store r5, [r3]
|
||||
add r0, r0, r4
|
||||
sub r1, r1, r4
|
||||
cmp r1, r2
|
||||
bneq loop0
|
||||
or pc, lr, lr
|
||||
|
||||
main:
|
||||
set r0, hello
|
||||
set r1, 13
|
||||
set r2, uart_send
|
||||
set r3, main
|
||||
or lr, r3, r3
|
||||
or pc, r2, r2
|
||||
Reference in New Issue
Block a user