2011-06-24 12 views
2

どのようにMS-DOS用の.comファイルを作成しますか?私は自分自身の "オペレーティングシステム"、PowerOSを持っており、カスタムコマンドを入力できるようにしたい。 .comファイルを書く方法はありますか?どのようにMSDOS .comファイルを作成しますか?

+0

コンパイルされた実行可能ファイルまたは.BATバッチファイルを意味しますか? COMフ​​ァイルはどちらでもかまいません。 – batman

+0

.com!= .cmd - > .comはコンパイルされた実行可能ファイルです。 '.cmd'は' .bat'(バッチ)ファイルの変形です。 – Orbling

+0

@Travis Powell私はDOSの初心者ですから、コンパイルされた実行ファイルはどうですか?私が実際に望むのは、コマンドを実行できるファイルです。たとえば、 "CLS"と入力すると、画面が消去されます。私はファイルの "プログラミング言語"を知りたい。 –

答えて

2

答えはかなり簡単です。プログラミング言語でプログラムを記述し、MS/PC/DR-DOSをターゲットとするコンパイラでコンパイルすることにより、MS/PC/DR-DOSプログラムイメージを含む.COMファイルを作成します。それでおしまい。

ファイル名拡張子を混同しないでください。 .COMプログラムイメージファイルフォーマットがあります。これはかなり基本的なプログラムイメージフォーマットです。それは1980年代の "MZ"プログラムイメージファイル形式に取って代わりました。しかし、ファイル名の拡張子とは関係ありません。 MS/PC/DR-DOS用のプログラムイメージファイルは、拡張子.COMまたは拡張子.EXEのいずれかを持つことができますが、実際のイメージファイルはこれによって決まりません。 (DR-DOSについて言及します.DDR-DOSバージョン6では、実質的にすべてのプログラムイメージファイルが.COMであっても、実際には "MZ"形式の実行可能ファイルであり、圧縮されたものです)

あなたがすることは、オペレーティングシステムのプログラムローダーが理解できるプログラムイメージファイル形式によって異なります。そして、実際には、だけあなたは世界にそれを伝えることができます。オペレーティングシステムのプログラムローダーが "MZ"実行可能ファイル形式を理解し、オペレーティングシステムで動作するプログラムが16ビットでリアルモードで実行されている場合、オペレーティングシステム用のコンパイルコマンドは簡単です(システムコールとライブラリを無視します)コンパイラ+リンカwclを起動して、-bcl=DOSオプションを使用してMS/PC/DR-DOSをターゲットにするように指示します(例:OpenWatcomの16ビットコンパイラ+リンカの起動)。

もちろん、プログラムが32ビットでオペレーティングシステムがプロテクトモードで実行されている場合、またはプログラムが16ビットでオペレーティングシステムがプロテクトモードで実行している場合でも、 "MZ"ファイル形式あなたのニーズには適していません。one of the several alternative program image file formatsを使用してください。

2

私はWindows 7の場合、他のWindows OSの場合は、.bat、.exe、または.comのいずれかを書いて、windows/system32フォルダに置くことができます。このファイルは、単にコマンドの名前を入力するだけで、コマンドプロンプトからコマンドとして使用できます。

コマンドラインパラメータを使用するには、バッチファイルで変数%1、%2、%3などを使用できます。このコマンドは他のコマンドと同様に動作し、バッチファイルをさらに書き込むために使用できます。

MS-DOSが実行される限り、これらのファイルタイプの1つをルートディレクトリに置くか、他のコマンドが置かれている場所を見つけてそこに置くことができます。私はCOMファイルが必要かどうか分からないが、もしそうならば、この古い学校のようなバッチ・ツー・コーム・コンバーターがある: Converter from batch to com

関連する問題