On 12/26/22 19:46, Chris via cctalk wrote:
Not all compilers were designed specifically to run
on an ibm pc. If the compiler itself utilzes bios fumction calls to display anything, it
will not run on anything but an pc or compatible. If you're referring to saving object
code to disk, well I giess that's a good question. But there were compilers prior to
tje 5150, and even after, a few of which, I have to imagine, had some other means to save
files.
It seems to me that you're conflating the IBM PC BIOS and MS-DOS. LC
was available for a wide variety of platforms. We ran Lattice on a
non-PC compatible (80186 with no memory-mapped display) To quote the
page I pointed to:
"Lattice C was ported to MVS, VMS, Unix, OS/2, Amiga, Atari ST, and
Sinclair."
My point being that the file I/O of the system hosting the compiler
would be used. If you're running it on an x86-based MSDOS OS, you'll use
MSDOS I/O. That does not imply a PC, only an x86 machine that can host
MSDOS.
If you want vintage, I think that there's a K&R C source on github:
https://github.com/AoiMoe/knrcc
Some time ago, I revisited some code I wrote in the late 1970s-early
1980s and found that gcc didn't like it at all.
As mentioned, there are a host of C cross-compilers.
--Chuck