8080/8085 .CRL Assembler vers 2.0 User Manual 7 Nov 1983 INTRO This assembler was written to provide a convenient means for assembly language functions to be linked into a BDS C program. The input file may contain global symbol definitions and up to 64 functions. One level of file 'include' is provided. The assembler generates a .CRL output file ready for linkage with CLINK. INVOCATION The command line format is: A>ACRL [.] [-o] [-p] [-v] If no extension is specified, ".CSM" is appended to the source file name. The optional switches are: -o do NOT generate an output file -p print a listing on the console -v list every byte generated (verbose) The assembly may be aborted from the console by typing ^C. SOURCE FILE FORMAT ACRL basically supports a subset of the standard Intel assembly language. The only extension is the function definition: FUNCTION , ... . . . FEND is the function name and must be 8 characters or less. Following the FUNCTION keyword is an optional list of other functions referenced, separated by commas. ACRL PSEUDO OPS INCLUDE Include filenames must be enclosed in single quotes. Nesting is not allowed. EQU Symbols defined outside of any function are known to all functions. Symbols defined within a function are local and may have the same names as local symbols in other functions. SET A local SET directive will refer to a previously defined global. If not previously defined, it is local. DB Takes a list of 8 bit expressions. Strings must be enclosed in single quotes. DW Takes a list of 16 bit expressions, any of which may be relocatable. DS Only one expression allowed. Storage will be filled with zeros. END As usual. EXPRESSIONS The following operators are supported (in order of precedence): - NOT HIGH LOW () (unary) * / MOD SHL SHR + - AND OR XOR Within a function, the dollar sign ($) has the value of the location counter. The standard relocation rules apply. EXAMPLES The file TEST1.CSM contains sample usages of all operators and pseudo ops. TEST2.CSM contains every 8080 instruction (in opcode order). All the possible errors are generated in TEST3.CSM.