aboutsummaryrefslogtreecommitdiff
path: root/octedit/octedit.s
diff options
context:
space:
mode:
Diffstat (limited to 'octedit/octedit.s')
-rw-r--r--octedit/octedit.s34
1 files changed, 34 insertions, 0 deletions
diff --git a/octedit/octedit.s b/octedit/octedit.s
new file mode 100644
index 0000000..9445fd8
--- /dev/null
+++ b/octedit/octedit.s
@@ -0,0 +1,34 @@
+.syntax unified
+.cpu cortex-m0plus
+.thumb
+
+.equ SRAM_BASE, 0x20000000
+
+.type octedit, %function
+.global octedit
+
+octedit:
+ ldr r6, =SRAM_BASE
+ adds r5, r6, 1
+10:
+ movs r4, 0
+20:
+ bl uart_recv
+ cmp r0, '\r
+ beq 30f
+ cmp r0, 'G
+ beq 40f
+ bl uart_send
+ subs r0, '0
+ lsls r4, 3
+ adds r4, r0
+ b 20b
+30:
+ bl uart_send
+ movs r0, '\n
+ bl uart_send
+ strh r4, [r6]
+ adds r6, 2
+ b 10b
+40:
+ bx r5