Small-C and Related Software
Can't find it here? Try Amazon.com or Amazon.co.uk:
| Notice of Public Domain Status of Small-C |
The source code for the Small-C Compiler and runtime libraries (CP/M & DOS), Small-Mac Assembler (CP/M),
Small-Assembler (DOS), Small-Tools programs and Small-Windows library to which I hold copyrights are
hereby available for royalty free use in private or commerical endeavors. The only obligation being that
the users retain the original copyright notices and credit all prior authors (Ron Cain, James Hendrix, etc.)
in derivative versions.
James E. Hendrix Jr.
|
In 1979 Jim Hendrix inherited the Small-C compiler from it's original author,
Ron Cain, who had published it in Dr. Dobb's Journal. Jim then improved and expanded
the compiler, adding a full run-time library of standard-C functions,
which he too published in Dr. Dobb's Journal. Ron Cain's compiler ran on a
Polymorphic 8080 microcomputer. Jim Hendrix adapted it to North
Star DOS and later to the CP/M operating system. Later, still
he transported it to MS-DOS.
Using a one-pass algorithm, Small-C produces assembly language output directly.
It uses Unix style standard input and output files, so without specifying otherwise,
input is from the keyboard and output goes to the screen, making it ideal for students
wanting to study the code it generates. As a self-compiler (written in it's own language),
it can be used to generate new versions of itself.
Companion software, for the Small-C compiler, written by Jim Hendrix and
distributed as source code, includes:
- Small-Mac: a macro assembler for CP/M.
This package includes a linking loader and an object archive library manager.
- Small-Assembler: a macro assembler for MS-DOS.
This assembler works with the Microsoft DOS linker.
It's been used in computer science classes for teaching assembler writing.
- Small-Tools: a set of text processing programs written in Small-C.
- Small-Windows: a library of text windowing functions
written in Small-C and converted to Microsoft C for DOS.
Publications about this software include:
-
The Small C Handbook:
The original book on Small-C (CP/M version). Describes language syntax and
compiler usage, but does not cover theory of operation.
-
The Small C Handbook (Japanese):
Japanese translation.
-
A Small C Compiler: Language, Usage, Theory, and Design:
Revision for the MS-DOS compiler, including theory of operation.
-
A Small C Compiler (2nd Edition):
2nd Edition of A Small C Compiler.
-
Small Mac Users Manual:
Booklet on using Small Mac.
-
Small-Tools Users Manual:
Booklet on using Small Tools.
-
Small-Windows Users Manual:
Booklet on using Small Windows.
-
Small-Assembler Users Manual:
Booklet on using Small Assembler.
-
PC Assembler Essence (Korean):
Korean text on Small Assembler written by H. Yoon (1997) for use
classroom use.
-
Dr. Dobb's Toolbook of C:
Anthology of documents on the C programming language. James Hendrix contributed 50%.
Source code listings included.
-
Dr. Dobb's Small-C Resource CD-ROM:.
A definitive collection of compilers, information, and source code for
the Small-C compiler. Packed with books, tools, utilities, and Small-C implementations.
Includes the book A Small C Compiler: Language, Usage, Theory, and Design.