Skip to content

Latest commit

 

History

History
16 lines (13 loc) · 1.49 KB

README.md

File metadata and controls

16 lines (13 loc) · 1.49 KB

z80asm

A simple Z80 assembler, based heavily on gbasm. Many things, such as the special instructions (asciz, db, .incasm, etc.) are shared between the two, and you should look at gbasm's documentation for more, specifically the known issues and assembler-specific instructions. This assembler was written for use with the Soviet-era microcomputer I built, and is probably missing a few features or instructions. Notable omissions include the ability to create local labels and the relative jump instruction.

If you use Sublime Text, you can use the gbz80.sublime-syntax file in the repository for syntax highlighting, but as it was originally intended for use with the Gameboy's LR35902 (a Z80 derivative), it's missing a few instructions.

Usage

You will need Go installed and set up properly to build the assembler.

go get https://github.com/thatoddmailbox/z80asm
cd ~/go/src/github.com/thatoddmailbox/z80asm # you might need to change this depending on the location of your GOPATH
go install
# the next command should be run from the directory that contains your source code
~/go/bin/z80asm --weird-mapping

The --weird-mapping flag enables the modified address decoding, which was necessary to adapt modern-day ROM and RAM chips to the computer when the Soviet parts didn't work.