Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Programming languages

Assembly (x86-64, AArch64, RISC-V)

The planned outline of 19 modules. Lessons are written, run and reviewed before they are published.

Coming soon 19 modules

Coming soon. This track is being written. Below is its planned outline: a lesson appears here once its examples have been run and its technical review is signed off.

Planned outline

  1. Module 1

    Start here: what assembly is and how to run it

    Coming soon
  2. Module 2

    Bits, bytes and numbers

    Coming soon
  3. Module 3

    How a CPU runs your program

    Coming soon
  4. Module 4

    Moving data: registers, memory and addresses

    Coming soon
  5. Module 5

    Arithmetic, logic and flags

    Coming soon
  6. Module 6

    Branches, loops and jump tables

    Coming soon
  7. Module 7

    Functions, the stack and calling conventions

    Coming soon
  8. Module 8

    Talking to the operating system

    Coming soon
  9. Module 9

    Interfacing with C, C++ and Rust

    Coming soon
  10. Module 10

    Floating point and SIMD

    Coming soon
  11. Module 11

    Reading compiler output

    Coming soon
  12. Module 12

    Debugging at the instruction level

    Coming soon
  13. Module 13

    Atomics and memory ordering

    Coming soon
  14. Module 14

    Performance and microarchitecture

    Coming soon
  15. Module 15

    Security at the machine level (defensive)

    Coming soon
  16. Module 16

    Privilege, exceptions and bare metal

    Coming soon
  17. Module 17

    32-bit Arm: A32, Thumb-2, CPSR and IRQ/FIQ

    Coming soon
  18. Module 18

    8-bit assembly: the 8051 microcontroller and the 8085

    Coming soon
  19. Module 19

    The three ISAs today, compared

    Coming soon

Related tools

Official documentation

More in Programming languages

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.