diff options
Diffstat (limited to 'examples/arm64/exit.hdass')
| -rw-r--r-- | examples/arm64/exit.hdass | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/examples/arm64/exit.hdass b/examples/arm64/exit.hdass new file mode 100644 index 0000000..a86e5e2 --- /dev/null +++ b/examples/arm64/exit.hdass @@ -0,0 +1,14 @@ +[entry: main] +[enable: logical_registers] + +// Exits with status 42 on AArch64 Linux. Logical registers map r1 -> x0 and +// r9 -> x8, so the exit code goes in x0 and the syscall number in x8; `syscall` +// lowers to `svc #0`. +const SYS_EXIT = 93 + +proc main +{ + r1 = 42 // x0 = exit code + r9 = SYS_EXIT // x8 = syscall number + syscall +} |
