Small-C
From Free net encyclopedia
In computing, Small-C is both a subset of the C programming language, suitable for resource-limited microcomputers and embedded systems, and an implementation of that subset. Originally valuable as an early compiler for micro-computer systems then available during the late 1970s and early 1980s, the implementation has also been useful as an example simple enough for teaching purposes.
The original compiler, written in Small-C for the Intel 8080 by Ron Cain, appeared in the May 1980 issue of Dr. Dobb's Journal. James E. Hendrix improved and extended the original compiler, and published The Small-C Handbook. According to his own recollection, he developed Small-C partially on a unix-based system he had access to. Small-C was important for tiny computers in a manner somewhat analogous to the importance of GCC for larger computers. Just as its UNIX counterparts, the compiler generates assembler code, which then must be translated to machine code by an available assembler.
The Z88DK Small-C cross compiler is capable of generating code for many Zilog Z80 based computers.
The Small-C implementation has been ported to many processors:
- Zilog Z8, Zilog Z80, Zilog Z8000
- Rockwell 6502 family
- Intel 8080, Intel 8085, Intel 8086, Intel 80x86, Intel 8051
- Motorola 6800, Motorola 6809, Motorola 68000
- Fairchild
- SmallC for AVR micrpprocessors
- and many others
Small-C has been ported to just as many operating systems:
- CP/M (including CP/M-86)
- Flex, Microware's OS/9 on M6809-6809 cpu
- IBM-, MS-DOS, Microsoft Windows
- Apple DOS, ProDOS
- Unix, Linux
- BBC Micro
- Sinclair QL
- and many others.
References
- Ron Cain, "A Small C Compiler for the 8080's", Dr. Dobb's Journal, April-May 1980, pp. 5-19
- James E. Hendrix, The Small-C Handbook, Reston 1984, ISBN 0-8359-7012-4
- James E. Hendrix, A Small C Compiler: Language, Usage, Theory, and Design, M & T Books 1988, ISBN 0-9343-7588-7
- James E. Hendrix, Small C Compiler, M & T Books 1990, ISBN 1-5585-1124-5