DOS _NAMECK
でバッファの範囲外に書き込んでしまう不具合(Human68k v3.02)を検証します。
コマンドライン引数で指定したファイル名(パス名)をDOS _NAMECK
で展開し、結果を表示します。
省略した場合は指定できる最大の長さ(89バイト)のダミーパス名を使用します。
バッファの直後のメモリが破壊された場合は16進数ダンプを表示します
(バイト値が0xff
の場合は__
となります)。
DOS _NAMESTS
でバッファの範囲外に書き込んでしまう不具合(Human68k v3.02)を検証します。
コマンドライン引数で指定したファイル名(パス名)をDOS _NAMESTS
で展開し、結果を表示します。
省略した場合は指定できる最大の長さ(89バイト)のダミーパス名を使用します。
バッファの直後のメモリが破壊された場合は16進数ダンプを表示します
(バイト値が0xff
の場合は__
となります)。
コマンドライン引数で指定したボリュームラベルをDOS _NEWFILE
で作成します。
サブディレクトリ内や、ボリュームラベルが既存の場合でもそのまま新規作成されます。
ファイル入出力のDOSコールの一部に、システムスタック上にバッファを確保して
DOS _NAMESTS
の内部ルーチンを呼び出すものがありますが、
そのルーチンがバッファの範囲外に書き込んでしまう不具合(Human68k v3.02)を検証します。
スタック破壊の結果、アドレスエラーなどが発生します。
コマンドライン引数で検証するDOSコールの種類を指定します。
引数を省略して実行すると使用できるDOSコールを表示します。
Warning
プログラムを正常に終了できないためリセットする必要があります。
コピーバックのディスクキャッシュなどはあらかじめ解除してください。
実験用に用意したシステムでのみ実行してください。
※普段使っているシステムでは実行しないこと!
プログラムを起動すると確認プロンプトが表示されるので、
yes
と入力してリターンキーで確定すると実行されます。