/* This is a simple demonstration file for the Zeus assembler. If you want more sustantial files they're available at www.desdes.com These are just some jottings to help, so they'll just touch on the subjects... External source files. With version 1.2 I've added support for assembling multiple sources. The syntax is simple - to include another file use [include "filename"] When zeus sees this it will open the file provided (presuming it exists) in another editing tab-panel. The syntax is: include "filename" ; Includes the text from "filename" here... Basically you can split your source file into as many sections as you like and then edit them separately, whith Zeus concatenating them during assembly. Typically you would use this for hiding boring sections of the code, for example character set definitions, or large numbers of equates. When you open a new file all the automatically opened tabs will be closed. Zeus will ask if you want to save the contents if they have been changed. Zeus will correctly report errors in multiple sources and also jump to the relevent file. External binary files. Zeus will also let you import binary files. The syntax is: import_bin "filename",Start ; However long it is import_bin "filename",Start,Length ; No more than this long ; There is also a further option which allows you to read parts of files. This third ; option is an offset into the file. import_bin "filename",Start,Length,Offset; */ ; These lines will be assembled if you hit the button import_bin "zeus_ex_files.asm",0 ; Read it to zero import_bin "zeus_ex_files.asm",$1000,$10 ; Read part of it to $1000 import_bin "zeus_ex_files.asm",$2000,$10,$10 ; Read the next part of it to $2000 ; This command can only(!) handle files up to 256K long. Shouldn't be a problem... /* Output files. Broadly speaking there are four different types of output file that zeus can generate, four forms of output file for data and also symbol-table listings. At this time Zeus cannot output an assembly listing; I've never seen the point of 'em. (If it was easy to get zeus to list the source with expanded macros I would see the point, but Zeus doesn't expand macros that way - they're handled more like function calls. At no point does zeus ever generate an internal representation of the source with the macros expanded, so there's nothing interesting to write as a listing...) Symbol table listing options are documented elsewhere. The supported data formats and commands are as follows: Raw binary: output_bin "filename",start, length Intel Hex: output_intel "filename",start, length Motorola S-records: output_motorola "filename",start, length or output_srec "filename",start, length Spectrum emulator files (szx) output_szx "filename",stack address, start address Before version 1.9 Zeus would only output a single data file, after version 1.9 it will now output as many files as there are "output" statements in the source. This could be used, for example, to write several chunks of memory out as separate files. */