zmac (Z-80 cross assembler) zmac is a Z-80 macro cross-assembler. It has all the features you'd expect. It assembles the specified input file (with a '.z' extension if there is no pre-existing extension and the file as given doesn't exist) and produces program output in many different formats. It also produces a nicely-formatted listing of the machine code and cycle counts alongside the source in a ".lst" file. Undocumented Z-80 instructions are supported as well as 8080 and Z-180 (aka HD64180). zmac strives to be a powerful assembler with expressions familiar to C programmers while providing good backward compatibility with original assemblers such as Edtasm, MRAS and Macro-80. Also included in the package is ld80, a linker which is mostly compatible with the Microsoft L80 linker for CP/M and other Z-80 OSes.