about summary refs log tree commit diff
path: root/example.S
diff options
context:
space:
mode:
authorNakidai <nakidai@disroot.org>2025-07-24 08:30:00 +0300
committerNakidai <nakidai@disroot.org>2025-07-24 08:30:00 +0300
commitf09b4adbc7776cfce4c3762968edc82460956f92 (patch)
tree9a46545219a636ad89d5025c2776a8e08a112c83 /example.S
downloadpps-f09b4adbc7776cfce4c3762968edc82460956f92.tar.gz
pps-f09b4adbc7776cfce4c3762968edc82460956f92.zip
Add code v1.0.0
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