about summary refs log tree commit diff
path: root/example.S
diff options
context:
space:
mode:
Diffstat (limited to 'example.S')
-rw-r--r--example.S67
1 files changed, 67 insertions, 0 deletions
diff --git a/example.S b/example.S
new file mode 100644
index 0000000..530501a
--- /dev/null
+++ b/example.S
@@ -0,0 +1,67 @@
+; Fibonacci sequence program by qubane
+
+; address for var A
+CA
+MOVC MR
+
+; write 0
+WT
+
+; address for var B
+LDA 1
+MOVC MR
+
+; write 1
+WT
+
+; loop start
+; load address for var A
+CA
+MOVC MR
+
+; move var A to BR
+RD
+MOV BR
+
+; load address for var B
+CA
+LDA 1
+MOVC MR
+
+; read var B
+RD
+
+; A + B -> B
+ADD
+WT
+
+; move A + B to BR
+MOV BR
+
+; load address for var A
+CA
+; clear carry flag
+AND
+MOVC MR
+
+; read var A
+RD
+
+; compute -(A - B)
+SUB
+
+MOV BR
+
+CA
+SUB
+
+; write B - A to var A
+WT
+
+; load jump address
+CA
+; reset carry flag
+and
+LDA 1
+LDA 2
+MOVC PC