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

LC-3 simulator alternative: build the hardware under the ISA

The LC-3 (Little Computer 3) is the teaching computer from Yale Patt and Sanjay Patel's textbook Introduction to Computing Systems: a 16-bit machine with eight registers (R0 to R7), condition codes N, Z and P, and 15 instructions. Two simulators are common. LC3Tools, whose GitHub description calls it a complete overhaul of the LC-3 simulator used in EE 306 at The University of Texas at Austin, has a GUI for Windows, macOS and Linux (version 2.1.0 came out on May 20, 2026), command-line tools, and a unit-test API that instructors use for auto-graders. lc3web runs in the browser: paste assembly, assemble it, then step or run while the memory (programs start at x3000), the registers and a console update. The LC-3 simulators run programs on the LC-3; digiwleea has you build a computer's hardware yourself, gate by gate.

What the LC-3 simulators are good at

Learning assembly on a real, complete instruction set, the way Patt and Patel's course teaches it: loads and stores with several addressing modes, branches on N, Z and P, subroutines with JSR, and TRAP calls for input and output. LC3Tools adds what a course needs at scale, such as automatic grading of student programs, while lc3web needs nothing installed. If your class uses the LC-3, use one of these for the programming assignments. (digiwleea is an independent project, not affiliated with LC3Tools, lc3web, the textbook's authors or the University of Texas.)

How digiwleea is different

Patt and Patel's book starts from transistors and gates before it reaches the LC-3, and that bottom half is where digiwleea lives. In the browser you build NOT and NAND from CMOS transistors, then adders, an ALU, latches, registers, RAM, a program counter and a control unit, through a 40+ level course where every part is checked against its truth table, with an AI tutor (Wleea). The machine you end with is much smaller than the LC-3: an 8-bit accumulator CPU whose capstone runs a stored LOAD, ADD, STORE, HALT program, with the parts for SUB, JMP, JZ and OUT built in Act IV. It will not run LC-3 programs. What it gives you is the circuit view: why the LC-3 has an ADD and a NOT but no SUB (subtracting is adding the two's complement), and what a register, a decoder or a condition code is made of.

LC-3 simulatorsdigiwleea
FocusProgramming the LC-3 in assemblyDigital logic from transistors to a simple CPU
The CPUGiven: 16-bit, R0 to R7, 15 instructionsBuilt by you: 8-bit accumulator machine
Runs onLC3Tools: Windows, macOS, Linux; lc3web: browserAny modern browser
Made forPatt and Patel courses, with auto-grading in LC3ToolsSelf-paced learning, with checks on every part
PriceFree downloads and a free web versionFree lab and Act I; Premium for the full course

The same addition on both machines

Add 5 and 10 and keep the sum. On the left, LC-3 assembly: we assembled and ran it in lc3web on 2026-10-31, and it halts with R3 = x000F (15). On the right, the program of digiwleea's capstone CPU, which the simulator runs to an accumulator of 15 and a stored 15. The LC-3 has eight registers, so it adds two registers; the digiwleea CPU has one accumulator, so it adds a memory value to it.

LC-3 (lc3web)digiwleea capstone CPU
.ORIG x3000
LD R1, XLOAD 14
LD R2, YADD 15
ADD R3, R1, R2
ST R3, ZSTORE 13
HALTHALT
X .FILL #5memory 14 holds 5
Y .FILL #10memory 15 holds 10
Z .FILL #0memory 13 receives the sum

To see what LD and ADD are made of, follow the CPU lesson and the instruction register, which holds the instruction while the control unit decodes it. The MARIE simulator comparison does the same for MARIE, the other common teaching machine.

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 the LC-3?

The LC-3 (Little Computer 3) is the teaching computer from Patt and Patel's textbook Introduction to Computing Systems: a 16-bit machine with eight general-purpose registers, condition codes N, Z and P, and 15 instructions.

Is there an online LC-3 simulator?

Yes. lc3web runs in the browser at wchargin.com/lc3web, with an assembler, step and run controls, registers, memory and a console. LC3Tools is a desktop app for Windows, macOS and Linux.

Why does the LC-3 have no subtract instruction?

Because subtraction is addition of the two's complement: NOT the number, ADD 1, then ADD. Keeping only ADD, AND and NOT for arithmetic and logic keeps the instruction set and the hardware small.

Can I build the LC-3 in digiwleea?

Not as a finished part. digiwleea's course builds a smaller 8-bit accumulator CPU from transistors up, and the lab lets you build circuits like the LC-3's registers, ALU and decoders yourself.