Intel 64 and IA-32 Architectures Software Developer's Manual
x86-64 dominates server (cloud compute), desktop, and laptop computing. Understanding the SDM is required for OS development, JIT compilation, security research, and any performance-critical native code.
What It Defines
The canonical multi-volume reference for the x86-64 (Intel 64) and IA-32 ISAs. Volumes cover the instruction set reference (Vols 2A–2C), system programming (Vol 3A–3C: paging, segmentation, interrupts, VMX/VT-x, APIC, MSRs), and optimization (Vol 4). AMD co-documents the AMD64 extension in their Programmer's Manual. Essential for OS kernel, compiler, hypervisor, debugger, and security research work.
Canonical (Normative)
Convenient (Practical)
Related References
Designs and manufactures x86-64 processors and publishes the authoritative Intel 64 and IA-32 Architectures Software Developer's Manual (SDM). The SDM is the normative reference for the x86-64 ISA, system programming (paging, interrupts, VMX), and Intel-specific extensions (AVX-512, AMX). AMD co-documents the AMD64 architecture through its own Programmer's Manual.
Related Specs
Every C/C++/Rust/Go/Swift program on x86-64 Linux follows this ABI. Understanding it is essential for FFI bindings, inline assembly, debugger step-over logic, and compiler backend development.
Every compiled binary on Linux is ELF. Understanding ELF is essential for debugging, reverse engineering, dynamic linking, build toolchains, binary patching, and tools like readelf, objdump, ldd, and patchelf.
POSIX defines the lingua franca of Unix/Linux systems programming. Every system call pattern, signal handler, file descriptor idiom, and shell script convention in the Linux/macOS world comes from this spec.