home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / VORX / CC68A.ARC / READ.ME < prev    next >
Text File  |  1988-12-08  |  6KB  |  147 lines

  1.   This archive contains a modified version of Matthew Brandt's C68K
  2. compiler.  Where Brandt's compiler generated UNIX assembler code, this version
  3. generates code compatible with MASM, Motorola's resident Assembler.
  4.   The current version has been revised and quite a few bugs fixed.  It should
  5. be more robust than the previous version.
  6. The following is the copyright notice which appeared in the original version:
  7. /*
  8.  *      68000 C compiler
  9.  *
  10.  *      Copyright 1984, 1985, 1986 Matthew Brandt.
  11.  *  all commercial rights reserved.
  12.  *
  13.  *      This compiler is intended as an instructive tool for personal use. Any
  14.  *      use for profit without the written consent of the author is prohibited.
  15.  *
  16.  *      This compiler may be distributed freely for non-commercial use as long
  17.  *      as this notice stays intact. Please forward any enhancements or questions
  18.  *      to:
  19.  *
  20.  *              Matthew Brandt
  21.  *              Box 920337
  22.  *              Norcross, Ga 30092
  23.  */
  24.  
  25.   I performed the original modifications using VMS C, and have therefore
  26. had to edit each module to stick a <> around the stdio.h #include statements.
  27. I have not tested this compiler on an IBM compatible.  Note that the original
  28. documentation for the compiler states that there will be compilation warnings
  29. when building the compiler.  This is still true, due to some mixed mode
  30. int vs pointer assignments.  Take note large memory model users.
  31.  
  32. Bugs/restrictions in the original have not been fixed, these include:
  33. 1. Errors involving char parameters to functions
  34. 2. Limits on the size of functions due to the fact that a function is
  35.    completely parsed before code is generated.
  36. 3. No support for floats, however float declarations do not produce errors.
  37. 4. Preprocessor support is limited to #include and symbol replacement #define
  38.    directives, that is #define's without arguments.
  39. 5. There is no real run time library supplied.  This includes a lack of the
  40.    'standard' useful functions such as printf, scanf and so on.
  41.  
  42. To rebuild:
  43.   Compile all .C files except sieve.c which is a test program.
  44.   Link these together with the run time library of your C compiler.
  45.   Name the output file C68M.  Assemble LIB.SA with the Motorola 68000
  46.   assembler.
  47.  
  48. To use:
  49. Type:
  50.    C68M  file.c
  51.  
  52. Where file.c is the name of the file you want to compile.
  53. The file file.lis and file.sa will be produced. The .lis file is a listing,
  54. and the .sa file is valid assembler input for MASM.  It should be linked
  55. with MLINK and whatever other modules you wish to include.
  56.  
  57. Ron Fox
  58. NSCL
  59. Michigan State University
  60. East Lansing, MI 48824-1321
  61.  
  62. *********************************************************************
  63.  
  64. Modifications to compile correctly with Turbo 'C' and some bug fixes:
  65. 12/8/88
  66.  
  67. The version of this compiler didn't correctly generate long constants (such 
  68. as 0x80000000).  There were a couple of reasons for this, hinted at by the 
  69. original docs.  This function has been fixed.  Also the function prototype 
  70. list has been updated in proto.h. 
  71.  
  72. Caution:  compile the program using the COMPACT model; this assures that 
  73. data pointers are 32-bit so that Matt's shortcuts work ((enode *)v.p[0] 
  74. versus (long)).
  75.  
  76. I also ran the source though a CB program.
  77.  
  78.         Dave Bushong
  79.         7 Fremont Street
  80.         Concord, NH 03301
  81.  
  82. The following is the original READ.ME file for C68K as distributed by
  83. Matthew Brandt, the original author.  Documentation above supersedes the
  84. information in the file below.
  85.  
  86. ----------------------------------- Original READ.ME ----------------------
  87.  
  88.  
  89. NOTICE:
  90.  
  91.         68000 C compiler
  92.  
  93.         Copyright 1984, 1985, 1986 Matthew Brandt.
  94.         all commercial rights reserved.
  95.  
  96.         This compiler is intended as an instructive tool for personal use. Any
  97.         use for profit without the written consent of the author is prohibited.
  98.  
  99.         This compiler may be distributed freely for non-commercial use as long
  100.         as this notice stays intact. Please forward any enhancements or questions
  101.         to:
  102.  
  103.                 Matthew Brandt
  104.                 Box 920337
  105.                 Norcross, Ga 30092
  106.  
  107. This compiler is an optimizing C compiler for the Motorola 68000 processor.
  108. It has successfully compiled itself on UNIX system V running on a Motorola
  109. VME-10. Since this code was written for a machine with long integers it may
  110. exhibit some irregularity when dealing with long integers on the IBM-PC.
  111. The author makes no guarantees. This is not meant as a serious developement
  112. tool although it could, with little work, be made into one. The bugs and
  113. limitations of this compiler are listed below:
  114.  
  115.         -Although you may declare floating point types the code generator does
  116.                 not know how to deal with them. They should therefore be avoided.
  117.         
  118.         -The preprocessor does not support arguments to #define'd macros or
  119.                 any of #line #ifdef... etc. Only #include and #define are supported.
  120.         
  121.         -Function arguments declared as char may not work properly. Declare
  122.                 them as int.
  123.         
  124.         -The size of functions is slightly limited due to the fact that the
  125.                 entire function is parsed before any code is generated.
  126.         
  127.         -The output of the compiler is in the UNIX 68000 assembler format.
  128.  
  129. To run the compiler type "cc68 sieve.c". This will compile the program sieve
  130. and produce two files; sieve.lis is a source listing with a symbol type
  131. reference; sieve.s is the 68000 assembly language produced.
  132.  
  133. The file lib.s is the assembly source for some runtime support routines
  134. which must be loaded with the final code. The is no standard runtime library
  135. support.
  136.  
  137. The compiler can be compiled by microsoft C version 3.0 or higher. MSC will
  138. issue lots of warnings but they can be ignored. The file make.bat will
  139. rebuild the compiler if MSC is available.
  140.  
  141. If you wish to make commercial use of all or part of this package please
  142. contact me at the above address or (404)662-0366. Any voluntary contribution
  143. from non-commercial users will be greatly appreciated but is by no means
  144. necessary. enjoy...
  145.                                                                              Matt Brandt
  146.  
  147.