assembly hello world code example

Example 1: hello world in assembly

;creating text in section
section .data
    text db "Hello, World!",10

;starting global function
section .text
    global _start

;onstart
_start:
;hex values of where to print the hello world text
    mov rax, 1
    mov rdi, 1
    mov rsi, text
    mov rdx, 14
    syscall
 
    mov rax, 60
    mov rdi, 0
    syscall

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

Example 3: hello world in assembly

; hello-DOS.asm - single-segment, 16-bit "hello world" program
;
; assemble with "nasm -f bin -o hi.com hello-DOS.asm"

    org  0x100        ; .com files always start 256 bytes into the segment

    ; int 21h is going to want...

    mov  dx, msg      ; the address of or message in dx
    mov  ah, 9        ; ah=9 - "print string" sub-function
    int  0x21         ; call dos services

    mov  ah, 0x4c     ; "terminate program" sub-function
    int  0x21         ; call dos services

    msg  db 'Hello, World!', 0x0d, 0x0a, '$'   ; $-terminated message