; x86-64 Linux, NASM syntax. No libc: this talks to the kernel directly.
section .data
message: db "hello, world", 10
length: equ $ - message
section .text
global _start
_start:
mov rax, 1 ; syscall 1 = write
mov rdi, 1 ; fd 1 = stdout
mov rsi, message ; buffer
mov rdx, length ; count
syscall
mov rax, 60 ; syscall 60 = exit
xor rdi, rdi ; status 0
syscall