Skip to content

Lexicon Entry

Callee-Saved Register

A register whose value must be preserved across function calls. If a function (the callee) wants to use it, it must save and restore it (typically via push/pop). Also called non-volatile registers. On System V x86-64: RBX, RBP, R12–R15.

Related Knowledge & Cross-References

Guide

Linker Explained: How Object Files Become Executables (Static & LTO)

Learn how the linker transforms object files into executables. Explore symbol resolution, relocation records, static vs dynamic linking, and Link-Time Optimization with real readelf and nm examples.

Guide

Register Allocation in Compilers: How Variables Fit into CPU Registers

Discover how compilers solve register allocation — mapping thousands of virtual registers to 16 (x86-64) or 31 (ARM64) physical ones. See graph coloring, spilling, and rematerialization with real Godbolt examples.

Guide

Compiler Code Generation: How LLVM Turns IR into x86-64 and ARM64 Assembly

Between the hardware-agnostic world of Intermediate Representation and the raw binary bytes your CPU executes lies the backend pipeline. Learn how the compiler turns abstract logic into platform-specific machine code.

Guide

Stack Frames & Function Prologues Demystified: x86-64 & ARM64 Guide

Master stack frame prologue and epilogue patterns across x86-64 and ARM64 architectures. Learn how function calls work at the assembly level on Linux, macOS, and Windows.

Guide

x86-64 & ARM64 Calling Conventions Demystified

Learn x86-64 and ARM64 calling conventions across Linux, macOS, and Windows. Master parameter passing, stack frames, and register preservation with hands-on assembly examples.