summaryrefslogtreecommitdiff
path: root/cpu/os.asm
diff options
context:
space:
mode:
Diffstat (limited to 'cpu/os.asm')
-rw-r--r--cpu/os.asm25
1 files changed, 25 insertions, 0 deletions
diff --git a/cpu/os.asm b/cpu/os.asm
new file mode 100644
index 0000000..5d58ff7
--- /dev/null
+++ b/cpu/os.asm
@@ -0,0 +1,25 @@
+.text
+init:
+ li B _clock
+ lw B 0(B)
+ jz B init
+ add D D B
+ push D
+ li A msgtick
+ jal ser_out_msg
+ pop D
+ j init
+
+ser_out_msg:
+ li C _output
+ser_out_msg_loop:
+ lb B 0(A)
+ jz B ser_out_msg_ret
+ sb B 0(C)
+ incri A 1
+ j ser_out_msg_loop
+ser_out_msg_ret:
+ jr RA
+
+msgtick:
+ ascii "Tick!"