【问题标题】:Interrupt table modification [closed]中断表修改[关闭]
【发布时间】:2012-05-11 04:49:37
【问题描述】:

我正在编写自己的操作系统,需要知道如何修改中断表,以便将某些(打印字符串等)重定向到命令提示符应用程序,类似于 DOS 的做法。

【问题讨论】:

    标签: assembly operating-system x86 interrupt


    【解决方案1】:

    对于它的价值,我只是在 DOS 中做过这件事,现在感觉就像是另一种生活,但是——如果我没记错的话——我们所做的只是禁用中断,在中断表中写入一个指向所需条目的新指针(从地址 0:0 开始),然后重新启用中断。

    【讨论】:

    • 指针有多宽?它们的结构是什么
    • 实模式下,中断入口是4字节的值(段、偏移对)。
    • 为了完整性:中断向量表(由 Intel 手册调用)默认从地址 0 开始,但可以通过 LIDT 指令更改该位置。不过,您应该注意,该指令在原始 8086 上不可用 - 但这应该不是问题。
    • 操作系统在保护模式下运行...它的结构是什么?
    • 我不知道——我从未在保护模式下直接使用中断表。我建议您发布另一个指定保护模式的问题,因为您已将此问题标记为已回答。
    猜你喜欢
    • 2013-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    • 1970-01-01
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    相关资源
    最近更新 更多