Meet Assembly
Spectrum · Assembly
Make a prediction, run real Z80 code, and inspect what changed — eight interactive lessons from your first instruction to debugging movement.
8 units

The Z80 runs instructions, reads and writes memory, and communicates with the Spectrum’s hardware. We will give it small jobs whose results we can predict and inspect.
Begin with a stock 48K ZX Spectrum, either emulated or real. You do not need to have studied BASIC or completed another programming course. Each lesson provides a complete source file and an editable browser experiment. For local work, Asm198x is the recommended assembler and Emu198x the recommended emulator; the same source also builds with Pasmo. Getting started covers installing both.
Eight experiments
- Change the border: assemble a program and send a value to the hardware.
- A byte becomes pixels: follow eight bits from a labelled address to the screen.
- Build an eight-row shape: choose the patterns and addresses that form a small picture.
- Draw with a counted loop: keep the picture, store its patterns as data, and replay the loop’s actual writes.
- Call a drawing routine: draw in two places, follow each return, and check a routine’s contract.
- Move your character: read keys, keep a position and inspect the erase and redraw.
- Give movement a clock: hold a direction and change how many frames pass between updates.
- Find the first wrong step: stop at a decision and compare a prediction with registers, flags and RAM.
Make a prediction before each run. When the result differs, follow the value and its destination: understanding the first unexpected change is more useful than guessing at several edits at once.
After the introduction
You can now follow instructions through registers and RAM, call a drawing routine, read input, pace movement and investigate a fault. Meteor Storm applies that foundation to a timed dodging game, beginning with small pixel and clock experiments.