有人可以解释汇编指令int $0x00和执行实际除法之间的差异.我在与IDT中的第0个条目相关联的内核中的divide_error()处理程序上设置了断点(除法错误).
当我在我的C程序中执行此操作时:
int i = 5/0;
Run Code Online (Sandbox Code Playgroud)
然后我点击了断点(如预期的那样).然而,
asm volatile ("int $0x00")
Run Code Online (Sandbox Code Playgroud)
不会触发处理程序.为什么?