aboutsummaryrefslogtreecommitdiff
path: root/examples/fib.asm
diff options
context:
space:
mode:
authorAryadev Chavali <aryadev@aryadevchavali.com>2023-11-03 21:27:18 +0000
committerAryadev Chavali <aryadev@aryadevchavali.com>2023-11-03 21:27:18 +0000
commitbc4c57b243eaad8ef054d6ab7de7602b76b22f0d (patch)
tree0db4a1b4fc3b4ed48b5b896a04cdc1c82cd2eecf /examples/fib.asm
parentdea8e238074291c181f6780e445d046d08ca6668 (diff)
downloadovm-bc4c57b243eaad8ef054d6ab7de7602b76b22f0d.tar.gz
ovm-bc4c57b243eaad8ef054d6ab7de7602b76b22f0d.tar.bz2
ovm-bc4c57b243eaad8ef054d6ab7de7602b76b22f0d.zip
Use label features and entry points for examples
Diffstat (limited to 'examples/fib.asm')
-rw-r--r--examples/fib.asm8
1 files changed, 6 insertions, 2 deletions
diff --git a/examples/fib.asm b/examples/fib.asm
index 5542f48..4d61d5c 100644
--- a/examples/fib.asm
+++ b/examples/fib.asm
@@ -3,6 +3,10 @@
;;; pairs of fibonacci numbers, we ensure only a finite amount of
;;; memory is necessary for this program to function, unlike a pure
;;; stack version.
+
+ ;; Setup entrypoint
+ global main
+main:
;; Setup initial REG[0] = 1 and REG[1] = 1
push.word 1
mov.word 0
@@ -10,7 +14,7 @@
mov.word 1
;; Print REG[0] and REG[1]
- ;; Here is the loop back point `#`
+loopback:
push.byte '\t'
print.char
push.reg.word 0
@@ -41,5 +45,5 @@
push.reg.word 1
gte.word
;; Jump to `#`
- jump.if.byte 4
+ jump.if.byte loopback
halt