通常は gforthmi を使用します。 gforth options
で Gforth
を呼び出してロードするすべてのものを含むイメージ file を作成したい場合は、以下のように言うだけです:
gforthmi file options
たとえば、 通常のものに加えてファイル asm.fs がロードされたイメージ asm.fi を作成したい場合は、 以下のように実行できます:
gforthmi asm.fi asm.fs
gforthmi は sh スクリプトとして実装され、 次のように動作します: 異なるアドレスに対して 2 つの再配置不可能なイメージを生成し、 それらを比較します。 その出力はこの比較を反映しています: まず、 再配置不可能なイメージ・ファイルを生成する 2 つの Gforth 呼び出しの出力(存在する場合)が表示され、 次に比較プログラムの出力が表示されます: データ・アドレスに使用されるオフセットとコードアドレスに使用されるオフセットを表示します。 データ・アドレスに使用されるオフセットと使用されるオフセットが表示されます。 さらに、 イメージ・ファイル内で正しく表現できないセルごとに、 以下のような行が表示されます:
78DC BFFFFA50 BFFFFA40
これは、 forthstart
からのオフセット $78dc に、一方の入力イメージには $bffffa50 が含まれ、
もう一方の入力イメージには $bffffa40 が含まれていることを意味します。 これらのセルは出力イメージでは正しく表現できないため、
ディクショナリ内のこれらの場所を調べて、 これらのセルが死んでいること (つまり、書き込まれる前に読み取られていないこと)を確認する必要があります。
イメージ・ファイル名の前に --application
オプションを挿入すると、 --image-file
オプションの代わりに --appl-image
オプションを使用したイメージを取得します(see Invoking Gforth)。 (イメージ名をコマンドとして入力して、 )このようなイメージを Unix 上で実行すると、 Gforth エンジンは、
オプションをエンジン・オプションとして解釈しようとはせず、 すべてのオプションをイメージに渡します。
引数を指定せずに gforthmi と入力すると、 いくつかの使用説明が表示されます。
ちょっとだけ説明すると、 渡された gforth-options 処理後、 savesystem
と bye
というワードが現れる必要があります。 gforth 実行可能ファイルの特別な二重間接スレッド化(doubly indirect
threaded)バージョンは、 再配置不可能なイメージの作成に使用されます。 この実行可能ファイルの正確なファイル名は、 環境変数
GFORTHD
(デフォルト: gforth-ditc) を介して渡すことができます。
二重間接スレッド化ではないバージョンを渡すと、 完全に再配置可能なイメージではなく、
データ再配置可能なイメージ(see Data-Relocatable Image Files)を取得します。 これは、
コード・アドレス・オフセットがないためです。 通常の gforth 実行可能ファイルは、 再配置可能イメージの作成に使用されます。
この実行可能ファイルの正確なファイル名は、 環境変数 GFORTH
を介して渡すことができます。