2

リアル モードでのアセンブリによって、int 9h の ISR を作成しました。この ISR では、ハードディスクにデータを書き込むために INT 13h、AH=0x02 を呼び出します。ただし、データはハードディスクに書き込まれません。また、int 13h, ah=0x02 も機能しません (ハードディスクからデータを読み取る)。call int 13h の後、キャリー フラグはオンですが、AH と AL はゼロです。このコードを ISR から使用すると、うまくいきます。ISR の INT13h が機能しないのに、INT10h などの他の割り込みが正しく機能するのはなぜですか?

4

1 に答える 1

2

簡単な答えは、キーボード ハードウェア割り込み IRQ 1 の終わりに PIC が確認されるまで発生int 13hしない、ハード ドライブ ハードウェア割り込み IRQ 5 なしでは正常に完了しないということです。int 0Dhint 9h

幸いなことint 16h ah=0に、キーが押されるのを待つ方がはるかに簡単です。

于 2011-09-24T13:50:11.113 に答える