.intel_syntax noprefix .global write .global read .global open .global close .global fork .global real_waitid .global execve .global pause .global mknod .global dup2 .global chdir .global mount .global exit write: mov rax, 1 syscall ret read: mov rax, 0 # syscall number for read mov rdi, rdi # file descriptor (already in rdi) mov rsi, rsi # buffer pointer (already in rsi) mov rdx, rdx # size (already in rdx) syscall ret open: mov rax, 2 syscall ret close: mov rax, 3 syscall ret fork: mov rax, 57 syscall ret real_waitid: mov rax, 247 mov r10, rcx syscall ret execve: mov rax, 59 syscall pause: mov rax, 34 syscall mknod: mov rax, 133 syscall dup2: mov rax, 33 syscall chdir: mov rax, 80 syscall mount: mov rax, 165 mov r10, rcx syscall exit: mov rax, 60 syscall ret