assembly x64 hello world code example

Example 1: hello world x64 assembly

; Hello World x64 Assembly
; Linux System Call Method

section .data                           
    msg db "Hello World" 
    len equ $-msg           
section .text               
    global _start           
_start:                 
    mov rax,1           ;system call number (sys_write)
    mov rdi,1           ;file descriptor (stdout)
    mov rsi,msg         ;string arg
    mov rdx,len         ;length of string arg
    syscall             ;call kernel
 
    mov rax,60          ;system call number (sys_exit)
    xor rdi,rdi         ;clear destination index register
    syscall             ;call kernel
end:

Example 2: hello world x86 assembly

; Hello World x86 Assembly
; Linux System Call Method

section .data
 
msg     db  'Hello world!',0xA
len     equ $ - msg  
 
section     .text
global      _start      ;must be declared for linker (ld)
 
_start:                 ;tell linker entry point
 
    mov     edx,len		;length of string arg
    mov     ecx,msg		;string arg
    mov     ebx,1       ;file descriptor (stdout)
    mov     eax,4       ;system call number (sys_write)
    int     0x80        ;call kernel
 
    mov     eax,1       ;system call number (sys_exit)
    int     0x80        ;call kernel