Assembly (x86-64, AArch64, RISC-V)
The planned outline of 19 modules. Lessons are written, run and reviewed before they are published.
Planned outline
- Module 1
Start here: what assembly is and how to run it
Coming soon - Module 2
Bits, bytes and numbers
Coming soon - Module 3
How a CPU runs your program
Coming soon - Module 4
Moving data: registers, memory and addresses
Coming soon - Module 5
Arithmetic, logic and flags
Coming soon - Module 6
Branches, loops and jump tables
Coming soon - Module 7
Functions, the stack and calling conventions
Coming soon - Module 8
Talking to the operating system
Coming soon - Module 9
Interfacing with C, C++ and Rust
Coming soon - Module 10
Floating point and SIMD
Coming soon - Module 11
Reading compiler output
Coming soon - Module 12
Debugging at the instruction level
Coming soon - Module 13
Atomics and memory ordering
Coming soon - Module 14
Performance and microarchitecture
Coming soon - Module 15
Security at the machine level (defensive)
Coming soon - Module 16
Privilege, exceptions and bare metal
Coming soon - Module 17
32-bit Arm: A32, Thumb-2, CPSR and IRQ/FIQ
Coming soon - Module 18
8-bit assembly: the 8051 microcontroller and the 8085
Coming soon - Module 19
The three ISAs today, compared
Coming soon
Related tools
Official documentation
- www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html (intel.com)
- github.com/riscv/riscv-isa-manual/releases (github.com)
- www.nasm.us/doc (nasm.us)
More in Programming languages
- Python (coming soon)
- SQL (PostgreSQL, MySQL, SQLite) (coming soon)
- JavaScript (ES2026) (coming soon)
- Java (JDK 25 LTS) (coming soon)
- All Languages tracks
- How we make lessons