            segment .data

    msg:    db      "Hello World!",0x0a      ; String to print
    len:    equ     $-msg                   ; Length of the string

            segment .text
            global  main                    ; Announce main to the linker
            extern  write, exit
    main:
            push    rbp
            mov     rbp, rsp
            mov     edx, len                ; Argument 3 is the length to write
            lea     rsi, [msg]              ; Argument 2 for the write call
            mov     edi, 1                  ; Argument 1 for the write
            call    write

            xor     edi, edi                ; 0 return status = success
            call    exit