
** DDS Micro-C revision history **
1.0 12/88 Initial release of Micro-C compiler.
Initial release of 6809 code generator & runtime library
Initial release of 8080 code generator & runtime library
1.1 04/89 Initial release of 8086 code generator & runtime library
Improved handling of '#define' and substitution
Added full support for COMMA operator
Improved pointers and arrays, allows pointer indexing
Better error checking on all forms of indirection
Better handling of global, static and external symbols
Zero uninitialized "static" variables (or array elements)
1.2 07/89 Initial release of Extended Preprocessor
Initial release of Peephole Optimizer
Conversion to "standard" octal and hex constant formats
"io" module modified to function as "filter" in a pipe
1.21 08/89 Support for multi-level pointers. eg: char ***a;
1.22 09/89 Misc code generator improvements
Modified IO.C to output negative numbers for MASM 5.0
1.3 11/89 Supports both TINY and SMALL memory models (for 8086)
Added support for argv[0] (program name) (DOS >= 3.0)
Uninitialized data is no longer saved to disk
1.31 01/90 Added many more library & MS-DOS functions
Modified library to use "link library" files, so that
unused functions are not included in the output image
Added unreferenced local variable detection
Changed "static" modifier to inhibit "public" access
1.32 02/90 Fix "null character in string" ('\0') bug in compiler
Fix for mixed int/char with '&&' and '||'
Added handling for string array initialization
Fix bugs in MCO scanner which cause incorrect matches
More optimizations added to MCO
Initial release of 68HC11 code generator & runtime library
1.33 03/90 Misc fixes to library functions
Improved GENASM/INTERCG file format
Improved 8086 runtime library
More library functions
Fix bad post-INC/DEC optimizations in MCO
1.4 03/90 Initial release of "Introduction to 'C'" document
Initial release of Micro-Installer
Fix incorrect register stacking when handling complicated
expressions involving partial results in both the
accumulator and the index register, Such as:
y = *a * *b + *c * *d + *e * *f;
More library functions
More example programs
1.41 04/90 Changed operator grouping to be consistent with standard 'C'
Fix handling of "continue" in "do" loops
Fix incorrect < > <= >= when left value is a constant
Fix *rl.asm sources (Accidently "bugged" in release 1.4)
More library functions
1.42 05/90 Added "typecast" handling to compiler
Added support for command line defines to MCP
Fix MCP to resolve macros in parameters to macros
Added "control" keys to CONSOLE interface library
Enhanced "TSR" function for full POP-UP support
1.5 06/90 Initial release of "CC" utility
Initial release of "make" utility
Initial release of "touch" utility
Fix bug in MCP command line defines
Changed MCP to return error count in "error_level"
More example programs
More library functions
1.51 07/90 Initial release of "EXE2BIN" utility
Fix handling of "continue" in "switch" statements
Misc fixes to library functions
Documentation updates
2.0 08/90 Re-package MICRO-C distribution to be on two diskettes
Update presentation ("look & feel") of all commands
Initial release of source linker/indexer (SLINK/SINDEX)
Initial release of IBM/PC windowing library
Misc fixes to compiler & all code generators
Misc fixes to library functions
Fix handling of PATH in 'CC.COM'
Fix handling of blanks in MCP macros
2.01 10/90 Initial release of source converter SCONVERT
Minor revisions to compiler and utilities
Additional optimizations added to MCO tables
More example programs (ASM86 and BASIC)
2.02 11/90 Remove redundant 'GLOBAL' bit from type definitions
2.1 12/90 Modified library to support fully buffered I/O
Add "sizeof" operator to compiler
2.11 01/91 Fix handling of embedded () and , in MCP macro args
Enhanced SLINK to support multiple output segments
Initial release of 8051 code generator & runtime library
2.12 06/91 Fix to retain type of "cast"ed constants
Fix handling of "jammed" nested comments ("/*/**/*/")
Clean up handling of #asm/#endasm in compiler
Added multi-line defines to MCP
Fix to prevent processing comments in MCP (with -c option)
Three additional memory models for the 8051
Misc fix's to 8080 and 8051 implementations
2.13 10/91 Misc fix's to libraries
Added numeric fields to wgets() and wform()
2.14 12/91 Initial release of source librarian SLIB
Update SLINK, SINDEX, SCONVERT and MAKE to support '?'
Modify SINDEX to scan entire symbol for 'C' validity
Change MCP to allow more macro definitions
Fix handling of char[] arguments in 6809 and 6811 cg's
2.2 01/92 Removed #asm/#endasm, added more powerful 'asm' statement
Improve option parsing for Command Coordinator (CC)
Fix accessing of temporary stack values in 6811cg
Enhance 6811cg to support internal/external allocation
Separate code generators for PC and stand-alone 8086
Enhance MCO to support substitution of logically negated
jumps etc. Improve all MCO optimization tables
Initial release of 8096 code generator and library
2.3 04/92 Added '-l' option to pass line #'s between MCP and MCC
Added '-c' option to include C code as comments in ASM output
Added '-m' to CCxx to allow MACRO before ASM
Fix to allow reserved words followed by numbers as names
Updates and improvements to library
Initial release of 68HC16 code generator and library
2.4 12/92 Added '-f' option to "fold" identical string constants
Updated compiler and all code generators to properly handle
"static" locals and globals in ALL cpu implementations
Updated SLINK & utils to recognize '$DD' convertible symbols
More updates and improvements to all libraries
Increase size of compiler symbol table
Fixes to CCxx commands to accept longer PATH's
2.41 04/93 Initial release of SRENUM.COM
Initial release of 68HC08 code generator & library
Update CC commands to accept full pathname
Updated MCP to support multi-line strings
Fix MCP so multi-line #defines don't upset line numbers
Fix indirect-call bug in 8051 code generator
Fix bad double access stack optimization in 6809.MCO
3.0 06/93 Significant rewriting of declaration handlers, and parser
Added "struct" and "union" types
Update MCC and MCP to include filename in error messages
Increase size of compiler symbol table
Increase size of SLINK and SLIB symbol tables
Modify startup code to zero uninitialized variables
3.01 08/93 Implement separate structure/member name space
Add support for '&' (address of) static initializations
Fix small-model startup code in PC/demo version
Fix "reference" bit clearing on external declarations
Fix indirect calls with parameters to access stack correctly
Modified PC comm functions to support com3-4
3.02 01/94 Modify CC commands to support MCP command line defines
Change return codes to prevent double execution by CC
Enhance SLINK to support multiple input files
Add "longnum" functions to libraries
3.1 04/94 Add support for "modern" style function definitions
Add '-L' option to CCxx commands to generate .LST file
Add constant conditional recognition & improve output code
Initial release of MAPGEN utility + Add support in libraries
Additions and enhancements to PC library
3.11 07/94 Add '-z' option to CC51 to force '-a' (2K) option to ASM51
Add '$RL,$RS,$FS' commands, '-c' and 'c=' options to SLINK
Modify SLINK to output MCP comments in seg0 (for MAPGEN)
Enhance string init. to determine type based on byte/word
3.12 09/94 Initial release of DDSIDE Integrated Development Environment
Fix blank-line in asm{} causing ':' in column one
3.13 02/95 Add support for "void" type
Add support for C++ style '//' comments
Fix MCP to allow symbol redefinition (no self reference)
Fix bad optimization in PC86 MCO
Change internal type promotions to be more standard
Additional error checking on pointer operations
Added 'F=' option to SLINK
Extensive rework to standardize PC library
3.14 10/95 Switch from .COM to .EXE: Much larger tables
Add #if and #error directives to MCP
Add S= option to CCxx and SLINK to select startup file
Modify CC/DDSIDE to use TEMP if MCTMP undefined
Additions/Updates PC libraries & header files
Fix to allow sizeof() in array declaration
Fix to detect redeclarations differing in dimension
Fix to prevent index being promoted with type of array
Fix PYSH generated by PC86 MCO (Should be PUSH)
a05/96 Initial release of C-FLEA code generator & library
b11/96 Initial release of 68HC12 code generator & library
3.15 05/98 Modify handling of static symbols to retain symbol name
Improve handling of array declarations and null dimensions
Add -s options to CC, MCC and SLINK to output symbolic
information in the form of special assembly comments
Modify SLINK to always pass special comments
Updated MAPGEN to handle symbolic information
Initial release of LRG and SPRITED for MICRO-C/PC
3.16 11/98 Add support for "const" type
Modify SLINK to allow path override on library files
Initial release of AVR code generator & library
3.2 08/99 Constants >32767 are given "unsigned" type
Fixed compile-time compares (num<>num) to be signed
Fixed bad offset for struct members declared in func args
Fixed bad load when cast indirect to different storage class
Added "#elif", "#message", -d option and string concat to MCP
Added __DATE__/__FILE__/__LINE__/__TIME__ to MCP.
Added automatic _CPU_ and _MDL_ defines.
Added ASSERT.H, DEBUG.H, LIMITS.H, STDARG.H, STDDEF.H
Enhance CTYPE.H and SETJMP.H to apply to all CPUs.
Fixed MCP #if nesting problems
Added "PREFIX feature", IF and ESET to MACRO
3.21 12/99 Implemented delayed DEC/INC for post++/-- optimization.
Fixed minor bugs in delayed ! processing
Updated SLINK to enhance S= option, added @file, remove F=
Provide access to environment variables from within MAKE
Improved AVR optimizations
3.22 05/01 Update 8051 compiler to support constant data in code memory
Including string in code memory ... updated library
Add $RF: and $RN: directives to SLINK
Misc optimizations
Fixes to 68HC08 code generator
Update embedded examples with DEMOLIB.H
3.23 01/03 Change 'ASM' to value element & allow operands
Fix parser failing to detect some global declarations.
Initial release of HRG for Micro-C/PC
Back to "How I got here".
Back tp "About Dave".
Back to DDS main page.