Dec 082017
Micro-C 2.12. A superb multi-platform C compiler. FULL source available with registeration. Nomimal registration fee. A must if you want to examine simple and effective C code and compiler design.
File MC212.ZIP from The Programmer’s Corner in
Category C Source Code
Micro-C 2.12. A superb multi-platform C compiler. FULL source available with registeration. Nomimal registration fee. A must if you want to examine simple and effective C code and compiler design.
File Name File Size Zip Size Zip Type
8086RL_S.OBJ 853 632 deflated
8086RL_T.OBJ 809 597 deflated
CATALOG 12704 4658 deflated
CC.COM 3812 2402 deflated
CINTRO.DOC 116587 30366 deflated
COMM.H 2211 852 deflated
CONSOLE.H 1088 530 deflated
CTYPE.H 1557 616 deflated
EQUIP.C 1644 774 deflated
EXE2BIN.COM 1476 1066 deflated
FEATURES.DOC 4734 1607 deflated
FIBO.C 613 368 deflated
FILE.H 1265 614 deflated
FORTUNE.C 10999 4884 deflated
HANOI.C 3777 1417 deflated
HELLO.C 129 117 deflated
LC.BAT 733 379 deflated
LIBRARY.DOC 171823 31412 deflated
MC-VS-SC.DOC 19713 5069 deflated
MC.DOC 156080 38967 deflated
MCC.COM 22706 13621 deflated
MCLIB.LIB 30208 11150 deflated
MCO.COM 13136 7216 deflated
MCP.COM 12016 7487 deflated
MTERM.C 16976 5710 deflated
PRIME.C 727 415 deflated
READ.ME 12352 4463 deflated
ROBOFACE.C 2181 910 deflated
STDIO.H 463 279 deflated
TEXTNUM.C 1846 792 deflated
TPCREAD.ME 199 165 deflated
TSR.H 426 251 deflated
TTT3D.C 5080 1935 deflated
TYPE4.C 1371 761 deflated
VIDEO.H 2235 789 deflated
WINDEMO.COM 11071 6024 deflated

Download File MC212.ZIP Here

Contents of the READ.ME file

* The MICRO-C Compiler *

MICRO-C is a tiny compiler for the 'C' language. It has been designed
to be VERY portable, and can be moved between different processors and
operating systems with little difficulty.

MICRO-C should not be compared to MICROSOFT, TURBO, or any of the
other P.C. compilers, because it it intended for en entirely different
purpose. These are very good compilers, but they are large, expensive,
and dedicated to specific computer environments. MICRO-C is tiny (it can
be made to run in less that 32K), and allows you to take it anywhere you

The complete MICRO-C package includes all source code and support
files you need to port the compiler to any environment. It also includes
code generators for the 6809, 68HC11, 8051/31, 8080/8085/Z80 and 80x86
processors. With this package you can turn out an "instant" compiler for
any machine using one of those processors. The documentation also
contains detailed information on writing new code generators for other

MICRO-C is also an excellent learning tool. Not only does the
complete, well documented source code for the compiler and utilities
give you the opportunity to explore and understand those programs, the
source code for the library gives you information on all kinds of system
programming, such as:

- DOS and BIOS services
- Video screen and windowing functions
- Interrupt driven serial communications
- Terminate and Stay Resident (TSR)
- Lots MORE (Over 130 functions)

For more information on the compiler, see the file MC.DOC. This file
is quite large, make sure you are in no hurry before printing it on a
slow printer. The table of contents pages are printed last, and should
be inserted between the title page and page 1.

MICRO-C is no longer "User supported Software" (shareware). This
archive contains a "DEMO" package, consisting of the IBM PC executables
and support files. If you like what you see, and wish to obtain the
complete package with source code for the compiler, libraries and
utilities, Fill out the order form at the end of this document, and send
it along with the required payment to:

Dunfield Development Systems
P.O. Box 31044
Nepean, Ontario (Canada)
K2B 8S8

Please make your cheque or money order payable to "David or Sharleen
Dunfield". If you choose not to order the complete MICRO-C package,
please discontinue using MICRO-C within thirty days.

* Getting Started *

To install MICRO-C on a hard drive, simply create a directory and
unpack this archive into it. The directory "\MC" is preferred, since
some of the utilities assume this is the MICRO-C home directory unless
told otherwise.

Once you have installed the system, refer to the section entitled
"THE COMMAND CO-ORDINATOR" in the MC.DOC file for information on how to
compile programs using the 'CC' command. You should either include the
MICRO-C directory "\MC" in your PATH, or copy the CC.COM file to a
directory which is already in your PATH. Also, make sure that the MASM
and LINK commands are available on your system. The MCDIR and MCTMP
environment variables should be set up as described in the document
before attempting to use CC.

Once you have everything set up, you may wish to try compiling some
of the example programs which are included in this archive.

* MICRO-C under MS-DOS *
* Implementation notes *

The 8086/MS-DOS implementation of the compiler produces code for the
Microsoft MASM (or compatible) assembler in either the TINY or SMALL
models. It has been tested with MASM 4.0, MASM 5.1 and TASM 1.0. The
LINK utility is required to create a ".EXE" file. NOTE that programs
produced for the TINY model will execute as ".EXE" files, however, due
to PSP being outside of the data/code segment, command line parameters
are only available when the program is converted to ".COM" format with
the supplied EXE2BIN utility.

