aboutsummaryrefslogtreecommitdiff
path: root/examples/arm64/exit.hdass
blob: a86e5e2b22e60f11bd2620ab645fe3ec676a8d76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
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
}