开发者

change BIOS interrupt service routine with assembly language

开发者 https://www.devze.com 2023-02-21 05:50 出处:网络
I want to replace a BIOS interrupt routine with my own one. But I don\'t know how to set the value of registers involved. can you tell me the role of cs and ip registers in tracing ISR through a ve开发

I want to replace a BIOS interrupt routine with my own one. But I don't know how to set the value of registers involved. can you tell me the role of cs and ip registers in tracing ISR through a ve开发者_StackOverflowctor table. and if i want to rewrite the routine , what do i need to do?


There's a whole chapter about this in The art of assembly language, chapter 17. Writing ISRs is quite complicated and involves some problem, such as reentrancy of the code.
Basically you have to change the interrupt vector of the ISR you want to patch to point to your code. This vector is located (if I remember correctly) in a table starting at 0000 segment.
In case mr Hyde refers to other chapters in the book, you'll find a list of PDFs here.

0

精彩评论

暂无评论...
验证码 换一张
取 消