Resources

This systems programming reference section collects quick-lookup material for low-level developers. The systems programming reference pages here are designed to be bookmarked and used during debugging sessions, code reviews, and architecture comparisons — not just read once and forgotten.


Systems Programming Reference Glossary

Systems Programming Glossary — Concise definitions for 50+ terms across assembly, binary formats, compilers, OS internals, and debugging. This systems programming reference covers everything from ABI and calling conventions to virtual memory, relocations, and ASLR — with enough context to actually understand each term, not just memorize it.

Topics covered include: registers and addressing modes, calling conventions (System V, Windows x64, AAPCS64), ELF/PE/Mach-O binary formats, linker concepts (relocations, GOT, PLT), compiler terms (IR, SSA, register allocation), OS primitives (virtual memory, ASLR, ptrace), and debugging terminology.


Systems Programming Reference Cheat Sheets

Side-by-side reference tables for the most common lookup needs when working at the assembly level. Each cheat sheet in this systems programming reference is designed for experienced developers who need the right answer quickly, without re-reading a full tutorial.

x86-64 & ARM64 Calling Conventions Cheat Sheet

Register usage, argument passing, return values, callee/caller-saved registers, and stack alignment rules across System V AMD64 ABI (Linux/macOS), Windows x64, and AAPCS64 (ARM64). Includes side-by-side assembly examples for all three conventions, plus footnotes on SIMD register preservation asymmetry and the ARM64 link register.

x86-64 vs ARM64 Instruction Map

A complete translation table mapping x86-64 instructions to their ARM64 equivalents across five categories: data movement, arithmetic, logic & bitwise, comparison & branching, and system interface. Includes notes on semantic differences — including the ANDN/BIC operand-order distinction and fused ARM64 instructions like cbz and madd.

Assembly Directives Reference: GAS vs NASM vs MASM

Side-by-side comparison of assembler directives across GNU Assembler (AT&T syntax), NASM (Intel syntax), and MASM. Covers sections, symbol declarations, data definitions, alignment, macros, and key syntax differences — with annotated examples and notes on cross-architecture caveats.


For in-depth tutorials that teach the concepts behind this systems programming reference material, see the Series section. The Godbolt Compiler Explorer and Dogbolt decompiler comparison are also invaluable tools to use alongside these references.

Scroll to Top