开发80386简易操作系统时反复触发Interrupt 13问题求助
80386简易操作系统开发:反复触发Interrupt 13(通用保护异常)问题
我正在为80386开发一款简易操作系统,编写中断处理程序时反复触发Interrupt 13(通用保护异常)——每次执行完中断处理程序后都会再次进入该中断。查阅80386手册后,已知该中断为通用保护异常,但不清楚具体触发原因及解决办法。即使在Interrupt 13的处理程序中不执行任何操作,问题依然重复出现。
触发异常时的寄存器状态
edi: 0x1000 4096 esi: 0x0 0 ebp: 0x105ed8 1072856 oesp: 0x105ea0 1072800 ebx: 0x0 0 edx: 0x3f8 1016 ecx: 0x105f24 1072932 eax: 0x35 53 ------------------- gs: 0x10 16 fs: 0x10 16 es: 0x10 16 ds: 0x10 16 trapno: 0xd 13 ------------------- err: 0x210 528 eip: 0x1022db 1057499 cs: 0x8 8 eflags: 0x12 18 0b 1 0010 ------------------- esp: 0x8 8 ss: 0x212 530 ----------------
相关代码位置
相关代码位于项目src/interrupt.cpp的第78行(对应提交版本:7dcfabc74c208fffa1f8eda3da5aa68a1b7c1bca)
内容的提问来源于stack exchange,提问作者stskyblade
相关产品推荐
相关产品推荐

