Linux x86-64 Assembly with NASM
Every page teaches one mental unit. Read a page, type the code, step through it, and write the register contract in your own words.
About this book
Most beginners lose the path because assembly exposes everything that high-level languages hide: registers, addresses, flags, stack,
object files, and the operating-system boundary. The solution is not to memorize hundreds of instructions first. The solution is to
understand what a value is, where it lives, who owns it, and how it moves.
This guide uses a register-first method. Every lesson answers four questions: what registers are involved, what memory is touched,
what contract must be respected, and how to trace the result in a debugger.
NASM is used because its Intel-like syntax is readable for x86-64 learners on Linux. The same ideas apply when later reading GAS,
compiler output, or disassembly.
The PDF is not exposed as a public static URL. The download endpoint validates the catalog record, updates statistics, then streams the file.


