"Hello World" implemented in x86-64 machine code for Linux.
Goal: Explore x86-64 (instruction encoding) & System V (executables).
make hello
Tools
x86 & AMD64
- Intel 64 and IA-32 manuals
- AMD64 Architecture Programmer's Manual Volume 3
- x86 and AMD64 Instruction Reference
System V
Linux
Relocation
- System V ABI Specification
- Linker and Libraries Guide: Object File Format
- R_X86_64_32S and R_X86_64_64
Virtual Address 0x00400000