segment .data fd: dd 0 name: db "sample",0 segment .text global main extern open main: push rbp mov rbp, rsp lea rdi, [name] ; pathname mov esi, 0x42 ; read-write | create mov rdx, 600o ; read-write for me call open cmp eax, 0 jl error ; failed to open mov [fd], eax xor eax, eax ; success leave ret error: mov eax, 1 ; not 0 means error leave ret