Skip to content
digiwleeaTools
LearnGlossaryAboutCheat sheetHow a CPU worksBuild a CPUToolsOpen the lab →

MARIE simulator alternative: build an accumulator CPU yourself

MARIE (a Machine Architecture that is Really Intuitive and Easy) is the teaching computer from Linda Null and Julia Lobur's textbook The Essentials of Computer Organization and Architecture. MARIE.js is a free, open-source (MIT) simulator for it that runs in the browser at marie.js.org; its README says it is used in Monash University's FIT1047 unit. You type MARIE assembly, press Assemble, then Run, Step or Micro step while the registers (AC, IR, MAR, MBR, PC, IN and OUT), the memory grid and a data path view update. MARIE.js runs programs on a finished accumulator machine; digiwleea has you build one, step by step.

What MARIE.js is good at

Learning assembly language and the fetch-decode-execute cycle on a small, clean architecture. The instruction set panel lists every instruction with its opcode and register transfer, such as Load X (opcode 1, AC gets M[X]) and SkipCond for conditional branches, and Micro step shows the register transfers inside one instruction. Nothing to install, and if your course uses the Null and Lobur textbook, it is the matching tool. (digiwleea is an independent project, not affiliated with MARIE.js, Monash University or the textbook's authors.)

How digiwleea is different

MARIE.js gives you the machine; digiwleea has you make it. In the browser you build NOT and NAND from CMOS transistors, then adders, an ALU, registers, RAM, a program counter, an accumulator and a control unit, and wire them into an 8-bit CPU through a 40+ level course where every part is checked against its truth table, with an AI tutor (Wleea). The course CPU is an accumulator machine in the same spirit as MARIE, but much smaller: 8-bit words and an instruction byte with a 4-bit opcode and a 4-bit address. The capstone CPU runs LOAD, ADD, STORE and HALT, and Act IV then builds the parts for SUB, JMP, JZ and OUT, where MARIE has 16-bit words, 12-bit addresses, conditional skips and indirect addressing from the start. In return you see every wire of it. Learning with the MARIE textbook? Build the parts here to see what Load and Add do in gates, then write longer programs in MARIE.js.

MARIE.jsdigiwleea
FocusAssembly programming on the MARIE architectureDigital logic from transistors to a simple CPU
The CPUGiven, with a data path viewBuilt by you, part by part
Word size16-bit words, 12-bit addresses8-bit words, 4-bit addresses
InstructionsLoad, Store, Add, Subt, Input, Output, Halt, SkipCond, Jump, indirect and subroutine instructionsLOAD, ADD, STORE, HALT in the capstone CPU; parts for SUB, JMP, JZ and OUT in Act IV
Runs onAny modern browserAny modern browser
PriceFree, MIT licenseFree lab and Act I; Premium for the full course

One program on both machines

Load 5, add 10 and store the sum. Both runs below were checked on 2026-10-31. On the left, MARIE assembly in MARIE.js: it halts normally with AC = 000F (15) and 15 stored at Z, and the machine code starts 1004 3005 2006. On the right, the program of the course's capstone CPU, which assembles to 1E 2F 3D F0: run on the simulator, the accumulator goes 0, 5, 15, the stored word becomes 15 and the HALT flag stays high.

MARIE (MARIE.js)digiwleea capstone CPU
Load XLOAD 14
Add YADD 15
Store ZSTORE 13
HaltHALT
X, DEC 5memory 14 holds 5
Y, DEC 10memory 15 holds 10
Z, DEC 0memory 13 receives the sum

The difference is underneath. In MARIE.js, Load is a line in the instruction set table. In digiwleea, LOAD is the opcode 1 in the top four bits of a byte, which your instruction register holds and your control unit decodes into the signals that move the operand from RAM to the accumulator. The CPU lesson traces this exact kind of program step by step, and the branching and loops lesson adds the jumps.

No sign-up is needed to start: open the lab and place your first transistor, or read the free theory course. The account (and the AI tutor) are optional.

More comparisons: CPU and assembly simulators

See for yourself: build a logic gate from transistors in the simulator, then follow the path from sand to an 8-bit CPU.

Open the digiwleea lab →

Frequently asked

What is MARIE in computer architecture?

MARIE (a Machine Architecture that is Really Intuitive and Easy) is a simple accumulator-based teaching computer from Null and Lobur's textbook The Essentials of Computer Organization and Architecture, with 16-bit words and 12-bit addresses.

Is there an online MARIE simulator?

Yes. MARIE.js runs in the browser at marie.js.org. It is free and open source under the MIT license, and it assembles and runs MARIE programs with step and micro-step modes.

What does Load X do in MARIE?

It copies the value at memory address X into the accumulator, AC. Its opcode is 1, so Load 005 assembles to 1005.

Can I build a CPU like MARIE myself?

Yes. digiwleea's free browser course has you build an accumulator CPU from transistors up: gates, adders, ALU, registers, RAM, a program counter and a control unit, and learn the small assembly language behind it; the finished CPU runs a stored LOAD, ADD, STORE, HALT program.