home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
VORX
/
CC68A.ARC
/
READ.ME
< prev
next >
Wrap
Text File
|
1988-12-08
|
6KB
|
147 lines
This archive contains a modified version of Matthew Brandt's C68K
compiler. Where Brandt's compiler generated UNIX assembler code, this version
generates code compatible with MASM, Motorola's resident Assembler.
The current version has been revised and quite a few bugs fixed. It should
be more robust than the previous version.
The following is the copyright notice which appeared in the original version:
/*
* 68000 C compiler
*
* Copyright 1984, 1985, 1986 Matthew Brandt.
* all commercial rights reserved.
*
* This compiler is intended as an instructive tool for personal use. Any
* use for profit without the written consent of the author is prohibited.
*
* This compiler may be distributed freely for non-commercial use as long
* as this notice stays intact. Please forward any enhancements or questions
* to:
*
* Matthew Brandt
* Box 920337
* Norcross, Ga 30092
*/
I performed the original modifications using VMS C, and have therefore
had to edit each module to stick a <> around the stdio.h #include statements.
I have not tested this compiler on an IBM compatible. Note that the original
documentation for the compiler states that there will be compilation warnings
when building the compiler. This is still true, due to some mixed mode
int vs pointer assignments. Take note large memory model users.
Bugs/restrictions in the original have not been fixed, these include:
1. Errors involving char parameters to functions
2. Limits on the size of functions due to the fact that a function is
completely parsed before code is generated.
3. No support for floats, however float declarations do not produce errors.
4. Preprocessor support is limited to #include and symbol replacement #define
directives, that is #define's without arguments.
5. There is no real run time library supplied. This includes a lack of the
'standard' useful functions such as printf, scanf and so on.
To rebuild:
Compile all .C files except sieve.c which is a test program.
Link these together with the run time library of your C compiler.
Name the output file C68M. Assemble LIB.SA with the Motorola 68000
assembler.
To use:
Type:
C68M file.c
Where file.c is the name of the file you want to compile.
The file file.lis and file.sa will be produced. The .lis file is a listing,
and the .sa file is valid assembler input for MASM. It should be linked
with MLINK and whatever other modules you wish to include.
Ron Fox
NSCL
Michigan State University
East Lansing, MI 48824-1321
*********************************************************************
Modifications to compile correctly with Turbo 'C' and some bug fixes:
12/8/88
The version of this compiler didn't correctly generate long constants (such
as 0x80000000). There were a couple of reasons for this, hinted at by the
original docs. This function has been fixed. Also the function prototype
list has been updated in proto.h.
Caution: compile the program using the COMPACT model; this assures that
data pointers are 32-bit so that Matt's shortcuts work ((enode *)v.p[0]
versus (long)).
I also ran the source though a CB program.
Dave Bushong
7 Fremont Street
Concord, NH 03301
The following is the original READ.ME file for C68K as distributed by
Matthew Brandt, the original author. Documentation above supersedes the
information in the file below.
----------------------------------- Original READ.ME ----------------------
NOTICE:
68000 C compiler
Copyright 1984, 1985, 1986 Matthew Brandt.
all commercial rights reserved.
This compiler is intended as an instructive tool for personal use. Any
use for profit without the written consent of the author is prohibited.
This compiler may be distributed freely for non-commercial use as long
as this notice stays intact. Please forward any enhancements or questions
to:
Matthew Brandt
Box 920337
Norcross, Ga 30092
This compiler is an optimizing C compiler for the Motorola 68000 processor.
It has successfully compiled itself on UNIX system V running on a Motorola
VME-10. Since this code was written for a machine with long integers it may
exhibit some irregularity when dealing with long integers on the IBM-PC.
The author makes no guarantees. This is not meant as a serious developement
tool although it could, with little work, be made into one. The bugs and
limitations of this compiler are listed below:
-Although you may declare floating point types the code generator does
not know how to deal with them. They should therefore be avoided.
-The preprocessor does not support arguments to #define'd macros or
any of #line #ifdef... etc. Only #include and #define are supported.
-Function arguments declared as char may not work properly. Declare
them as int.
-The size of functions is slightly limited due to the fact that the
entire function is parsed before any code is generated.
-The output of the compiler is in the UNIX 68000 assembler format.
To run the compiler type "cc68 sieve.c". This will compile the program sieve
and produce two files; sieve.lis is a source listing with a symbol type
reference; sieve.s is the 68000 assembly language produced.
The file lib.s is the assembly source for some runtime support routines
which must be loaded with the final code. The is no standard runtime library
support.
The compiler can be compiled by microsoft C version 3.0 or higher. MSC will
issue lots of warnings but they can be ignored. The file make.bat will
rebuild the compiler if MSC is available.
If you wish to make commercial use of all or part of this package please
contact me at the above address or (404)662-0366. Any voluntary contribution
from non-commercial users will be greatly appreciated but is by no means
necessary. enjoy...
Matt Brandt