Reputation: 137
I have recently got my hands on a Z80 system and have been writing a dissasmbler for a debugger (pushing in instructions that are pulled from the memory of the Z80y). I can get the instruction however the problem arises when assembling the ASM, I am finding that most assemblers either don't understand the full set of instructions properly or get some instructions confused meaning it is impossible to convert back to ASM correctly. What I ask from you guys today is if you have one that actually works (the source would be even better). I would also like for it to have a single pass option because it makes this impossible otherwise (well nearly).
One final thing would be to know if anyone has a complete set on instructions for testing as at the moment I only have an 8080 list which means I can't test the extended instructions.
Thanks a lot for any link/files, Andy A
Upvotes: 0
Views: 1812
Reputation: 812
Here is the official up-to-date Z80 manual: http://www.zilog.com/manage_directlink.php?filepath=docs/z80/um0080 .
It includes full description of instruction set architecture.
Upvotes: 1
Reputation: 3734
The Z88 development kit also contains an assembler (z80asm), as well as a C compiler.
It's a two-pass assembler, though. I don't think that a single pass approach would be useful. How would you assemble a JP to a label defined later in a single pass?!
The z88dk toolchain seems to be very portable. I am currently trying to port it to my Zilog eZ80 based platform itself.
Upvotes: 2
Reputation: 4654
The assembler I use for my Z-80 programming projects is zmac.
I've built my own version for Windows with some extensions:
http://members.shaw.ca/gp2000/zmac.html
A Google search for "z80 zmac" can help you locate the original source code.
It's not a single pass assembler, but I think it will suffice.
Upvotes: 1