2011-09-15 10 views
2

ISRをint形式で9hのアセンブリでリアルモードで作成しました。 このISRでは、ハードディスクにデータを書き込むためにINT 13h、AH = 0x02を呼び出します。しかし、データはハードディスクに書き込まれません。また、int 13h、ああ= 0x02も(ハードディスクからデータを読む)は動作しません。 コール後int 13h、キャリーフラグはオンですが、AHとALはゼロです。 ISRからこのコードを使用すると、それは機能します! なぜISRのINT13hは機能しませんが、INT10hなどの他の割り込みは正しく機能しますか? int 9h - PICは、IRQ 1割り込み、キーボードのハードウェアの終わりにacknowlegedされるまでは発生しませんint 0Dh -ISRのInt 13hを呼び出す

+0

実行しているOSはどれですか? –

+0

私はブートローダを書いています。私のコードはどのOSよりも前に実行されます。 – CoyBit

+1

ISRコードを投稿して、あなたが何をしようとしているかを確認してください。 – ughoavgfhw

答えて

2

簡単な答えはint 13hがIRQ 5割り込みハードドライブハードウェアなしで正常に完了しませんということです。

幸せな答えは、キー入力を待つint 16h ah=0を使用することがはるかに簡単であるということです。

関連する問題