Run sample programs on the 16-bit Excel CPU to see how a processor executes instructions step by step.
Write your own program in Excel-ASM16 assembly language and compile it into the ROM spreadsheet with the Python script.
Use the project as a teaching tool to demonstrate how processors handle registers, memory, and arithmetic.
Extend the instruction set by modifying spreadsheet formulas to add new opcodes.
Requires Microsoft Excel, recalculation per clock cycle is slow, wait for Excel to finish before pressing F9 again.
This repository contains a working 16-bit computer processor built entirely inside Microsoft Excel, using spreadsheet formulas and cells to simulate how a real processor operates. It is a novelty engineering project that demonstrates what is possible using Excel's calculation system as a computing substrate. The main file is a spreadsheet called CPU.xlsx. Inside it, the processor has 16 general-purpose storage slots called registers, access to 128 kilobytes of simulated memory, and a 128 by 128 pixel display. To step through one clock cycle of the processor, you press the F9 key, which triggers Excel to recalculate the spreadsheet. The README notes that you have to wait for Excel to finish recalculating before pressing F9 again, because updating so many cells takes time. A separate ROM.xlsx spreadsheet holds the program that gets loaded into memory when you flip a switch in the main spreadsheet. To write programs for this CPU, the project includes its own assembly language called Excel-ASM16. Assembly language is a low-level way of writing instructions that map closely to what a processor actually does, things like loading a value from memory into a register, adding two registers together, comparing values, or jumping to a different point in the program based on a condition. Excel-ASM16 has 24 instructions covering arithmetic, memory access, bitwise operations, and jumps. A Python script is included to compile programs written in Excel-ASM16 into the ROM spreadsheet format. You run the script from the command line, give it your program file and the ROM spreadsheet, and it produces output you can load into the CPU. A folder of sample programs is also included to demonstrate what the CPU can do. The instruction set details and opcode reference live in a third spreadsheet called InstructionSet.xlsx.
← inkboxsoftware on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.