---
# System prepended metadata

title: ASM-Hello-World

---

section .data
    hello db 'Hello, World!',0  ; Null-terminated string to print

section .text
    global _start

_start:
    ; Write "Hello, World!" to stdout (file descriptor 1)
    mov eax, 4                   ; syscall number for sys_write (4)
    mov ebx, 1                   ; file descriptor 1 (stdout)
    mov ecx, hello               ; pointer to the message
    mov edx, 13                  ; message length
    int 0x80                     ; invoke syscall

; Exit the program
    mov eax, 1                   ; syscall number for sys_exit (1)
    xor ebx, ebx                 ; exit status (0)
    int 0x80                     ; invoke syscall
