11

DOS から x86 (リアルモード) への uc/OS-II の移植に取り組んでいます。私は欲しい:

  1. リアル モードの 16 ビット x86 アセンブリを生成するコンパイラ

  2. 生成されたアセンブリをオブジェクト ファイルにアセンブルするアセンブラ

  3. オブジェクト ファイルをリンクして実行可能ファイルを出力するためのリンカー (生のバイナリ、COFF、PE、または ELF 形式で問題ありません)

  4. DOS サービスをまったく呼び出さない標準ライブラリ ( int 21h)。BIOS サービスのみに依存します。

それができるツールチェーンがあるかどうか疑問に思っています。

4

4 に答える 4

5

FreeDOSプロジェクトをチェックしてください。コンパイラ、アセンブラ、リンカーを含む開発者ツールがあります。ただし、int 21h ではなく BIOS 呼び出しを使用するように、おそらく標準ライブラリを変更する必要があります。

于 2011-05-19T15:47:53.910 に答える
1

以前の仕事では、リアルモード x86 プラットフォームで実行される uc/OS に基づくプロジェクトがありました。よく知られている Borland や Microsoft のコンパイラではなく、TopSpeed C を使用しました。TopSpeed C は、その時点で利用可能で実行可能な唯一のセットであったためですvolatile。uc/OS を構築する際に非常に必要なものです。Turbo C と Microsoft C (およびその QuickC もだと思います) の両方が、volatile変数へのアクセスを誤ってコンパイルしました。通常は、値をレジスタにキャッシュし、同様の破損を引き起こしました。

ただし、TopSpeed C を手に入れるのは難しいでしょう。そして、そのアセンブラ構文は... ユニークです。(Modula-2 か何かに基づいていると思います。最終的には、100 倍よく知っている MASM/TASM/nasm とは非常に異なります。)

于 2012-09-14T19:02:54.537 に答える
1

16ビットコンパイラ?それらのいくつかはここで言及されています:

8086 を対象とする C コンパイラはありますか?

一般的に、それらは学術的な演習に使用されるため、教育機関を対象とする場合は、多くの例も見つけることができます:

http://www.google.com.sg/search?q=site%3Aedu+C+compiler+8086

于 2012-03-06T01:40:12.720 に答える
-1

GRUB などのブートローダー プロジェクトを確認してください。彼らもあなたが言及したすべてを必要としていることは容易に明らかです。

于 2011-05-19T16:04:08.383 に答える