Version 2.51 of the DeSmet compiler is probably the best known, because it is also (under another name) the PCC compiler, still floating around the web. It's the version I've used exclusively since 1985, have tons of code snippits, and my fingers "think" in it.
I still have my (paper!) manual, and have scanned it and converted it to a .PDF with searchable text -- C88_251.PDF. Be warned, it's 6.3MB.
If you want to take a crack at a smaller / better OCR'ed manual, please let me know. I can provide you with the .TIF's I scanned, or even a paper copy.
A smaller, though less complete, version of the 2.51 manual is available in the PCC distribution, in the file PCC.DOC. Note that is an ASCII TEXT file, not a Microsoft Word document.
The early compiler version limitation that all structure/union elements must be globally unique names is gone, but remnants still persist through version 3.03 of the compiler. They are even used in the LIB88 program, as an example:
union { int word; char byte; };will allow references like
char *inin;
i = inin->word;to reference 16-bit data via a pointer to 8-bit data without explicit typecasting.
Version 2.51 came on four floppies:
Disk 1 which contains the compilerthe compiler (C88.EXE, GEN.EXE)Disk 2 which contains additional programs
assembler (ASM88.EXE)
linker (BIND.EXE)
librarian (LIB88.EXE)
debugger (D88.EXE)
editor (SEE.EXE)
standard headers (STDIO.H, MATH.H, SETJMP.H)
libraries (CSTDIO.S, CSTDIO7.S, EXEC.O, MSVER1.O)the profiler (PROF*.EXE)Disk 3 this is the "hacker" disk, which contains
some utilities (RAM.COM, BUF128.*, DUMP.* LATER.C, CB.C, CLIST.EXE, COMPARE.*)
some games (BUGS!, LIFE)
Note the D88 and SEE .O files -- back in the early "not everything was a PC-compatible computer" days, they allowed you to customize the screen I/O of the debugger and editor for your system.documentation on the floating point calls (FLOAT.DOC)Disk 4 this is the "DOS Link" disk, which lets you create Microsoft compatible .OBJ files
the C init code (ISETUP.A for DOS, CSETUP.A for CPM/86)
the source to DOS 2.0+ file I/O (CREAT3.C)
an .O file dumper (DUMPO.C, OBJ.H)
the source to the RAM disk (RAM.ASM)
a CP/M disk reader (FROMCPM.C)
some utilities (EQUAL.C, FREE.C, LS.C, ENVIRON.C)TOOBJ.EXE is an extra pass used by C88 or ASM88 (via the M command line paramter) to translate the .O file to an .OBJ file. It can also be used stand-alone.
MASM compatible startup code (C.*)
Sample of segmentation controls needed to link to C88 (STUB.ASM)
MASM compatible C88 libraries (C88*.LIB)
A rather simple "core dump" program (DUMP.C)
Back to main page
These pages last modified 7/22/2005
lscgid: execve():/home/clcrit/public_html/wwwdesmetc/counter251.cgi: Permission denied