Having completed work on the zxian ZX Spectrum emulator, I moved on to write z80hai, a Z80 disassembler. From the start, I sacrificed some emulator performance for the sake of having decoded instructions also generate an assembler-friendly, human-readable mnemonic string.
For example,
would also internally generate the string
Further, to support the writing of a disassembler, I also built a "decode only" mode into the CPU code of the emulator.
Since an emulator's modus operandi is roughly "decode-then-execute" and a disassembler's is "decode", this was factored out and wrapped in a command line, file-generating application and z80hai was born.
Downloads
z80hai v1 disassembler - no configuration needed. Run without arguments to see usage details.
z80hai v1 source - load the solution file in Visual Studio to build z80hai yourself.