Dec 082017
Micro-C compiler for embedded microcontrollers.
File MC312EMB.ZIP from The Programmer’s Corner in
Category Recently Uploaded Files
Micro-C compiler for embedded microcontrollers.
File Name File Size Zip Size Zip Type
ASMCF.COM 18124 11434 deflated
ASMCF.DOC 42100 10737 deflated
BJ.C 2550 1085 deflated
BYTESWAP.C 581 321 deflated
CATALOG 22232 7944 deflated
CCF.COM 4060 2648 deflated
CFLEA.DOC 5591 2005 deflated
CFLEA.H 246 189 deflated
CFLEA.IDE 599 352 deflated
CINTRO.DOC 119188 31185 deflated
COUNT.C 204 170 deflated
DDSIDE.COM 30085 17280 deflated
DDSIDE.DOC 44686 11536 deflated
DICE.C 1725 884 deflated
EMCF.COM 19099 11297 deflated
EMCF.DOC 27902 7338 deflated
LIBCF 0 0 stored
ABORT.ASM 170 132 deflated
ATOI.ASM 903 488 deflated
CONCAT.ASM 799 373 deflated
EXTINDEX.LIB 858 422 deflated
FORMAT.ASM 5377 1866 deflated
IO.ASM 314 134 deflated
ISFUNS.ASM 2121 788 deflated
LONGJMP.ASM 499 257 deflated
LONGMATH.ASM 5469 1501 deflated
MALLOC.ASM 3173 1173 deflated
MATH.ASM 617 268 deflated
MEMORY.ASM 584 272 deflated
MIDDLE.ASM 216 176 deflated
NARGS.ASM 243 168 deflated
PEEK.ASM 444 159 deflated
PREFIX.ASM 623 404 deflated
PRINTF.ASM 237 167 deflated
RAND.ASM 259 189 deflated
SERIO.ASM 2330 904 deflated
SPRINTF.ASM 517 301 deflated
SQRT.ASM 420 279 deflated
STRING1.ASM 516 256 deflated
STRING2.ASM 262 185 deflated
STRING3.ASM 448 244 deflated
STRING4.ASM 355 230 deflated
SUFFIX.ASM 160 139 deflated
TOFUNS.ASM 651 217 deflated
LONGCALC.C 3469 1371 deflated
MCCCF.COM 24942 15493 deflated
MCOCF.COM 12574 7176 deflated
MCP.COM 12410 7654 deflated
MICROC.DOC 175178 40601 deflated
PTR2FUNC.C 1744 783 deflated
READ.ME 7273 3081 deflated
REMTAB.COM 2267 1617 deflated
SLINK.COM 10976 6490 deflated
TPCREAD.ME 199 165 deflated
WALK.C 400 251 deflated

Download File MC312EMB.ZIP Here

Contents of the READ.ME file

NOTE: This archive contains a subdirectory (LIBCF). If you can see any *.LIB
or *.ASM files in the main directory, the archive was not unpacked correctly,
and you should delete everything and unpack it again in a mode which creates
subdirectories (With PKUNZIP, use the '-d' option). Alternatively, copy the
*.LIB and *.ASM into a subdirectory called 'LIBCF', and remove them from the
main directory.

*** MICRO-C Embedded Controller Test-drive ***

This archive contains a demonstration "MICRO-C "Developers Kit", which
contains everything you need to write and debug 'C' and Assembly language
code for an imaginary microprocessor that I've dubbed the C-FLEA. This
processor is designed with a minimal instruction set which provides basic
functions necessary for code generation by the compiler.

This archive should enable you to get a good understanding of how MICRO-C
and its companion programs are used in embedded development. You can write,
compile, execute and debug programs, just as if you were developing for a
real embedded control system.

Before you begin, you must set the environment variable 'MCDIR' to point to
the directory where the software is installed. Consult the file MICROC.DOC
for details on setting up and using the compiler. After you have compiled your
program (See CCF command), you can run it using the included C-FLEA simulator
(see EMCF.DOC).

Here are the steps required to compile and run the WALK.C demo program
included in the archive:

SET MCDIR=C:\MC (Use directory where you installed software)
(Once simulator comes up, type 'G' to start execution)

