Assembly is the language that reveals what computers actually do. This course covers x86-64 assembly from registers to system calls — building the low-level intuition that makes you a better programmer at any level.
This is a text-first course that links out to the best supporting material on the internet instead of trying to replace it. The goal is to make this the best course on assembly language you can find — even without producing a single minute of custom video.
This course focuses on x86-64 NASM assembly on Linux — the most common target for systems programming and security research.
You learn to debug assembly in GDB from Day 1. Understanding how to step through instructions and inspect registers is fundamental to learning assembly.
The Intel Software Developer Manual is the authoritative reference. This course links to the relevant sections instead of paraphrasing them.
Each day is designed to finish in about an hour of focused reading plus hands-on coding. No live classes, no quizzes.
Each day stands alone. Read them in order for the full picture, or jump straight to the day that answers the question you have today.
The general-purpose registers, their sizes, calling conventions, and how the CPU uses them. Your first assembly program: print hello world with a system call.
Data movement, arithmetic, logical operations, and comparison instructions. The instruction set you use in 90% of assembly programs.
Stack operations, addressing modes, arrays, and structs in assembly. How high-level data structures map to memory layout.
Linux system calls via the syscall instruction. File I/O, process control, and how the operating system interface works at the lowest level.
GDB commands for stepping through assembly, inspecting registers and memory, setting breakpoints, and understanding what's happening at the instruction level.
Instead of shooting our own videos, we link to the best deep-dives already on YouTube. Watch them alongside the course. All external, all free, all from builders who ship this stuff.
Getting started with x86-64 assembly — registers, instructions, and your first assembly programs.
Practical NASM assembly programming on Linux — syntax, toolchain setup, and system call examples.
Using GDB to debug assembly programs — stepping through instructions, inspecting registers, and memory examination.
How functions pass arguments and return values in x86-64 — the ABI you must understand to write callable assembly.
How stack frames work in assembly — function calls, local variables, and the call/ret instruction pair.
Assembly for reverse engineering and security research — reading disassembled code and understanding malware behavior.
The best way to go deeper on any topic is to read canonical open-source implementations. These repositories implement the core patterns covered in this course.
NASM — the Netwide Assembler. The most popular assembler for x86 on Linux and the toolchain this course uses.
GDB plugin that makes assembly debugging dramatically better. The standard toolkit for CTF players and security researchers working in assembly.
Minimal x86-64 assembly examples. Clean, readable source for understanding common patterns.
Security and low-level programming cheat sheets useful for assembly programmers and reverse engineers.
You've taken systems courses but want to actually understand what happens at the instruction level. Assembly fills the gap between C and hardware.
Assembly is essential for reverse engineering, exploit development, and understanding vulnerabilities. This course builds the foundation.
You write high-level code but want to understand what the compiler generates and how the CPU executes it. Assembly gives you that mental model.
The 2-day in-person Precision AI Academy bootcamp covers systems programming and low-level engineering — hands-on with Bo. 5 U.S. cities. $1,490. 40 seats max. June–October 2026 (Thu–Fri).
Reserve Your Seat