An 8-bit computer · in one page

Little Machine

Write a tiny program and watch a real processor run it — registers filling, memory and a stack in motion, a pixel screen lighting up, all clocked one instruction at a time. Values wrap at 255 like true 8-bit hardware.

clock

Write your program

about to run: clock: idle steps: 0

Registers & flags

zero flag: off carry flag: off

Screen · 16×16

Memory · 16 cells

Stack

Execution

Output

nothing printed yet
Instruction set — everything you can write
— move & math (all values wrap 0–255) — MOV a, x put x into a · ADD/SUB/MUL a, x · INC a · DEC a — compare & jump (decisions) — CMP a, x compare (sets flags) · JMP label always
JZ/JE if equal · JNZ/JNE if not equal · JG if greater · JL if less · JC/JNC if carry / not — memory — STORE addr, x write cell · LOAD a, addr read cell (cells 0–15) — stack & sub-programs (functions) — PUSH x · POP a · CALL label run a sub-program · RET return from it — screen & output — PIX x, y, c set a pixel (x,y 0–15, colour c 0–15) · CLS clear screen · OUT x print · HLT stop — notes — Registers are A B C D. Label = name + colon (loop:). Comment starts with ;