diff options
| author | hachem <im@hachem.wtf> | 2026-08-31 03:22:54 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-08-31 03:22:54 +0200 |
| commit | 81e960be2953a9953fd89c42cc6f71ce6ff54c85 (patch) | |
| tree | fb60fbe35871cf83ccba75efe13d01b382034240 /examples/fibonacci.hdasm | |
| parent | ce9f0d32c33333161cf9a5c2b7446d80fa0f13b5 (diff) | |
feat: add diagnostics module with source-anchored caret errors
Diffstat (limited to 'examples/fibonacci.hdasm')
| -rw-r--r-- | examples/fibonacci.hdasm | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/examples/fibonacci.hdasm b/examples/fibonacci.hdasm deleted file mode 100644 index 95a59c8..0000000 --- a/examples/fibonacci.hdasm +++ /dev/null @@ -1,62 +0,0 @@ -[entry: main] - -const SYS_WRITE = 1 -const SYS_EXIT = 60 - -const STDOUT = 1 - -data newline = "\n" - -proc print_number(value: rdi) -{ - stack buffer[32] - - rax = value - rbx = 10 - rsi = buffer+31 - -convert: - rdx = 0 - rax /= rbx - rdx += '0' - - ^byte rsi = rdx - rsi -= 1 - - if rax != 0 - goto convert - rsi += 1 - - rax = SYS_WRITE - rdi = STDOUT - rdx = buffer+32-rsi - syscall - - rax = SYS_WRITE - rdi = STDOUT - rsi = newline - rdx = newline.len - syscall -} - -proc main -{ - r12 = 0 - r13 = 1 - r15 = 10 // syscall clobbers rcx/r11, so keep the counter in r15 - -loop: - print_number(r12) - - rax = r12 - r12 = r13 - r13 += rax - - r15 -= 1 - if r15 != 0 - goto loop - - rax = SYS_EXIT - rdi = 0 - syscall -} |
