小编sou*_*ent的帖子

BIOS 中断如何与保留的硬件中断冲突?

我正在阅读一段内核引导加载程序代码(来自斯坦福大学的 CS140 Pintos OS):

# Configure serial port so we can report progress without connected VGA.
# See [IntrList] for details.
        sub %dx, %dx                    # Serial port 0.
        mov $0xe3, %al                  # 9600 bps, N-8-1.
                                        # AH is already 0 (Initialize Port).
        int $0x14                       # Destroys AX.
Run Code Online (Sandbox Code Playgroud)

处理器以实地址模式执行这些指令。据推测,中断是通过找到中断向量表的第 21 个(索引 = 0x14)条目并在那里执行处理程序来处理的。根据这个来源,中断表是由 BIOS 在实模式下初始化的。 此维基百科页面列出了可用的 BIOS 中断,包括上面使用的中断。

我的困惑来自这样一个事实,即列出的中断异常编号与Intel 参考(第 20-6 页)中对实模式保留中断的描述实质上冲突(并且也在此维基百科页面中重复)

这些中断号是如何消除冲突的?

x86 assembly serial-port interrupt bios

6
推荐指数
1
解决办法
157
查看次数

标签 统计

assembly ×1

bios ×1

interrupt ×1

serial-port ×1

x86 ×1