feature. See also
. The project being documented here (as the example) is the Zig library itself.
alpha.syscall3
pub fn syscall3(number: SYS, arg1: u64, arg2: u64, arg3: u64) u64
File
Code
pub fn syscall3(number: SYS, arg1: u64, arg2: u64, arg3: u64) u64 {
var r16_out: u64 = undefined;
var r17_out: u64 = undefined;
var r18_out: u64 = undefined;
return asm volatile (
\\ callsys
\\ beq $19, 1f
\\ negq $0, $0
\\1:
: [ret] "={$0}" (-> u64),
[r16_out] "={$16}" (r16_out),
[r17_out] "={$17}" (r17_out),
[r18_out] "={$18}" (r18_out),
: [number] "{$0}" (number),
[arg1] "{$16}" (arg1),
[arg2] "{$17}" (arg2),
[arg3] "{$18}" (arg3),
: .{
.r1 = true,
.r2 = true,
.r3 = true,
.r4 = true,
.r5 = true,
.r6 = true,
.r7 = true,
.r8 = true,
.r22 = true,
.r23 = true,
.r24 = true,
.r25 = true,
.r27 = true,
.r28 = true,
.memory = true,
.r20 = true,
.r21 = true,
});
}