This is my Intel 8080 CPU emulator, written in Go. I built it because computers are awesome, and it was a great excuse to also write an Intel 8080 CPU assembler.
- ✅ Registers
- ✅ Memory
- ✅ Fetch/decode/execute cycle
- ✅ Assembler support
- ✅ Move, load and store (84 instructions)
- ✅ Stack operations (13 instructions)
- ✅ Jump (10 instructions)
- ✅ Call (9 instructions)
- ✅ Return (9 instructions)
- ✅ Restart (8 instructions)
- ✅ Increment and decrement (22 instructions)
- ✅ Add (22 instructions)
- ✅ Subtract (18 instructions)
- ✅ Logical (36 instructions)
- ✅ Rotate (4 instructions)
- ✅ Specials (4 instructions)
- ✅ Input/output (2 instructions)
- ✅ Control (4 instructions)
- Replace the memory locations in tests with labels once the assembler supports them.
Run go test ./...
.