home *** CD-ROM | disk | FTP | other *** search
- 5826 Southwest Ave.
- St.Louis, MO 63139
- April 18, 1982
-
- FILES
- --------------------------------------------------------------------
- CROWLINK: These are the linkages between CP/M and the Crowe Z-80
- assembler. I bought this assembler two years ago from Byte Nybbles
- for $4! It was available only as an assembly listing and so I
- entered it manually in machine language. The assembler is quite
- good providing all the features of Zilog's assembler except for
- macros, conditional assembly and lower case. It was written to be
- used with cassette or paper tape, with the desired pass number
- entered from the console. For each pass, the source is re-read and
- the appropriate output generated. Pass 1 builds the symbol table
- and is required. Pass 2 outputs the assembly listing, pass 3 writes
- Intel format hex object and pass 4 gives an assembly listing of
- those lines containing errors on the console.
- The linkage routines are written so that the assembler can be
- run as a standard CP/M .COM file with the following command format.
- CROWEASM FILENAME.YY The characters in the normal file extension
- position are Y/N selects (default is Y), the first for listing file
- and the second for the hex object file. The source must have a file
- extension of .Z80 while the listing is created with an extension of
- .PRN and the object with an extension of .HEX. Only minimal error
- checking and reporting is done. If no source file with the correct
- name is found a message is displayed. If any other disk error on a
- BDOS call occurs, that is reported. In either case, the routine
- waits for a keystroke before exiting to CP/M.
- ___________________________________________________________________
-
- An additional note about the assembler the way it stands: there
- is a limit of 32 characters for a quoted string as operand of a DEFM
- statement. If this limit is exceeded NO error message is generated, the
- string is truncated. If you're not careful, the terminating '$' for
- a CP/M output string could be lost and the results would be unpredictable.
-
- ___________________________________________________________________
-
-
- The CROWE.Z80 file has the linkages incorporated into it, near the
- end. As it now stands, the symbol table is limited only by the amount of
- available memory since the assembler reads the start address of BDOS from
- locations 6&7 and sets that as the top of available symbol space.
- There has been one minor improvement to the assembler: you can now
- specify that the .LST or .HEX files should be sent to drive B rather than
- the current default drive by putting a B in the proper position in the
- normal filename extension. E.g. CROWE2 CROWE.NB would assemble the file
- CROWE.Z80, skip the .LST file and send the .HEX file to drive B. The
- source file must still reside on the same drive as the assembler.
- When you try to assemble CROWE.Z80 with
- CROWE2 the six EX AF,AF' instructions are flagged as syntax errors for
- no apparent reason. If you assemble the file EXAF.Z80 it assembles those
- instructions as expected. Very strange! In addition, it flags as un-
- defined the symbol LBFSZ in the instruction LD B,LBFSZ-1. Again, cause
- unknown. The assembler will assemble itself if you change the six
- EX AF,AF' commands to DEFB 8 commands.
- The source is currently set up for the CROWE2 assembler. To
- assemble it with M80 you will need to add ASEG and .Z80 commands to it.
-
- John P Jones