https://github.com/lukepeterson/go8080assembler
My Intel 8080 CPU assembler - in Go!
https://github.com/lukepeterson/go8080assembler
8080 8080-assembler assembler go golang
Last synced: 5 months ago
JSON representation
My Intel 8080 CPU assembler - in Go!
- Host: GitHub
- URL: https://github.com/lukepeterson/go8080assembler
- Owner: lukepeterson
- License: mit
- Created: 2024-05-26T01:34:36.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-12-13T20:55:18.000Z (6 months ago)
- Last Synced: 2025-12-15T16:18:15.664Z (6 months ago)
- Topics: 8080, 8080-assembler, assembler, go, golang
- Language: Go
- Homepage:
- Size: 82 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Intel 8080 CPU assembler in Go
This is my Intel 8080 CPU assembler, which I wrote to support [my Intel 8080 CPU emulator](https://github.com/lukepeterson/go8080cpu).
It takes a newline separated string of Intel 8080 instructions, performs a lexical analysis on the input, parses and validates the tokens, and then converts the tokens to an assembled byte code.
[](https://github.com/lukepeterson/go8080assembler/actions/workflows/go.yml)


# Features
- :white_check_mark: Lexer
- :white_check_mark: Parser
- :white_check_mark: Comment support
- :white_check_mark: Label support
- :white_check_mark: Supports all 244 8080 CPU instructions
# TODO
- Data support (eg, `DB`, `DW`)
- Input from `STDIN`
- Write some tests for `assembler.go`
# Usage
See `main.go` for examples on how to use both the lexer and the parser.
# Running tests
Run `go test ./...`.