Syscalls

Syscalls provide I/O via the SWI instruction. Syscall number in r7.

Convention

r7

Syscall number

r0-r2

Arguments

r0

Return value

EXIT (1): Exit Program

mov r0, #0
mov r7, #1
swi

WRITE (3): Write to File Descriptor

.data
msg: .byte 'H', 'e', 'l', 'l', 'o', '!'

.text
mov r0, #1           ; stdout
ldr r1, =msg
mov r2, #6
mov r7, #3
swi

READ (2): Read from File Descriptor

mov r0, #0           ; stdin
ldr r1, =buffer
mov r2, #16
mov r7, #2
swi                 ; r0 = bytes read

See Syscalls for complete reference.