20

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

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

4

3 回答 3

12

bcc - Bruce 的 C 编译器

来自bcc(1) - Linux 手册页

描述

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

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

打开沃通

来自Open Watcom C/C++ 用户指南(PDF 链接)中编译器选项/80x86 运行时约定0的描述:

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

于 2010-12-20T19:23:10.097 回答
7
于 2010-12-20T19:28:44.230 回答
0

Free Pascal还可以生成16 位 8086 可执行文件。它不是本机编译器,您必须在当代 32 位机器上编译它,然后将可执行文件复制到您的 IBM 51XX 或克隆。

于 2020-01-17T11:31:37.027 回答