我有一个8086 CPU仿真器。它仅模拟8086条指令。我正在寻找一个C编译器来定位这个模拟器。有没有可以做到这一点的C编译器?
此外,拥有一个可用的libc等对我来说并不重要。模拟器使用自定义(即非PC)硬件,因此任何libc甚至ctr0都可能不得不重写
答案 0 :(得分:8)
bcc - Bruce的C编译器
描述
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或克隆中。