fbpx
维基百科

BIOS中斷呼叫

BIOS中断调用(英語:BIOS interrupt calls)是一組功能,为DOS程式與一些软件提供使用IBM PC兼容机BIOS的功能。許多現代作業系統(如WindowsLinux)的啟動程式會使用BIOS中斷呼叫載入內核,然後由內核將處理器從16位元真實模式轉換到32位元保護模式(或64位元長模式[1]

中断调用 编辑

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

 mov ah, 0x0e  mov al, '!'  int 0x10 

BIOS 中斷向量表 编辑

中斷 描述
INT 00h CPU:除零错,或商不合法时触发
INT 01h CPU:单步陷阱,TF标记为打开状态时,每条指令执行后触发
INT 02h CPU:非可屏蔽中断英语Non-maskable interrupt,如開機自我測試时发生内存错误。
INT 03h CPU:第一个未定义的中断向量,约定俗成仅用于调试程序
INT 04h CPU:算数溢出。通常由INTO指令在置溢出位时触发。
INT 05h 在按下⇧ Shift+Prt Sc或BOUND指令检测到范围异常时触发。
INT 06h CPU:非法指令。
INT 07h CPU:没有数学协处理器时尝试执行浮点指令触发。
INT 08h IRQ0:可编程中断控制器每 55 毫秒触发一次,即每秒 18.2 次。
INT 09h IRQ1:每次键盘按下、按住、释放。
INT 0Ah IRQ2:
INT 0Bh IRQ3:COM2/COM4
INT 0Ch IRQ4:COM1/COM3
INT 0Dh IRQ5:硬盘控制器(PC/XT 下)或 LPT2
INT 0Eh IRQ6:需要時由軟碟控制器呼叫。
INT 0Fh IRQ7: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=85H SysRq 键。
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 1Bh Ctrl+Break,由 IRQ 9 自动调用。
INT 1Ch 预留,由 IRQ 8 自动调用。
INT 1Dh 不可调用:指向视频参数表(包含视频模式的数据)的指针。
INT 1Eh 不可调用:指向软盘模式表(包含关于软驱的大量信息)的指针。
INT 1Fh 不可调用:指向视频图形字符表(包含从 80h 到 FFh 的 ASCII 字符的数据)的信息。
INT 41h 地址指针:硬盘参数表(第一硬盘)。
INT 46h 地址指针:硬盘参数表(第二硬盘)。
INT 4Ah 实时钟在闹铃时调用。
INT 70h IRQ8:由实时钟调用。
INT 74h IRQ12:由鼠标调用
INT 75h IRQ13:由数学协处理器调用。
INT 76h IRQ14:由第一個 IDE 控制器所呼叫
INT 77h IRQ15:由第二個 IDE 控制器所呼叫

参见 编辑

  • DOS中断调用英语DOS interrupt call
  • 中断描述符表英语Interrupt descriptor table
  • 输入/输出基地址英语Input/Output Base Address
  • 拉尔夫·布朗的中断列表英语Ralf Brown's Interrupt List

参考资料 编辑

  • The x86 Interrupt List(页面存档备份,存于互联网档案馆) (a.k.a. RBIL, Ralf Brown's Interrupt List)
  • Embedded BIOS 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, Phoenix Technologies英语Phoenix Technologies, 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
  1. ^ From bootloader to kernel · Linux Inside. 0xax.gitbooks.io. [2020-09-10]. (原始内容于2020-08-06). 

bios中斷呼叫, bios中断调用, 英語, bios, interrupt, calls, 是一組功能, 为dos程式與一些软件提供使用ibm, pc兼容机上bios的功能, 許多現代作業系統, 如windows, linux, 的啟動程式會使用載入內核, 然後由內核將處理器從16位元真實模式轉換到32位元保護模式, 或64位元長模式, 目录, 中断调用, bios, 中斷向量表, 参见, 参考资料中断调用, 编辑若要调用中断, 可以使用x86汇编语言的int指令, 例如, 如下的x86汇编语言指令可以使用bi. BIOS中断调用 英語 BIOS interrupt calls 是一組功能 为DOS程式與一些软件提供使用IBM PC兼容机上BIOS的功能 許多現代作業系統 如Windows Linux 的啟動程式會使用BIOS中斷呼叫載入內核 然後由內核將處理器從16位元真實模式轉換到32位元保護模式 或64位元長模式 1 目录 1 中断调用 2 BIOS 中斷向量表 3 参见 4 参考资料中断调用 编辑若要调用中断 可以使用X86汇编语言的INT指令 例如 如下的x86汇编语言指令可以使用BIOS的0x10中断向屏幕打印一个字符 mov ah 0x0e mov al int 0x10BIOS 中斷向量表 编辑中斷 描述INT 00h CPU 除零错 或商不合法时触发INT 01h CPU 单步陷阱 TF标记为打开状态时 每条指令执行后触发INT 02h CPU 非可屏蔽中断 英语 Non maskable interrupt 如開機自我測試时发生内存错误 INT 03h CPU 第一个未定义的中断向量 约定俗成仅用于调试程序INT 04h CPU 算数溢出 通常由INTO指令在置溢出位时触发 INT 05h 在按下 Shift Prt Sc或BOUND指令检测到范围异常时触发 INT 06h CPU 非法指令 INT 07h CPU 没有数学协处理器时尝试执行浮点指令触发 INT 08h IRQ0 可编程中断控制器每 55 毫秒触发一次 即每秒 18 2 次 INT 09h IRQ1 每次键盘按下 按住 释放 INT 0Ah IRQ2 INT 0Bh IRQ3 COM2 COM4 INT 0Ch IRQ4 COM1 COM3 INT 0Dh IRQ5 硬盘控制器 PC XT 下 或 LPT2 INT 0Eh IRQ6 需要時由軟碟控制器呼叫 INT 0Fh IRQ7 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 85H SysRq 键 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 1Bh Ctrl Break 由 IRQ 9 自动调用 INT 1Ch 预留 由 IRQ 8 自动调用 INT 1Dh 不可调用 指向视频参数表 包含视频模式的数据 的指针 INT 1Eh 不可调用 指向软盘模式表 包含关于软驱的大量信息 的指针 INT 1Fh 不可调用 指向视频图形字符表 包含从 80h 到 FFh 的 ASCII 字符的数据 的信息 INT 41h 地址指针 硬盘参数表 第一硬盘 INT 46h 地址指针 硬盘参数表 第二硬盘 INT 4Ah 实时钟在闹铃时调用 INT 70h IRQ8 由实时钟调用 INT 74h IRQ12 由鼠标调用INT 75h IRQ13 由数学协处理器调用 INT 76h IRQ14 由第一個 IDE 控制器所呼叫INT 77h IRQ15 由第二個 IDE 控制器所呼叫参见 编辑DOS中断调用 英语 DOS interrupt call 中断描述符表 英语 Interrupt descriptor table 输入 输出基地址 英语 Input Output Base Address 拉尔夫 布朗的中断列表 英语 Ralf Brown s Interrupt List 参考资料 编辑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 Phoenix Technologies 英语 Phoenix Technologies 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 From bootloader to kernel Linux Inside 0xax gitbooks io 2020 09 10 原始内容存档于2020 08 06 取自 https zh wikipedia org w index php title BIOS中斷呼叫 amp oldid 70355220, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。