; x86_64 linux nasm section .text Sleep: mov rsi, 0 ; we wont use the second sleep arg, pass null to syscall sub rsp, 16 mov qword [rsp], rdi ; number of seconds the caller requested mov qword [rsp + 8], rsi ; we won't use the nanoseconds mov rdi, rsp ; pass the struct that's on the stack to mov rax, 35 ; sys_nanosleep syscall add rsp, 16 ; clean up stack ret