home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol095 / crowelet.txt < prev    next >
Encoding:
Text File  |  1984-04-29  |  3.4 KB  |  61 lines

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