gpt4 book ai didi

assembly - 自定义中断描述符表困惑

转载 作者:行者123 更新时间:2023-12-02 19:08:29 26 4
gpt4 key购买 nike

我正在编写一个在保护模式下运行的小型操作系统。我现在想要加载自定义中断描述符表,但我不知道从哪里开始。我在 the OS Dev wiki 上读过一些东西,但有几个问题需要回答。

在 OS Dev wiki 上,它说前 32 个 (0-31) 中断被 CPU 保留和使用(作为异常(exception)),因此不要将它们用于 API 或 IRQ。问题是,如果我加载自定义中断表,我是否必须为所有这些中断提供条目?

此外,wiki 指出 BIOS 将 IRQ0-7 映射到中断 8-15。如果是这样的话,IRQ中断会不会和保留中断冲突呢?

有什么我没有得到的吗?中断 0-31 是否在单独的表中?有人请给我指出正确的方向并澄清问题。

最佳答案

当它说不要将这些[中断0-31]用于API或IRQ时,这意味着您不应该将它们用于除它们保留的异常之外的功能。您确实需要为这些中断定义处理程序,以便可以在异常发生时对其进行处理。请参阅OSDev's exception page获取异常列表及其中断号和描述。

当处理器启动时,它处于实模式。在这种模式下,异常情况较少,因此保留处理异常的中断也较少。只要处理器处于实模式,就可以安全地使用中断 8-15 作为 IRQ。在保护模式下启用中断之前,需要将 IRQ 重新映射到不同的中断。请参阅Initialization sectionOSDev's PIC (可编程中断 Controller )页面,了解如何执行此操作的信息。

关于assembly - 自定义中断描述符表困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6823387/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com