The memory model to use is selected by the runtime library, which
MUST BE FIRST in the list of object files passed to the linker. The
8086RL_T.OBJ file distributed with MICRO-C is configured for the TINY
model, and the 8086RL_S.OBJ file is configured for the SMALL model.

The variables ARGC and ARGV (Note capitals) are available in the
runtime library module for use as EXTERNAL references from your
programs. This makes it easy for a function other than 'main()' to
access the programs arguments. The variables PSP and ENV are also
available to determine the PROGRAM SEGMENT PREFIX and ENVIRONMENT

ie: extern int ARGC; /* Count of arguments */
extern char *ARGV[]; /* Array of ptrs to args */
extern int PSP; /* PSP segment */
extern int ENV; /* Environment segment */

If you are using a DOS version prior to 3.0, the argv[0] (program
name) argument will not work correctly.

All of the source and header files ('.c', and '.h') were written
using tab stops every 4 characters, which is much more convenient for
'C' development than the usual MS-DOS tab stops of every 8 characters.
Source for a program called "type4.c" is provided, which reads a file
and displays it using spaces to simulate the tabs at 4 character
intervals. To compile this program, use:

cc type4

The resulting "" file may be used to view/print the source
files with proper spacing.

* Files in this archive *

READ.ME - This file
CATALOG - Catalog of available software
FEATURES.DOC - A summary of MICRO-C features
MC.DOC - MICRO-C Technical Documentation
LIBRARY.DOC - MICRO-C Library Reference
MC-VS-SC.DOC - Comparison of MICRO-C and SMALL-C
CINTRO.DOC - Introduction to 'C'
CC.COM - Command Co-ordinator
MCC.COM - Compiler
MCP.COM - Preprocessor
MCO.COM - Optimizer
EXE2BIN.COM - Executable to Binary convertor
WINDEMO.COM - Window package demonstration
LC.BAT - Batch file to link multiple objects
8086RL_T.OBJ - Tiny model runtime library
8086RL_S.OBJ - Small model runtime library
MCLIB.LIB - MICRO-C Function Library
*.h - Header files as described in the documentation
*.c - Various example programs

*** Ordering MICRO-C ***

MICRO-C IS NOT FREE SOFTWARE, if you like MICRO-C, and wish to
continue using it, you MUST order a complete copy of the program, this
gets you many things not included in the demo archive, including:

- More utilities, such as MAKE, TOUCH, SLINK, SINDEX.

- Complete source code for compiler, libraries and utilities.

- Code generators for 6809, 68HC11, 8051/31, 8080/85/Z80, 8086
(all with source code).

- An nice set of windowing library functions (with source).
Run the WINDEMO.COM program for a taste.

- Many more (and useful) example programs (with source), see
the summary at the end of the MC-VS-SC.DOC file.

Once you purchase a copy of MICRO-C, you may at any time, obtain an
update to the current revision of the product by filling out the order
form below, and sending it and the required update fee to the address
mentioned above. Don't forget to check the 'Update' box, and to fill in
your MICRO-C serial number.

* Limited Distribution License *

Permission is granted to copy and distribute this "demo" archive via
electronic "Bulletin Board Systems" (BBS), and disk copying services,
subject to the following restrictions:

- The archive must not presented in its original form, without modification.

- Only one version of this archive may be offered at any given time, IE: if
you post a new version of one of my shareware products, any older versions
of that product, which were previously available must be removed and no
longer offered for distribution.

- I reserve the right to request of anyone distributing this archive that
they upgrade to the current release (which I will provide). If you receive
such notification, and desire NOT to upgrade, you may also meet the
requirements of this license by ceasing to distribute this archive.
* MICRO-C Product Order Form *

Name: _____________________________________________________

Street address: ___________________________________________

City: ___________________ State/Prov: _____________________

Zip/Postal Code: ______________ Country: __________________

For the purposes of this document, the term "MICRO-C" shall be used
to refer to the licensed MICRO-C package, including all documentation,
source code, executable and support files, for the compiler, libraries,
utilities and example programs.

By signing this order form, you indicate your acceptance of the
following conditions:

1) You may make a backup copy of MICRO-C, and you may install MICRO-C
on your computer systems hard disk, but only one copy of MICRO-C may
be in use at one time.

2) You may modify MICRO-C in any way you like, but the modified code
shall, regardless of the extent of modification, remain the property
of the original author, Dave Dunfield. You may not remove or alter
the copyright notices contained in the source files, or displayed
by the executables.

3) You are granted permission to distribute any programs you develop
with MICRO-C. You may also distribute executable code for MICRO-C
library functions that is incorporated into such programs.

4) With the exception of embedded code mentioned above, You may not
re-distribute any part of MICRO-C in any way. Any and all copies
of MICRO-C must be retained in your possession at all times.

5) You may transfer the license and complete MICRO-C package, provided
that you retain no copies of any portion of MICRO-C, and that the
transferee completes and sends in a signed copy of this order form,
indicating the serial number of the MICRO-C package being transferred.

Please check one:

[ ] New order, $49.95 enclosed.

[ ] Update, $20 enclosed, Serial No. _____________

[ ] Transfer of MICRO-C license, Serial No. _____________

I have read and agree to be bound by the above conditions.

Date: ___________ Signed: _________________

 December 8, 2017  Add comments

Leave a Reply