Skip to content

lukepeterson/go8080cpu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intel 8080 CPU emulator in Go

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.

Tests Go Report Card GitHub release

Running some INR and DCR

Features

Instructions supported

  • ✅ 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)

Future enhancements

  • Replace the memory locations in tests with labels once the assembler supports them.

Running tests

Run go test ./....