References & Assemblers

This final page gathers everything you need to keep going: assemblers and linkers, browser tools that need no installation, the official manuals for each dialect, and free courses with practice. Every link is free to read or free to start.

Open-Source Samples & Challenges

Reading real code written by experienced developers consolidates everything you have learned. Browse, clone, rebuild, then modify.

SourceWhat it is
TheAlgorithms/Assembly Classic algorithms and data structures implemented in x86-64 assembly, with comments and expected output.
0xAX/asm — example sources Dozens of short, focused x86-64 programs: system calls, string handling, and file I/O.
Codewars Ranked challenges; select the Assembly kata category, submit a solution, then study other approaches.
riscv-isa-sim (Spike) The reference RISC-V simulator: read it to see how an ISA is implemented, or run your own programs on it.

How to Choose & Next Steps

Follow this order and you will never feel stuck:

You have reached the end of the track. Return to the Assembly roadmap to review your progress, or revisit Assembly Flavors whenever you meet a dialect you have not read before.

Official Documentation & Manuals

Playgrounds teach you the how; the manuals teach you the precise rules. When two sources disagree, the vendor manual wins.

ReferenceWhat it is
NASM Manual The complete documentation: syntax, directives, macros, output formats, and the full instruction reference. This is the canon for x86 with NASM.
NASM Tutorial (Ray Toal) A concise, well-organised tour of Linux x86-64 assembly using NASM and system calls.
x86 Instruction Reference Every x86 instruction with its operands, encoding, and flags — a searchable copy of the Intel manual's instruction set.
ARM Architecture Reference Manual (AArch64) The official ARM64 specification: registers, instruction set, exception model, and memory ordering.
Azeria Labs — ARM Assembly Basics A free, practical ARM assembly series (32-bit ARM) covering registers, instructions, and the calling convention.
RISC-V Specifications The ratified ISA documents: the RV64I base plus the standard extensions.
RISC-V Assembly Programmer's Manual A short companion document listing the assembler mnemonics, pseudo-instructions, and register conventions.
WebAssembly Specification The formal specification of WAT and the WASM binary format, including the instruction set.
OSDev Wiki — Assembly Practical, systems-focused assembly material: interfacing with C, calling conventions, and boot code.
System V AMD64 ABI The calling convention used by Linux, macOS, and BSD: argument registers, stack alignment, and register preservation.

Free Courses & Practice

Structured material turns scattered facts into a skill. These are all free to start.

CourseWhat it is
Computer Architecture (video series) Explains the hardware your assembly runs on: pipelines, caches, and the machine cycle.
Exercism — ARM64 Assembly track Free exercises with automated tests and human mentoring; a rare opportunity to have assembly reviewed by someone else.
OpenSecurityTraining — Introduction to x86 Assembly A free, thorough x86 course with slides and videos, written from a reverse-engineering perspective.
Computer Architecture (Coursera) A university-level course covering instruction sets, pipelining, and memory hierarchies; free to audit.
0xAX/asm — assembly for the impatient An approachable GitHub book teaching x86-64 assembly with Linux syscalls, in the style of "for the impatient".

You do not need to install anything to start. A browser simulator assembles and runs ARM or RISC-V assembly in seconds, and Compiler Explorer shows you what a C compiler emits for any of the four dialects. Install NASM only when you want to run your own x86-64 programs locally.

Assemblers & Toolchains

The assembler turns your text into an object file; the linker turns that into a program. These are the tools used throughout this track.

ToolDialectWhat it isBest for
NASM x86 / x86-64 The Netwide Assembler — Intel syntax, formats for ELF, Mach-O, and Win64. Everything in this track; the primary tool.
GNU as (gas) x86, ARM64, RISC-V The assembler inside binutils; AT&T syntax by default, with an .intel_syntax switch. Reading Linux kernel and GCC output.
LLVM / clang All A compiler and integrated assembler supporting every architecture here. Cross-assembling for ARM64 and RISC-V.
binutils (ld, objdump, readelf, nm) All The linker and the inspection tools you will use constantly. Linking, disassembly, and inspecting binaries.
GDB All The GNU debugger: breakpoints, register and memory inspection, step-by-step execution. Finding out what the machine is really doing.

Browser Tools — No Installation

The fastest learning loop is no loop at all: write, run, read the output, change one line. All of these work in a browser with no account.

ToolWhat it isBest for
Compiler Explorer (Godbolt) Type C, C++, or Rust and see the assembly the compiler emits, with colour-coded source mapping. Supports x86-64, ARM64, and RISC-V side by side. Understanding what a compiler does — and comparing dialects.
CPUlator A full browser simulator for ARMv7, MIPS, and RISC-V with a debugger, registers, and memory views. Assembler included. Running ARM and RISC-V code with a debugger, no install.
OneCompiler (Assembly) A minimal online NASM environment that runs 32/64-bit x86 assembly and shows the output. A quick check of a short x86 snippet.
WABT wat2wasm demo The official WebAssembly Binary Toolkit demo: convert WAT text to a WASM binary in the browser. Experimenting with WebAssembly text format.
Wasmtime A standalone WebAssembly runtime with a CLI, for running .wasm outside a browser. Running WASM on the command line.