I'm looking for a compiler (preferably C, but honestly I'm interested in any high level language compiler) that can target 16 bit, x86 processors like the 8086 or 8088 and produce flat binaries. Ideally, it would:

  1. Run on modern Linux/BSD operating systems and cross-compile to x86 machine code restricted only to the original 8086 instruction set + word sizes

  2. Not be abandonware, even if that just means issues can be reported and bugs investigated

  3. If it's a gcc or llvm backend, support a semi recent version

  4. No library runtime bundling / linkage (I think FPC does this) or the ability to specify no runtimes / libraries.

I've seen a handful of compilers advertised as "DOS" compilers, but many seemed dead or had to run in DOSBox.

  • 1
    You may have greater success by asking in SE for retro computers: retrocomputing.stackexchange.com – fred_dot_u Dec 24 '19 at 15:38
  • 1
    I doubt you'll find what you're looking for; you'll probably have to accept abandonware and running in DOSBox... Deitic Principle only knows how many such compilers are out there... :) – Jeff Zeitlin Dec 24 '19 at 16:36
  • There is no 80316 or 80516 (so no x16) it is just 16bit x86. Microsoft think there is a 80664, thus x64 (but what would they know), it is a x86-64. – ctrl-alt-delor Jan 2 at 13:58
  • Can you add something on what/why you are trying to do. – ctrl-alt-delor Jan 2 at 13:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.