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