sch (04/17/83)
Here is a quick chart of CP/M C compilers: Version Small Smallc+ Q/C C80 Super- BDS C AZTEC C v1 soft ------------------------------------------------------------------------------ Operators most most all all all all all Arrays oned oned oned nd nd nd nd Datatypes char y y y y y y y int y y y y y y y short n n y n n n ? unsigned n n n y y y y pointer y y y y y y y long n n n n n n y float,double n n n n n n y extern n n y y y y y static n n y y n n y register n n n static static static y*** structure n n n y y y y union n n n n n y y intialize n n y y n n y casts n n n n ? n y program control most all all all all all all #define y y y y y y y #define f(x) n n n n ? y y #include y* y* y y y y y #ifdef/ifndef n n y y y y y #if/else/endif n n y y y y y #asm/endasm y y y y y n ? Output asm/mac y n y y y n asm** m80/l80 n y y y y n y object n n n n n y n Source? y y y n n n n Price: (free) $24 $95 $50 $200 $150 $199 * Includes can not nest (and in some versions have funny syntax.) ** Assembler/linker supplied. *** Even on an 8080, Aztec C puts the first "register" declaration in register pair BC. On a Z80, the first three go to BC, IX, and IY. However, when the function is not recursive you win by *not* using IX and IY registers instead of explicit "static"s. (tekecs!andrew) Note: Smallc version is in public domain. An improved version was posted to net.sources.