Giovanni's Diary > Subjects > Programming > Gists >
Misc / hello_world.asm
Hello world x86-64 Linux assembly example.
;; SPDX-License-Identifier: MIT ;; Author: Giovanni Santini ;; Github: @San7o extern printf SECTION .data fmt: db "Hello!", 10, 0 SECTION .text global main main: ;; align stack: call pushes return addr (8 bytes), ;; so subtract 8 more to make 16-byte alignment sub rsp, 8 lea rdi, [rel fmt] ; first arg xor eax, eax ; set AL=0 for 0 varargs call printf add rsp, 8 ; restore stack mov rax, 0 ; return number ret