.global __syscall .hidden __syscall .type __syscall,@function __syscall: mr 0, 3 # Save the system call number mr 3, 4 # Shift the arguments: arg1 mr 4, 5 # arg2 mr 5, 6 # arg3 mr 6, 7 # arg4 mr 7, 8 # arg5 mr 8, 9 # arg6 sc bnslr+ # return if not summary overflow neg 3, 3 # otherwise error: return negated value. blr .end __syscall .size __syscall, .-__syscall