Introduction

Why ARM64 Assembly?

ARM64 (AArch64) is the dominant processor architecture of the modern era. It powers every iPhone, every Android phone, Apple's M-series Macs, AWS Graviton servers, and billions of embedded devices. Understanding ARM64 assembly gives you direct insight into how these processors execute code.

  • The architecture of the future -- ARM's power efficiency is moving it from mobile into servers, desktops, and supercomputers.
  • Clean, modern design -- ARM64 is a modern RISC architecture with a regular, orthogonal instruction set that is easier to learn than x86.
  • Fixed-width instructions -- Every instruction is exactly 32 bits. No variable-length decoding complexity.
  • 31 general-purpose registers -- Generous register file means less memory traffic.
  • Real-world relevance -- Knowing ARM64 assembly helps you understand compiler output, debug low-level issues, and write performance-critical code.

The Story

ARM started in 1983 at Acorn Computers in Cambridge, England. Sophie Wilson and Steve Furber designed the original ARM1 processor. The name originally stood for "Acorn RISC Machine," later "Advanced RISC Machine."

ARM's big insight was that a simpler processor could be faster and more power-efficient. This bet paid off spectacularly: ARM processors now ship in over 250 billion chips, more than any other processor family in history.

ARM64 (AArch64) was introduced in 2011 with the ARMv8-A architecture, bringing 64-bit computing to the ARM world. It was a clean break from the 32-bit ARM instruction set, designed from scratch with modern computing needs in mind.

What You Will Learn

This course contains 16 lessons organized into 6 chapters:

  1. Foundations -- Registers, MOV, arithmetic, and your first program using Linux syscalls.
  2. Memory -- Load/store architecture, addressing modes, and the stack.
  3. Control Flow -- Condition flags, CMP, conditional branches, and loops.
  4. Functions -- BL/RET, the calling convention, and recursive functions.
  5. Bitwise Operations -- AND, OR, XOR, shifts, and bit manipulation patterns.
  6. Putting It Together -- String operations and sorting algorithms.

Each lesson explains a concept, demonstrates it with code, and gives you an exercise. Your code runs directly in the browser using a custom ARM64 interpreter -- no native toolchain needed.

Let's get started.

Next →