2011-09-15 63 views
2

我已經通過在實模式下彙編編寫了一個int 9h的ISR。 在這個ISR中,我調用INT 13h,AH = 0x02在硬盤上寫入一些數據。但數據不會寫在硬盤上。同樣int 13h,ah = 0x02也不起作用(從硬盤讀取數據)。 調用int 13h後,進位標誌打開,但AH和AL爲零。 當我從ISR中使用這段代碼時,它是可行的! 爲什麼在ISR中INT13h不起作用,但其他中斷,例如INT10h工作正常?在ISR中調用Int 13h

+0

你正在運行哪個操作系統? –

+0

我在寫引導程序。我的代碼在任何OS之前運行。 – CoyBit

+1

請發佈您的ISR代碼,以便我們可以看到您的嘗試。 – ughoavgfhw

回答

2

簡單的答案是,int 13h不會不帶硬盤的硬件中斷IRQ 5成功完成 - int 9h - int 0Dh直到PIC在鍵盤硬件年底中斷IRQ 1 acknowleged這將不會發生。

快樂的答案是,它更易於使用int 16h ah=0等待按鍵。

相關問題