diff options
Diffstat (limited to 'examples/loop_sum.hdass')
| -rw-r--r-- | examples/loop_sum.hdass | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/examples/loop_sum.hdass b/examples/loop_sum.hdass new file mode 100644 index 0000000..bb8d115 --- /dev/null +++ b/examples/loop_sum.hdass @@ -0,0 +1,18 @@ +// Sums 5 + 4 + 3 + 2 + 1 = 15 with a countdown loop, returns it as the status. +const SYS_EXIT = 60 + +proc main +{ + rbx = 0 // running total + rcx = 5 // counter + +loop: + rbx += rcx + rcx -= 1 + if rcx != 0 + goto loop + + rdi = rbx + rax = SYS_EXIT + syscall +} |
