Intel 30386 中的中断错误被推送到堆栈描述

Interrupt error in Intel 30386 that get pushed to stack description

我正在处理 interrupt,我需要处理 interrupt

期间的失败或错误

我在 Google 上搜索,发现 x86 架构在发生错误时将一个值推入 stack

我想在我的代码中处理此类错误,但我没有找到关于被 [=16 推入 stack 的 32 位值的描述(structer) =] 如果在中断期间发生错误。

异常或中断后的堆栈帧(帮助说明中断错误的概念)

这是一个段选择器(是一个16位的数据结构)

我提供这张照片只是为了让你理解我在说什么,但我想你不需要太多吧

这就是您正在寻找的结构,其中包含对每个结构的描述

Bit 0: External event {

    0: Internal or software event triggered the error.
    1: External or hardware event triggered the error.
}
Bit 1: description location {
    0: Index portion of error code refers to descriptor in GDT or current LDT.
    1: Index portion of error code refers to gate descriptor in IDT.
}
Bit 2: GDT/LDT. Only use if the descriptor location is 0.
{
    0: This indicates the index portion of the error code refers to a descriptor in the current GDT.
    1: This indicates the index portion of the error code refers to a segment or gate descriptor in the LDT.
}
Bits 3-15: {
    Segment selector index ( also known as descriptor table index ). This is an index into the IDT, GDT, or current LDT to the segment or gate selector bring refrenced by the error code.
    }
Bits 16-31: 
    Reserved

如果你想知道我从哪里得到这些东西,请查看 30386 参考手册(很好也很旧)就像所有很旧的东西都很好