20

私は 8086 CPU エミュレーターを持っています。8086 命令のみをエミュレートします。現在、このエミュレータを対象とする C コンパイラを探しています。これを実行できる C コンパイラはありますか?

また、使用可能なlibcなどは私にとって重要ではありません。エミュレーターはカスタム (PC 以外の) ハードウェアを使用するため、libc や ctr0 を書き換える必要があります。

4

3 に答える 3

12

bcc - Bruce の C コンパイラ

bcc(1) - Linux man ページから:

説明

Bcc は、8086 アセンブラーを生成する単純な C コンパイラーです。さらに、コンパイラーのコンパイル時オプションにより、80386 または 6809 バージョンを使用できます。コンパイラは、ビット フィールドが他の整数型の 1 つにマップされるという制限だけで、従来の 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 に答える