Website Summary Files Commits Branches @commit @diff @stats
path: root / example.s
diff options
context:
space:
mode:
Commit1e75ec0d31f05fb8a87939db0415a63a8a021b18 (patch)
Author
 Syndamia <kamen@syndamia.com>
2025-02-14 17:59:01 +0200
Committer
 Syndamia <kamen@syndamia.com>
2025-02-14 17:59:01 +0200
Files16528f9bdafcbbb9dc3072b626f485a5370068a4 /example.s
tonkobali-1e75ec0d31f05fb8a87939db0415a63a8a021b18.tar
tonkobali-1e75ec0d31f05fb8a87939db0415a63a8a021b18.tar.gz
tonkobali-1e75ec0d31f05fb8a87939db0415a63a8a021b18.zip
Parent1a6b9be6c585f7cfc3351b7554179123f7543174 (diff)
feat: Execute fib, add dec instruction, fix constants in memory creation
1 files changed, 16 insertions, 38 deletions
-rw-r--r--example.s54
diff --git a/example.s b/example.s
index 6e91ade..afc4b25 100644
--- a/example.s
+++ b/example.s
@@ -1,43 +1,21 @@
-beq condition, if_true
-jmp if_false
+f0 = 0
+f1 = 1
+fN = 0
+n = 5
-if_true:
- mov 517, %1
- jmp endif
+fib:
+ beq n, fib_result ; while n > 0
-if_false:
- mov 1952, %1
+ mov f0, fN ; fN = f0 + f1
+ add f1, fN
+ mov f1, f0 ; f0 = f1
+ mov fN, f1 ; f1 = fN
-endif:
- jmp %0
+ dec n ; n--
-condition = %30
+ jmp fib
-; 0 beq Memory(0), Instruction(2),
-; 0: subleq Memory(0), Memory(0), Instruction(2),
-; 1: subleq Memory(0), Memory(0), Instruction(4),
-; 2: subleq Memory(0), Memory(0), Instruction(3),
-; 3: subleq Memory(0), Memory(0), Instruction( 5 ),
-;
-; 1 jmp Instruction(4),
-; 4: subleq Memory(0), Memory(0), Instruction( 10 ),
-;
-;if_true:
-; 2 mov Constants(0), Memory(1),
-; 5: subleq Memory(1), Memory(1), Instruction(6),
-; 6: subleq Constants(0), Memory(0), Instruction(7),
-; 7: subleq Memory(0), Memory(1), Instruction(8),
-; 8: subleq Memory(0), Memory(0), Instruction(9),
-;
-; 3 jmp Instruction(5),
-; 9: subleq Memory(0), Memory(0), Instruction( 14 ),
-;
-;if_false:
-; 4 mov Constants(1), Memory(4),
-; 10: subleq Memory(1), Memory(1), Instruction(11),
-; 11: subleq Constants(1), Memory(0), Instruction(12),
-; 12: subleq Memory(0), Memory(1), Instruction(13),
-; 13: subleq Memory(0), Memory(0), Instruction(14),
-;
-; 5 jmp Memory(0),
-; 14: subleq Memory(0), Memory(0), Memory(0),
+fib_result:
+ mov f0, %1000 ; return f0
+ mov %0, f0 ; Reset f0
+ mov %1, f1 ; Reset f1