z80dasm is a disassembler for the Zilog Z80 microprocessor and compatibles. It can be used to reverse engineer programs and operating systems for 1980's microcomputers using this processor architecture (for example ZX81, Spectrum and many others). It was developed to produce Galaksija ROM disassembly.
Generated assembly code can be assembled back to binary with a number of Z80 assemblers. Compatibility with z80asm was thoroughly tested. Any disassembly by z80dasm is perfectly reversible with z80asm.
z80dasm has several features that can improve the readability of generated assembly code. It can guess locations of labels in the code from jumps and similar instructions. You can supply it with a symbol file and z80dasm will use label names from there instead of automatically generated ones. If you define code and data sections for a binary z80dasm can also use this information to produce a nicer disassembly.
A lot of attention has been devoted to handling of unusual Z80 machine code. z80dasm correctly handles undocumented instructions, illegal sequences and partial opcodes.
z80dasm is based largely on dz80 3.0, written by Jan Panteltje. For a detailed list of changes compared to dz80, see NEWS file included in the source.
z80dasm has no run-time dependencies. Building requires GNU Make and a C compiler. If building from git repository, you will also need GNU Autotools.
z80dasm is included in Debian and Ubuntu:
$ apt-get install z80dasm
To install on Windows, use the binary provided by Adrien Destugues:
To compile and install from source, download a source tarball and follow instructions in the included README file:
To get latest source directly from the git repository:
$ git clone https://www.tablix.org/~avian/git/z80dasm.git