Systems and low-level
Build a mental model of registers, instructions, memory, and calling conventions.
; Pseudocode-style assembly lesson
MOV R0, #1
ADD R0, R0, #2COURSE CURRICULUM
Finish one section at a time or jump directly to a concept you need.
Learn how assemblers, object files, and target architecture works in Assembly, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how instructions, operands, labels, and directives works in Assembly, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how registers, flags, and calling state works in Assembly, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how integers, addresses, endianness, and layout works in Assembly, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how arithmetic, bitwise instructions, and flags works in Assembly, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how branches, comparisons, and control flow works in Assembly, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how loops, counters, and jump tables works in Assembly, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how procedures, stack frames, and calling conventions works in Assembly, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how arrays, pointers, structures, and alignment works in Assembly, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how strings, buffers, and system conventions works in Assembly, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how faults, bounds, and defensive assembly works in Assembly, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how sections, symbols, relocation, and linking works in Assembly, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how memory addressing, stack, heap, and caches works in Assembly, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how files, syscalls, interrupts, and concurrency works in Assembly, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how testing with debuggers and disassembly works in Assembly, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.