v1.0.1
Z80 Disassembler
A Go package for disassembling Z80 processor instructions.
Overview
This package provides a Z80 disassembler implementation that can decode Z80 machine code into human-readable assembly mnemonics. It supports all standard Z80 instructions including:
- Unprefixed instructions
- CB-prefixed instructions (bit manipulation, rotation, and shifting)
- DD-prefixed instructions (IX register indexing)
- ED-prefixed instructions (extended instructions)
- FD-prefixed instructions (IY register indexing)
Installation
go get github.com/kiltum/emuz80/z80disasm
Usage
package main
import (
"fmt"
"github.com/kiltum/emuz80/z80disasm"
)
func main() {
// Create a new disassembler
d := disasm.New()
// Decode a simple instruction (NOP)
data := []byte{0x00}
instruction, err := d.Decode(data)
if err != nil {
fmt.Printf("Error: %v\n", err)
return
}
fmt.Printf("Mnemonic: %s\n", instruction.Mnemonic)
fmt.Printf("Length: %d bytes\n", instruction.Length)
}
Features
- Complete Z80 instruction set support
- Detailed instruction information including length and address operands
- Error handling for malformed or incomplete instructions
- Comprehensive test suite
License
This project is licensed under the MIT License.
Description
Languages
Go
100%