小编vni*_*nik的帖子

Linux asm("int $ 0x0")vs除以零

有人可以解释汇编指令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)

不会触发处理程序.为什么?

c linux x86 assembly

14
推荐指数
2
解决办法
789
查看次数

标签 统计

assembly ×1

c ×1

linux ×1

x86 ×1