User Tools

Site Tools


human68k_manual:file:bind

COMMAND

機能

オーバーレイXファイルの作成・変更

書式

BIND [O](作成するファイル名)(ファイル名)[(ファイル名)・・・][/D|/X|/L][/T(パス名)]

備考

外部コマンド

解説

実行ファイルである、拡張子が”.X”になっている複数のXファイルを結合してオーバーレイXファイルと言うのを作成します。 以下私の知識不足のためマニュアルより抜粋 ”オーバーレイXファイルとは使用可能なメモリサイズに対してプログラムやデータのザイズが大きいときに使用されるものです。  たとえばTEST.Xというプログラムを実行するためには800Kバイトのメモリが必要というときに、使用可能なメモリが500Kバイトしかない場合、メモリ不足でこのままでは実行できません。そこで、プログラムを作成するときに、一つのメインプログラムと複数のサブプログラムに分けて作成し、実行するときは、必要なサブプログラムをそのつどディスクから読み込んで実行するようにします。こうするとメモリが少なくても大きなプログラムを実行することが出来るようになります。  ところが、このようなプログラムを作るためには、メイン往路グラムでメモリの管理やディスクの読み込み、実行などを行わなければならず、プログラミングが大変めんどうになります。  BINDコマンドは、このようなオーバーレイ構造のプログラムの作成を援助するコマンドです。複数のプログラムをオーバーレイにしたいときは、通常のプログラムを作成するときのように単にXファイルにすれば良いだけです。”

実行例 複数のXファイルを結合・オーバーレイXファイルを作成する。

BIND /O TEST TEST1 TEST2

TEST1.XとTEST2.XというXファイルを結合してTEST.XというオーバーレイXファイルを作成します。なお、拡張子“.X”は省略可能です。 既存のオーバーレイXファイルに別のXファイルを追加する。

BIND TEST TEST3 TEST4

既存のオーバーレイXファイルTEST.XにさらにTEST3.XとTEST4.Xを追加します。 オーバーレイXファイルの中に入っているXファイルを見る。

BIND TEST /L

オーバーレイXファイルTEST.Xに含まれているXファイルを表示します。”/L“のLは”LIST“の意味でしょうか? オーバーレイXファイルから特定のXファイルを削除する。

BIND TEST TEST3 /D

オーバーレイXファイルTEST.XからTEST3.Xのファイルを削除します。”/D“のLは”DELETE“の意味でしょうか? オーバーレイXファイルから特定のXファイルを取り出す。

BIND TEST TEST2 /X

オーバーレイXファイルTEST.XからTEST2.Xのファイルを取り出します。 テンポラリファイルのパス名をドライブC:に指定して、オーバーレイXファイルを作成する。

BIND TEST TEST2 TEST3 /T C:\

BINDコマンドを実行すると、テンポラリというコンピュータが処理をするための作業領域が必要になります。それがフロッピーディスク上であったりした場合に、容量が足りないとか、実効速度が遅い等の理由によって、RAMディスクやハードディスク等にテンポラリ先を指定したりすると便利ということです。

以下私の知識が足りないのでマニュアルを抜粋。m(-_-)m

 ”オーバーレイXファイルのロードと実行の方法は次のとおりです(別売りの「C Compiler PRO-68k」画筆用です。

 DOSコールの_execファンクションコールで、MDの下位バイトに0(ロードおよび実行)、1(ロードのみ)、3(特殊なコード)、MDの上位バイトにモジュール番号を与えてコールします。通常のXファイルの場合、モジュール番号は0であり、オーバーレイXファイルでも最初に結合したファイルが0、次のファイルが1・・・・・となります。詳しくは「C Compiler PRO-68k」のマニュアルを参照して下さい。

  • TEST.Xの中にTEST1.X、TEST2.X、TEST3.Xが入っているときにそれぞれをロード及び実行するときは、
    • TEST1.XならばMDは$0000
    • TEST2.XならばMDは$0100
    • TEST3.XならばMDは$0200

となります。したがって、

  • TEST

と入力したときは、TEST1.Xがロードおよび実行されることになります。ですから、TEST1.Xでは_exec ファンクションコールを利用して、TEST2.XやTEST3.Xをロードおよび実行するように作成すればよいわけです。

  • TEST.Xの中にTEST1.X、TEST2.X、TEST3.Xが入っているときにそれぞれをロードするときは、
    • TEST1.XならばMDは$0001
    • TEST2.XならばMDは$0101
    • TEST3.XならばMDは$0201

となります。

また、次のようなエラーメッセージが表示されたときは、ディスクの空き領域が足りないためにテンポラリファイルが作れません。充分な空き領域のあるドライブなどにテンポラリファイルを作るようにパスを指定して下さい。パス指定は前述の/T<パス名>またはTEMPコマンドで行えます。 テンポラリーファイルが作れません。“

human68k_manual/file/bind.txt · Last modified: 2019/08/27 20:45 by 127.0.0.1