AZ80 ver 0.2 - freeware Z80 assembler This software is free for any use. The author cannot be held responsible for any problems it might cause, in no case. If you don't understand or accept this, delete az80 immediately. Purpose: AZ80 was written as a lex/yacc exercise :) Lex and Yacc are some compiler tools (lexical analyzer and 'yet another compiler compiler'). AZ80 was written to assemble some tools for the Colour Genie on the PC and transfer them to the emulator. Operation: az80 [options] source[.z80] [output[.bin] [listing[.lst]] source is the filename of a Z80 assembly language program. The default extension is .z80 and is appended, if you omit a dot in the filename. The output is by default .bin, or .cas (if you specify the emit cassette format options). The listing is .lst, unless you specify a different name. The options can be one or more of: -d debug the lexical analyzer and parser output (don't do it! ;) -l generate listing (off by default) -s output symbol table -t create cassette tape format (either Colour Genie .cas or Vidtech VZ200/300 .vz iamge format). The first ORG defines the load address. -x output cross references with the symbol table Default keywords: DEFB define byte(s), eg. DEFB 1,2,3,4 or DEFB 12h,34h,56h DEFL define label DEFM define message, eg. DEFM "ABCD" DEFW define word(s), eg. DEFW 7000h, 01c9h EQU define symbol, eg. offs EQU 10 ORG set origin of program code, eg. ORG 8000h Note: The expression analyzer is not very intelligent. I fixed some bugs and also added parenthesis expressions, however this isn't tested very well. Feel free to improve the assembler. Source is included :) Regards, Juergen Buchmueller