SMALL C is a "C" language compiler that is available with source code. It is very easy to port to another CPU, and this has been done many times.
SMALL C for 8088 : 101K This is SMALL C converted to the 8088 by Byte magazine. It is Public Domain, so have fun with it. The README.DOC file doesn't specify which original version this compiler is based on.
SMALL C/Plus v1.0 : 221K Small C V1.0 with structures/unions, floating point, and more. Runs on CP/M (61K TPA required). Generates a rather weird set of mnemonics but assembler is furnished.
SMALL C v1.1 for CP/M-86 : 103K SMALL C v1.1 for CP/M-86. This version is based on the original version of SMALL C by Ron Cain.
SMALL C v1.2 : 363K This version of SMALL C is a cross compiler. It runs on a PC under MS-DOS, and generates 8080 code targeted to CP/M. By Ron Cain.
SMALL C v2.1 : 87K SMALL C v2.1 by Jim Hendrix. This version of the compiler generated code for the 8080 CPU. This is the distribution file set from Jim Hendrix. It is considered to be shareware, and a "registration" fee is requested.
SCI - Small C Interpreter : 63K By Bob Brodt. This archive includes the SCI versions 1.2 for CP/M-80 and 1.3 for MS-DOS. SCI is loosely based on Jim Hendrix' Small C distribution.
SMALL MAC : 129K SMALL MAC is a macro assembler/linking loader combination. It is written in SMALL C and provided as source code. It is supposed to be easy to port to other processors. This version will handle the 8080, and Z80, CPU's. This is also by Jim Hendrix, and is shareware.
SMALL TOOLS : 53K Here are some text processing tools, including a text editor, for SMALL C. They are distributed as source code. I couldn't find any reference as to whether or not there is any processor dependant code in these files, but there is reference to the standard assembler/linker for the PC. Again, these files came from Jim Hendrix, and are considered to be shareware.
Small C for the UNIX platform : 35K The code needs some modifications (just renaming some functions) to work under Linux. Works fine with NetBSD, though.
Small C for Linux : 57K Please use this modified version for Linux. Thanks to Roman Fulek for correcting the code.
Small C for UNIX/Windows(GCC), probably the only compiler supporting undocumented instructions of 8085CPU