Zig 0.17.0-dev (Split by item)
This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig library itself.
Zig › std/ › os/ › linux/ › x32.zig › clone
clone
x32.clone
pub fn clone () callconv (.naked ) u32
File
Code
pub fn clone () callconv (.naked ) u32 {
asm volatile (
\\ movl $0x40000038,%%eax // SYS_clone
\\ mov %%rdi,%%r11
\\ mov %%rdx,%%rdi
\\ mov %%r8,%%rdx
\\ mov %%r9,%%r8
\\ mov 8(%%rsp),%%r10d
\\ mov %%r11,%%r9
\\ and $-16,%%rsi
\\ sub $8,%%rsi
\\ mov %%rcx,(%%rsi)
\\ syscall
\\ test %%eax,%%eax
\\ jz 1f
\\ ret
\\
\\1:
);
if (builtin .unwind_tables != .none or !builtin .strip_debug_info ) asm volatile (
\\ .cfi_undefined %%rip
);
asm volatile (
\\ xor %%ebp,%%ebp
\\
\\ pop %%rdi
\\ call *%%r9
\\ mov %%eax,%%edi
\\ movl $0x4000003c,%%eax // SYS_exit
\\ syscall
\\
);
}