Bochs源码分析 - 17:研究Bochs对整数指令的处理方式
发布时间
阅读量:
阅读量
前言
在《x86/x64编程体系探索及编程》一书的第207页中,作者提供了一个关于中断服务例程的应用实例,接下来我们将对该段代码进行深入分析,并探讨bochs是如何实现相关功能的,其中特别关注int指令的具体执行机制。

代码分析
其首先需要配置调用set_user_interrupt_handler以实现中断向量的调用,具体实现内容如下:
mov esi, SYSTEM_SERVICE_VECTOR // 0x40
mov edi, system_service // lib
call set_user_interrupt_handler
set_user_interrupt_handler 地址处仅包含一条 jmp 指令,用于跳转至 __set_user_interrupt_handler 函数。在该函数内部,首先通过 sidt 指令获取 IDT 表的地址,并将其存入 [___idt__pointer] 所指向的内存区域。随后,以 esi
全部评论 (0)
还没有任何评论哟~
