Assembly is the lowest-level language a human still writes by hand: one line of source maps to one machine instruction. It is not portable — every processor family has its own instruction set and its own dialect. This track teaches one dialect thoroughly (x86-64 with NASM) and then shows you the same ideas in ARM, RISC-V, and WebAssembly, so you can read the assembly behind any compiler.
| # | ASM | Topic | Description |
|---|---|---|---|
| PHASE 1: FUNDAMENTALS | |||
| 01 | Introduction | Machine code, the CPU, the assembler, and the map of assembly dialects. | |
| 02 | Toolchain & First Program | Install NASM, assemble, link, run, and inspect your first program. | |
| 03 | Numbers & Memory | Binary, hexadecimal, two's complement, endianness, and the memory model. | |
| PHASE 2: REGISTERS & DATA | |||
| 04 | Registers | General-purpose registers, the flags register, and the ABI layout. | |
| 05 | Data Definitions | Sections, db/dw/dd/dq, constants, and strings in memory. | |
| 06 | Addressing Modes | Effective addresses, base + index + scale, RIP-relative, and lea. | |
| PHASE 3: INSTRUCTIONS & LOGIC | |||
| 07 | Instructions | Move, logic, shift, compare, and the instruction categories. | |
| 08 | Arithmetic | Add, subtract, multiply, divide, and how the flags record the result. | |
| 09 | Control Flow | Labels, jmp, conditional jumps, and loop-building patterns. | |
| PHASE 4: PROGRAM STRUCTURE | |||
| 10 | Subprograms & the Stack | call/ret, stack frames, calling conventions, and recursion. | |
| 11 | Macros & Directives | Assembler macros, symbols, and conditional assembly. | |
| PHASE 5: SYSTEMS & FLAVORS | |||
| 12 | Input/Output & Syscalls | Linux syscalls, libc calls, and console input/output. | |
| 13 | Debugging & Disassembly | GDB, breakpoints, register and memory inspection, objdump. | |
| 14 | Assembly Flavors | One idea, four dialects: x86, ARM64, RISC-V, and WebAssembly. | |
| PHASE 6: PRACTICE & DEMO | |||
| 15 | Lab Examples | Run and modify single-file x86-64 and ARM practice programs. | |
| 16 | Study Projects | String routines, sorting, and calling C from assembly. | |
| PHASE 7: REFERENCE | |||
| 17 | References & Assemblers | Online assemblers, simulators, official manuals, and courses. | |
For the full categorized table — online assemblers, CPU simulators, official manuals, courses, and sample repositories for every dialect — see the References & Assemblers page.