segment .data msg: db "Hello World",0x0a ; String to print len: equ $-msg ; Length of the string segment .text global _start ; Announce _start to the linker _start: mov edx, len ; Argument 3 of a function or ; system call is placed in rdx mov rsi, msg ; Argument 2 for the write call mov edi, 1 ; Argument 1 for the write mov eax, 1 ; Syscall 1 is write syscall xor edi, edi ; 0 return status = success mov eax, 60 ; 60 is the exit syscall syscall