Programming Field

DOS コマンド一覧

Lh, Loadhigh

プログラムを DOS の上位メモリ領域に読み込み、実行します。

[Windows NT 系] このコマンドは存在しません。(DOS の概念が無いため。)

構文

lh | loadhigh [/L:<area1>[,<min-size1>][;<area2>[,<min-size2>][;...]] [/S]]
    <command>
lh | loadhigh
このコマンドは lh と loadhigh のどちらでも構いません。
/L:<area1>[,<min-size1>][;<area2>[,<min-size2>][;...]]
プログラムを読み込むメモリの領域を指定します。<area1> にはメモリ領域の番号、<min-size1> (省略可能)には読み込むのに必要な最小サイズを指定します。メモリ領域の番号は、Mem コマンドを、/F スイッチを指定して呼び出すことで知ることができます。
領域を複数指定するには、セミコロン「;」で区切って2番目、3番目、・・・と指定します。領域としてコンベンショナルメモリを指定する場合は、メモリ領域の番号として 0 を指定します。
/S
読み込まれているプログラムが使用している上位メモリブロックを、そのプログラムに合う最小のサイズに縮小します。このスイッチは通常 Memmaker ツールによって使用されます。
<command>
上位メモリで実行するプログラムを、通常のコマンドラインで実行するのと同様に指定します。プログラムにパラメータをつけることも可能です。

解説

Config.sys で DOS=HIGH オプションを設定し、HIMEM.SYS ドライバや EMM386.EXE などで上位メモリ領域が使用可能になっているとき、このコマンドはプログラムを上位メモリに読み込みます。これにより、頻繁に使用されるコンベンショナルメモリを節約して大きなプログラムを実行させることが出来ます。

使用できる上位メモリが存在しないときは、Lh は何もせず通常の方法で <command> を実行します。

/L が指定されていると、プログラムは指定された上位メモリしか利用できなくなります。/L を指定しない場合は、プログラムに必要な上位メモリ領域が自動的に割り当てられます。

サンプル 1
LH mscdex.exe /D:CDROM1

Mscdex.exe (DOS 用のCDドライバが読み込まれているときに、DOS 上でCDドライブを使用できるようにするプログラム)を上位メモリに読み込みます。(Mscdex.exe は PATH が通っているディレクトリに存在する必要があります。)

サンプル 2
LH /L:1;3 foo.exe /L

プログラム foo.exe を上位メモリ領域 1 に読み込み、上位メモリ領域 3 にアクセスできるようにします。foo.exe はオプション「/L」を指定した状態で実行されます。

サンプル 3
LH /L:0;1;3 bar.exe /L

プログラム bar.exe をコンベンショナルメモリ領域(領域 0)に読み込み、上位メモリ領域 1 と 3 にアクセスできるようにします。foo.exe はオプション「/L」を指定した状態で実行されます。