是否有针对8086的C编译器?

时间:2010-12-20 19:19:51

标签: c compiler-construction x86 x86-16

我有一个8086 CPU仿真器。它仅模拟8086条指令。我正在寻找一个C编译器来定位这个模拟器。有没有可以做到这一点的C编译器?

此外,拥有一个可用的libc等对我来说并不重要。模拟器使用自定义(即非PC)硬件,因此任何libc甚至ctr0都可能不得不重写

3 个答案:

答案 0 :(得分:8)

bcc - Bruce的C编译器

来自bcc(1) - Linux man page

  

描述

     

Bcc是一个简单的C编译器,可以生成8086汇编程序,此外编译器编译时选项允许80386或6809版本。编译器理解传统的K& R C,只是将位字段映射到其他整数类型之一的限制。

     

默认操作是从源文件生成名为a.out的8086可执行文件。

打开Watcom

来自Open Watcom C/C++ User’s Guide中的编译器选项/ 80x86运行时约定 0 的说明(PDF链接):

  

(仅限16位)编译器将在生成的目标代码中仅使用8086条指令。这是   默认。生成的代码将在8086和所有向上兼容的处理器上运行。宏__SW_0   如果选择“0”,将被预定义

答案 1 :(得分:7)

答案 2 :(得分:0)

Free Pascal也可以产生16 bit 8086 executable。它不是本机编译器,您必须在当代的32位计算机上对其进行编译,然后将可执行文件复制到IBM 51XX或克隆中。