我想用我自己的一個替換BIOS中斷例程。但我不知道如何設置相關寄存器的值。你能告訴我cs和ip寄存器在通過向量表跟蹤ISR中的作用嗎?如果我想重寫例程,我需要做什麼?用匯編語言更改BIOS中斷服務程序
回答
在彙編語言藝術chapter 17中有關於此的全部內容。編寫ISR非常複雜,並且存在一些問題,例如代碼重入。
基本上你必須改變你想修補的ISR的中斷向量來指向你的代碼。這個矢量位於(如果我沒記錯的話)在從0000段開始的表格中。
如果海德先生引用了本書中的其他章節,則可以找到一份PDF列表here。
THX黑莓。但仍有一個問題,即mov word ptr es:[0ffh * 4],偏移量SimpleISR mov word ptr es:[0ffh * 4 + 2],seg SimpleISR不會與NASM編譯,它會提示:「昏迷,冒號或行末「 – teedoo 2011-04-03 05:48:20
@ user667139:我想你應該使用一個臨時寄存器:mov ax,offset simpleISR; mov word ptr es [0ffh * 4],ax; mov ax,seg simpleISR; mov word ptr es [0ffh * 4],ax。在哪一行上給出了該錯誤BTW? – BlackBear 2011-04-04 15:44:08
- 1. 彙編語言子程序
- 2. 更改IDA 5.0的彙編語言
- 3. 彙編語言程序中的部分
- 4. 的MPLab中斷彙編語言
- 5. 彙編語言
- 6. 彙編語言源格式化程序
- 7. 混合彙編語言和C程序
- 8. BIOS視頻服務中斷調用
- 9. 作爲設備語言更改更改應用程序語言
- 10. 在應用程序中更改語言
- 11. 用匯編語言選擇排序
- 12. MIPS彙編語言
- 13. 8086彙編語言
- 14. x86彙編語言
- 15. 彙編語言環
- 16. 彙編語言 - LDI
- 17. CMP彙編語言
- 18. 彙編語言:cbw
- 19. MIPS彙編語言
- 20. 在UWP應用程序中使用匯編(語言)?
- 21. 彙編語言的用法
- 22. 分割用匯編語言
- 23. 使用匯編語言編寫C程序的函數
- 24. 如何用匯編語言編寫基本的SORT程序?
- 25. 將彙編語言宏轉換爲純彙編語言
- 26. 更改ios應用程序的語言
- 27. 更改應用程序語言
- 28. 更改Android應用程序的語言
- 29. 更改網絡應用程序語言
- 30. 彙編和BIOS中的字符串緩衝區中斷
如果你問這麼低級別(=接近硬件)的問題,你應該指定你使用的是哪個架構/ cpu。 – flolo 2011-03-31 22:23:15