synth/uart/testtx.s
2021-02-17 13:20:30 -08:00

43 lines
598 B
ArmAsm

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