- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MS-DOSのイニシャルプログラムローダについて)
MS-DOSのイニシャルプログラムローダについて
このQ&Aのポイント
- MS-DOS(Ver7.1)のイニシャルプログラムローダを解析すると、割り込み1EHの設定を変更していることが分かります。
- イニシャルプログラムローダは、BIOSから制御が移された直後に実行されます。
- イニシャルプログラムローダは、INT 1Eに対する割り込みベクタテーブルをスタックに保存し、新たなポインタを設定します。また、ディスクのトラックあたりのセクタ数を上書きし、特定の即値を格納します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
INT 1Eh は割り込み処理アドレスではなく フロッピーディスクパラメータアドレスです 内容は全て byte で下記の通りです オフセット 内容 00h bit 7-4:ステップレート bit 3-0:ヘッドアンロード時間 01h bit 7-1:ヘッドロード時間 bit 0 :DMAを使わない 02h モータ回転停止までの待ち時間(Tick単位) 03h セクタ長(00h:128バイト 01h:256バイト 02h:512バイト 03h:1024バイト) 04h トラックあたりのセクタ数 05h セクタ間のギャップ長 06h データ長 07h フォーマット時のギャップ長 08h フォーマットデータ 09h ヘッドセトリング時間(ミリ秒単位) 0Ah モータ回転開始時間(1/8秒単位) なお INT 1Dh は ビデオパラメータテーブルアドレス INT 1Fh は 8x8ドットグラフィックフォントテーブルアドレス となっています
お礼
ありがとうございます!なんで割り込みジャンプ先なのに命令列になっていないのだろう?とずっと悩んでおりました。ディスクのパラメータだったんですね。私は全くの趣味で解析をしているのですが、AT互換機の仕様が分からないせいで何日も進まないことがあり、本当に助かりました。