The C-FLEA virtual machine is somewhat unusual to program at the assembly
language level, however if you are interested in trying out the ASMCF cross
assembler (Or INLINE assembly code in your 'C' programs), see the ASMCF.DOC
file for details on using the assembler. A brief description of the C-FLEA
instruction set can be found in the file CFLEA.DOC. You can also look at the
*.ASM files in the LIBCF subdirectory for examples of assembly programming.

NOTE: The ".C" example source files use TAB stops at 4 character intervals.
If you type them out, or load them under an editor other than DDSIDE
(supplied), these files may appear incorrectly formatted. The ".ASM" files
use TAB stops at 8 character intervals. To view these files with DDSIDE, use
the command '8h' from within the editor.

If you cannot configure your editor to properly display the files, execute
the command "REMTAB". This will remove all TAB characters from the ".C",
".H" and ".ASM" files, and replace them with the correct number of spaces
to retain formatting.

*** The following files should be present in this archive:

READ.ME - This file
CATALOG - DDS Product Catalog
MICROC.DOC - MICRO-C Compiler Documentation
DDSIDE.DOC - Documentation in Integrated Editor
CINTRO.DOC - Introduction to 'C' document
ASMCF.DOC - Cross assembler documentation

EMCF.DOC - Simulator documentation
CFLEA.DOC - C-FLEA virtual processor documentation
CCF.COM - Compile Command
MCP.COM - MICRO-C pre-processor
MCCCF.COM - MICRO-C compiler for C-FLEA
MCOCF.COM - MICRO-C optimizer for C-FLEA
SLINK.COM - Source Linker
ASMCF.COM - C-FLEA cross assembler
EMCF.COM - C-FLEA simulator
DDSIDE.COM - Integrated Development Editor
CFLEA.IDE - Configuration file for DDSIDE
REMTAB.COM - Removes TABS from example source files
LIBCF\*.* - C-FLEA startup code and run time library
CFLEA.H - General I/O definition file
*.C - Example programs

*** Caveats, notes and limitations of the demo system:

The demonstration tools have the following artificially imposed limits
(to discourage misuse):

C Compiler: 250 source lines, 50 concurrent symbol definitions.
Assembler : 3000 source lines, 5000 bytes of symbol table space.
Simulator : No hardware interface, Port option, or serial redirection.

The C-FLEA virtual processor has no simple method of dealing with signed
8 bit quantities. Therefore, 'char' variables and expressions are always
calculated as positive quantities. The "unsigned" modifier only controls
how the compiler views that positive value (ie: 'char' = signed value in
the range of 0-255, 'unsigned char' = unsigned value in the range of 0-
255). This affects how the compiler promotes other objects involved in
an expression. For example:

int a = -1; char b = 255; unsigned char c = 255;

(a < b) == TRUE (signed comparison: -1 < 255 )
(a < c) == FALSE (unsigned comparison: 65535 > 255 )

Since the C-FLEA does not have a "carry flag", more work has to be done
to perform the multi-precision shift/add/subtract operations which are
used heavily by the LONGMATH function. This causes these functions to
be somewhat slower than on most "real" microprocessors.

The following Developers Kit utilities and documentation have not been
included in the DEMO archive:

INTxx.H - Macro(s) for defining interrupt handlers *
REGxx.H - Internal "function" register definitions *
MONxx - Resident Monitor/Debugger **
LAPTALK - Communication software (For communication with MONxx)
* The C-FLEA has no interrupt capability or special function registers.
** MONxx functionality is provided by the included C-FLEA simulator.
Standard developers kits do NOT include a simulator.

The following utilities have not been included in the DEMO archive, but
are described in the documentation:

SLIB - Source librarian
SINDEX - Source library indexer
SCONVERT - Source library convertor
SRENUM - Source library renumberer
MAKE - Automated build utility
TOUCH - Utility used with MAKE
MACRO - Assembly macro processor
HEXFMT - Hex file manipulation utility

*** Use and Distribution License conditions:

All material in this archive is the Copyrighted property of Dave Dunfield,
and All rights to it are reserved.

Permission is granted to use this software and documentation for educational
and evaluation purposes only. You may use the compiler and/or assembler ONLY
to generate code to be executed by the included EMCF simulator, any other use
of the software is prohibited.

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

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

- The archive may not be distributed as part of or in assocation with any
other product.

- 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).

 December 8, 2017  Add comments

Leave a Reply