program 002 - Hello World with kernel
architecture x86-32
assembler nasm

main.asm

        global _start

        section .rodata
msg:    db "Hello World!", 10
MSG_LEN equ $ - msg

        section .text
_start:
        ;;  write (STDOUT_FILENO, msg, MSG_LEN)
        mov eax, 4      ; sys_write
        mov ebx, 1      ; STDOUT_FILENO
        mov ecx, msg
        mov edx, MSG_LEN
        int 0x80

        ;;  exit (0)
        mov eax, 1      ; sys_exit
        mov ebx, 0
        int 0x80

build instructions

nasm -f elf32 -o main.o main.asm
ld -m elf_i386 -o main main.o