对于 x86 中可用的中断列表,是否有任何正式规范(可能是英特尔)?

Is there any formal specification (possibly by Intel) for a list of interrupts available in x86?

例如,为了在实模式下打印一个字符到控制台,我们应该设置al为一个想要的字符,ah设置为0x0e,指定0x10 作为中断向量。 虽然有专门的网站(例如 Ralf Brown 的中断列表),但我更想要 Intel 的正式文档。 与指令集列表(正式记录)相比,我很难找到这个。它曾经存在过吗?

维基百科中的多篇文章提到名为“Intel® 64 and IA-32 Architectures Developer's Manual”的文档。

第 3 卷(第 2859 页)中的第 6.15 部分称为 "EXCEPTION AND INTERRUPT REFERENCE"。该文档远没有那么详尽,但是,它列出了英特尔 应该 定义的正确信息。当然,如果需要找到某个中断的线索,比如,0x80 与某个 OS 相关,那么期望此类信息来自 Intel 是不正确的。因此,文档明确指出中断 32-255 是用户定义的。同时,Ralf Brown 的中断列表旨在包含来自不同来源的信息(官方和非官方、有记录和无记录),因此,例如,this 页面列表 Linux 上 0x80 的参考和 BSD 系统调用等选项。因此,如果您的目的是查找信息以协助特定的开发过程,那么使用 Ralf Brown 的列表可能会相当不错。