BIOS中斷呼叫

BIOS中断调用（）是一組功能，为DOS程式與一些软件提供使用IBM PC兼容机上BIOS的功能。許多現代作業系統（如Windows、Linux）的啟動程式會使用BIOS中斷呼叫載入內核，然後由內核將處理器從16位元真實模式轉換到32位元保護模式（或64位元長模式）。

 中断调用 
若要调用中断，可以使用X86汇编语言的INT指令。例如，如下的x86汇编语言指令可以使用BIOS的0x10中断向屏幕打印一个字符。
 mov ah, 0x0e
 mov al, '!'
 int 0x10

 BIOS 中斷向量表 
中斷描述INT 00hCPU：除零错，或商不合法时触发INT 01hCPU：单步陷阱，TF标记为打开状态时，每条指令执行后触发INT 02hCPU：，如開機自我測試时发生内存错误。INT 03hCPU：第一个未定义的中断向量，约定俗成仅用于调试程序INT 04hCPU：算数溢出。通常由INTO指令在置溢出位时触发。INT 05h 在按下或BOUND指令检测到范围异常时触发。INT 06hCPU：非法指令。INT 07hCPU：没有数学协处理器时尝试执行浮点指令触发。INT 08hIRQ0：可编程中断控制器每 55 毫秒触发一次，即每秒 18.2 次。INT 09hIRQ1：每次键盘按下、按住、释放。INT 0AhIRQ2：INT 0BhIRQ3：COM2/COM4。INT 0ChIRQ4：COM1/COM3。INT 0DhIRQ5：硬盘控制器（PC/XT 下）或 LPT2。INT 0EhIRQ6：需要時由軟碟控制器呼叫。INT 0FhIRQ7：LPT1。INT 10h显示服务 - 由BIOS或操作系统设定以供软件调用。 
AH=00h设定显示模式AH=01h设定游标形态AH=02h設定游標位置AH=03h获取光标位置与形态AH=04h获取光标位置AH=05h設定顯示頁AH=06h清除或捲軸畫面(上)AH=07h清除或捲軸畫面(下)AH=08h读取游标处字符与属性AH=09h更改游标处字符与属性AH=0Ah更改游标处字符AH=0Bh设定边界颜色AH=0Eh在TTY模式下写字符AH=0Fh取得目前顯示模式AH=13h写字符串INT 11h返回设备列表。INT 12h获取常规内存容量。INT 13h低階磁碟服務。
AH=00h复位磁盘驱动器。AH=01h检查磁盘驱动器状态。AH=02h读扇区。AH=03h写扇区。AH=04h校验扇区。AH=05h格式化磁道。AH=08h取得驱动器参数。AH=09h初始化硬盘驱动器参数。AH=0Ch寻道。AH=0Dh复位硬盘控制器。AH=15h取得驱动器类型。AH=16h取得软驱中盘片的状态。INT 14h串口通信例程。
AH=00h初始化串口。AH=01h写出字符。AH=02h读入字符。AH=03h状态。INT 15h其它（系统支持例程）。
AH=4FH键盘拦截。AH=83H事件等待。AH=84H读游戏杆。AH=85HSysRq 键。AH=86H等待。AH=87H块移动。AH=88H获取扩展内存容量。AH=C0H获取系统参数。AH=C1H获取扩展 BIOS 数据区段。AH=C2H指针设备功能。AH=E8h, AL=01h (AX = E801h)获取扩展内存容量（自从 1994 年引入的新功能），可获取到 64MB 以上的内存容量。AH=E8h, AL=20h (AX = E820h)查询系统地址映射。该功能取代了 AX=E801h 和 AH=88h。INT 16h键盘通信例程。
AH=00h读字符。AH=01h读输入状态。AH=02h读 Shift 键（修改键）状态。AH=10h读字符（增强版）。AH=11h读输入状态（增强版）。AH=12h读 Shift 键（修改键）状态（增强版）。INT 17h打印服务。
AH=00h打印字符。AH=01h初始化打印机。AH=02h检查打印机状态。INT 18h执行磁带上的 BASIC 程序：“真正的”IBM 兼容机在 ROM 里内置 BASIC 程序，当引导失败时由 BIOS 调用此例程解释执行。（例：打印“Boot disk error. Replace disk and press any key to continue...”这类提示信息）INT 19h加电自检之后载入操作系统。INT 1Ah实时钟服务。
AH=00h读取实时钟。AH=01h设置实时钟。AH=02h读取实时钟時間。AH=03h设置实时钟時間。AH=04h读取实时钟日期。AH=05h设置实时钟日期。AH=06h设置实时钟闹铃。AH=07h重置实时钟闹铃。INT 1BhCtrl+Break，由 IRQ 9 自动调用。INT 1Ch预留，由 IRQ 8 自动调用。INT 1Dh不可调用：指向视频参数表（包含视频模式的数据）的指针。INT 1Eh不可调用：指向软盘模式表（包含关于软驱的大量信息）的指针。INT 1Fh不可调用：指向视频图形字符表（包含从 80h 到 FFh 的 ASCII 字符的数据）的信息。INT 41h地址指针：硬盘参数表（第一硬盘）。INT 46h地址指针：硬盘参数表（第二硬盘）。INT 4Ah实时钟在闹铃时调用。INT 70hIRQ8：由实时钟调用。INT 74hIRQ12：由鼠标调用INT 75hIRQ13：由数学协处理器调用。INT 76hIRQ14：由第一個 IDE 控制器所呼叫INT 77hIRQ15：由第二個 IDE 控制器所呼叫

 参见 





 参考资料 
 The x86 Interrupt List (a.k.a. RBIL, Ralf Brown's Interrupt List)
 Embedded BIOS User's Manual
 PhoenixBIOS 4.0 User's Manual
 HTML version of Ralf Brown Interrupt List
 IBM Personal System/2 and Personal Computer BIOS Interface Technical Reference, IBM, 1988, ISBN 999857739X
 System BIOS for IBM PCs, Compatibles, and EISA Computers, , 1991, ISBN 0201577607
 Programmer's Guide to the AMIBIOS, American Megatrends, 1993, ISBN 0070015619
 The Programmer's PC Sourcebook by Thom Hogan, Microsoft Press, 1991 ISBN 155615321X

Category:BIOS
Category:中断