aboutsummaryrefslogtreecommitdiff
path: root/octedit/octedit.s
diff options
context:
space:
mode:
authorJacques Comeaux <jacquesrcomeaux@protonmail.com>2024-06-04 19:28:25 -0500
committerJacques Comeaux <jacquesrcomeaux@protonmail.com>2024-06-04 19:28:25 -0500
commitf2f186c3594a922e51abf25b24052c61f833a2bf (patch)
treea4cd5bb88adc8b94582ed40a8a7ad04235a9db69 /octedit/octedit.s
parentb38a844ed9f6ad17d58db3e143ebc0c858762ec6 (diff)
Rename stage 0 editor
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