diff options
| Commit | 9c656c296827172589243d588f57f9ab2745efc6 (patch) | |
|---|---|---|
| Author | 2025-02-14 08:50:49 +0200 | |
| Committer | 2025-02-14 08:50:49 +0200 | |
| Files | ac637c6034d5e8e2dcb50f609b4b063ca7422add /assembler/example.s | |
| tonkobali-9c656c296827172589243d588f57f9ab2745efc6.tar tonkobali-9c656c296827172589243d588f57f9ab2745efc6.tar.gz tonkobali-9c656c296827172589243d588f57f9ab2745efc6.zip | ||
| Parent | 9517d3d05e86621b6c4ed58edd7f5821632e0872 (diff) | |
feat(assembler): Implement beq and mov instructions
1 files changed, 43 insertions, 2 deletions
| -rw-r--r-- | assembler/example.s | 45 |
diff --git a/assembler/example.s b/assembler/example.s index 8b92ddf..b7c45ee 100644 --- a/assembler/example.s +++ b/assembler/example.s @@ -1,2 +1,43 @@ -add 331, 95 -jmp %0 +beq condition, if_true +jmp if_false + +if_true: + mov 517, %1 + jmp endif + +if_false: + mov 1952, %1 + +endif: + jmp %0 + +condition = 0 + +; 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), |
