summary refs log tree commit diff
path: root/pc-thing/code/test_clock.a
diff options
context:
space:
mode:
Diffstat (limited to 'pc-thing/code/test_clock.a')
-rw-r--r--pc-thing/code/test_clock.a53
1 files changed, 53 insertions, 0 deletions
diff --git a/pc-thing/code/test_clock.a b/pc-thing/code/test_clock.a
new file mode 100644
index 0000000..fe0f539
--- /dev/null
+++ b/pc-thing/code/test_clock.a
@@ -0,0 +1,53 @@
+.label counter 0
+
+jmp start
+
+interrupt:
+    ld a counter
+    mov b 1
+    add
+    swp c a
+    mov b 100
+    mod
+    str c counter
+    cmp c 0
+    jnz print_numb
+    ret
+
+#using code/printer.a
+
+print_numb:
+    ld a [counter]
+    mov b 1
+    add
+    str c [counter]
+    str c 16 ; put our number into 16
+    jmr print_num ; print number at 16 (well not print but stringify)
+    mov a 1 ; write
+    mov b 1 ; stdout
+    mov c 32 ; address
+    sys ; syscall
+    ret
+
+
+start:
+    mov a helloworld
+    mov b 1
+    sub
+    mov a 1
+    mov b 1
+    sys
+    mov a interrupt
+    mov b 1
+    sub
+    str c 0x7000
+    ; nl:
+    ; jmp nl
+    halt
+
+helloworld:
+.str "Hello, World!"
+.hex a
+.hex 0
+counter:
+.hex 0
\ No newline at end of file