mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-25 09:24:19 +00:00
Upload
Digital Research
This commit is contained in:
179
CPM OPERATING SYSTEMS/CPM 68K/1.0X SOURCES/v102a/doc/cmnd/c68
Normal file
179
CPM OPERATING SYSTEMS/CPM 68K/1.0X SOURCES/v102a/doc/cmnd/c68
Normal file
@@ -0,0 +1,179 @@
|
||||
.so macro
|
||||
.he 'C68''C68'
|
||||
.de sw
|
||||
.sp
|
||||
.ti -8
|
||||
..
|
||||
.pr PROGRAM C68
|
||||
c68 - 68000 C compiler
|
||||
.us USAGE
|
||||
c68 [-c] [-[e|f]] [-v] [-L] [-a] [-S] [-T] [-t] [-[6|7|3|5]] file...
|
||||
.fn FUNCTION
|
||||
'c68' is the REGULUS 68000 C compiler. It accepts three types of arguments:
|
||||
.sp
|
||||
Arguments whose names end with '.c' are taken to be C source programs;
|
||||
they are compiled, and each object program is left on the file
|
||||
whose name is that of the source with '.o' substituted for '.c'.
|
||||
The '.o' file is normally deleted, however, if a single
|
||||
C program is compiled and loaded all at one go.
|
||||
.sp
|
||||
The aforementioned flags as well as the C preprocessor flags (eg. -P or -D)
|
||||
See 'cpp68(cmnd)' and the link-editor flags (eg. -l or -s) See 'lo68(cmnd)'.
|
||||
The following flags are interpreted by 'c68'.
|
||||
.in +8
|
||||
.sw
|
||||
-c\ \ \ \ \ \ Suppress the loading phase of the compilation and force an
|
||||
object file to be produced, even if only one program is compiled.
|
||||
.sw
|
||||
-e\ \ \ \ \ \ Specify that floating point arithmetic is used. Instructs
|
||||
the loader to load the floating point library 'libE.a'. Constants
|
||||
will be generated in the 'IEEE Floating Point' format. Constants will
|
||||
be generated in this format by default.
|
||||
.sw
|
||||
-f\ \ \ \ \ \ Specify that floating point arithmetic is used. Instructs
|
||||
the loader to load the floating point library 'libF.a'. Constants
|
||||
will be generated in the 'Fast Floating Point' format.
|
||||
.sw
|
||||
-v\ \ \ \ \ \ Force the 'C' source file being processed to be printed
|
||||
regardless of whether there is more than one or not.
|
||||
.sw
|
||||
-S\ \ \ \ \ \ Compile the named C programs, and leave
|
||||
the assembler-language output on corresponding file suffixed by '.s'.
|
||||
Line number comments are included in the assembly code to help relate
|
||||
the assembly code and the C source.
|
||||
.sw
|
||||
-L\ \ \ \ \ \ (default) Compile a program which is larger than 32K bytes.
|
||||
This flag instructs the assembler to generate 32 bit addresses for
|
||||
all external references and also changes some code generation
|
||||
sequences (i.e. indexed array references). This flag MUST be specified
|
||||
for all programs whose total size (text size + data size + bss size)
|
||||
is larger than 32K bytes.
|
||||
.sw
|
||||
-a\ \ \ \ \ \ This is the alternate of the '-L' flag, it causes
|
||||
the assembler to generate 16 bit addresses for all externally referenced
|
||||
variables.
|
||||
.sw
|
||||
-T\ \ \ \ \ \ Generate assembler code suitable for the 68010.
|
||||
Generates "move cc" instead of "move sr". Let's the assembler know the
|
||||
meaning of the "movec", "moves", "rte", and "rtd" instructions.
|
||||
.sw
|
||||
-t\ \ \ \ \ \ Causes string constants to be placed in the text segment
|
||||
(as opposed to the data segment). The '-t' flag with an appended
|
||||
0, 1, 2, or p (eg. '-tp') is used to specify an alternate parser,
|
||||
code generator, assembler or preprocessor respectively. The alternate
|
||||
executables are expected to be located in the directory "/usr/c68".
|
||||
.sw
|
||||
-6\ \ \ \ \ \ Version 6 compatibility mode. Adds the v6 include file
|
||||
directory onto the include file search list (/usr/include/v6), and
|
||||
adds the version 6 compatibility library (/lib/libv6.a) to the
|
||||
loader's library search list.
|
||||
.sw
|
||||
-7\ \ \ \ \ \ Version 7 compatibility mode. Adds the v7 include file
|
||||
directory onto the include file search list (/usr/include/v7), and
|
||||
adds the version 7 compatibility library (/lib/libv7.a) to the
|
||||
loader's library search list.
|
||||
.sw
|
||||
-3\ \ \ \ \ \ System 3 compatibility mode. Adds the s3 include file
|
||||
directory onto the include file search list (/usr/include/sys3), and
|
||||
adds the system 3 compatibility library (/lib/libs3.a) to the
|
||||
loader's library search list.
|
||||
.sw
|
||||
-5\ \ \ \ \ \ System 5 compatibility mode. Adds the s5 include file
|
||||
directory onto the include file search list (/usr/include/sys5), and
|
||||
adds the system 5 compatibility library (/lib/libs5.a) to the
|
||||
loader's library search list.
|
||||
.sw
|
||||
-P\ \ \ \ \ \ Run only the macro preprocessor
|
||||
on the named C programs, and leave the output on corresponding
|
||||
files suffixed '.i'.
|
||||
.sw
|
||||
-E\ \ \ \ \ \ Run only the macro preprocessor on the named C programs,
|
||||
and write the output to the standard output device. Each code block is
|
||||
identified using a sequence consisting of the source file name and
|
||||
line number (eg. # 34 file.c).
|
||||
.sw
|
||||
-C\ \ \ \ \ \ Like the -E flag except that the comments are not removed.
|
||||
This is used by lint and similar programs which need information which
|
||||
is stored in comments.
|
||||
.sw
|
||||
-Dxxx\ \ \ Define the symbol "xxx" as a preprocessor symbol.
|
||||
This flag is useful for setting compile time options such as "DEBUG"
|
||||
or "NOMMU". (See the "ifdef" construct described below)
|
||||
.sw
|
||||
-Idir\ \ \ Specify a directory (eg. -I/usr/include/test) in which to
|
||||
search for include files which are surrounded by angle brackets <stdio.h>
|
||||
or quotes "ctypes.h" before searching in the default directory '/usr/include'.
|
||||
If '-I' is specified without a directory name the current directory will
|
||||
be used.
|
||||
.in -8
|
||||
.sp
|
||||
Other arguments are taken to be either loader flag arguments,
|
||||
or C-compatible object programs, typically produced by an earlier 'c68' run,
|
||||
or perhaps libraries of C-compatible routines. These programs,
|
||||
together with the results of any compilations specified, are loaded
|
||||
(in the order given) to produce an executable program with name 'c.out'.
|
||||
.sp
|
||||
The instruction 'asm("text");' will output a single line of text into the
|
||||
assembly output literally.
|
||||
.fl FILES
|
||||
.nf
|
||||
.na
|
||||
file.c input file
|
||||
file.o object file
|
||||
file.s assembly language file
|
||||
file.i preprocessor output file
|
||||
a.out loaded output
|
||||
/tmp/c6t?a temporary
|
||||
/lib/c068 parser
|
||||
/lib/c168 code generator
|
||||
/lib/c680.o runtime startoff
|
||||
/lib/lib7.a 68000 C library
|
||||
/lib/libF.a 68000 fast floating point library
|
||||
/lib/libE.a 68000 IEEE floating point library
|
||||
/lib/libv6.a version 6 compatibility library
|
||||
/lib/libv7.a version 7 compatibility library
|
||||
/lib/libs3.a system 3 compatiblity library
|
||||
/lib/libs5.a system 5 compatibility library
|
||||
.fi
|
||||
.ad
|
||||
.sa SEE ALSO
|
||||
.fi
|
||||
.ad
|
||||
"The C Programming Language" by Kernighan and Ritchie, published by
|
||||
Prentice-Hall in 1978.
|
||||
.br
|
||||
cpp(cmnd), as(cmnd), ld(cmnd), float(misc), a.out(files)
|
||||
.br
|
||||
float(misc)
|
||||
.dg DIAGNOSTICS
|
||||
The diagnostics produced by C itself are intended to be self-explanatory.
|
||||
Occasional messages may be produced by the assembler or loader.
|
||||
To distinguish the source of error messages,
|
||||
compiler error messages begin with an *,
|
||||
assembler error messages begin with an &,
|
||||
and loader error messages begin with a :.
|
||||
.sp
|
||||
.ti -5
|
||||
DIFFERENCES
|
||||
.br
|
||||
This compiler is an implementation of the language as described in
|
||||
Kernighan and Ritchie Appendix A with the following exceptions
|
||||
and/or machine dependencies:
|
||||
.sp
|
||||
All pointers are 32 bits in length to accommodate the full 68000
|
||||
addressing range.
|
||||
Address constants are generated as 32-bit numbers
|
||||
unless the -a flag is specified.
|
||||
.sp
|
||||
Pointer register variables are assigned to A-registers.
|
||||
All other register variables are assigned to D-registers.
|
||||
There are 5 D-registers and 3 A-registers available for register variables.
|
||||
.sp
|
||||
Structure arguments, and structures returned
|
||||
from procedures are not yet implemented.
|
||||
.sp
|
||||
An additional comment syntax has been added. Comments may be introduced
|
||||
by two slashes (i.e. //) and are terminated by the end of the source line.
|
||||
The standard C comment syntax (i.e. /* comment */) is also supported.
|
||||
.sp
|
||||
Unsigned long and unsigned short have not yet been implemented.
|
||||
Reference in New Issue
Block a user