x86 BIOS 中断 INT 10h

转载 2013年12月04日 14:58:19

在网上找了一会儿才找到,所以贴出来,也方便自己以后查看

原网址:http://zh.wikipedia.org/wiki/INT_10

INT 10h INT 10H 或者 INT 16BIOS中断调用的第10H功能的简写, 在基于x86的计算机系统中属于第17中断向量BIOS通常在此建立了一个中断处理程序提供了实模式下的视频服务。此类服务包括设置显示模式,字符和字符串输出,和基本图形(在图形模式下的读取和写入像素)功能。要使用这个功能的调用,在寄存器AH赋予子功能号,其它的寄存器赋予其它所需的参数,并用指令INT 10H调用。INT 10H的执行速度是相当缓慢的,所以很多程序都绕过这个BIOS例程而直接访问显示硬件。设置显示模式并不经常使用,可以通过BIOS来实现,而一个游戏在屏幕上绘制图形,需要做得很快,所以直接访问视频RAM比用BIOS调用每个像素更适合。

支持功能列表

功能 功能代码 参数 返回
设置显示模式 AH=00H AL=显示模式 AL=显示模式标志/CRT控制模式字节
设置文本方式光标 AH=01H CH=行扫描开始,CL=行扫描结束

通常一个字符单元有8个扫描行(0-7)。所以,CX=0607H是一个正常的光标,CX=0007H是一个完整块光标。如果设置CH的第5位,这通常意味着“隐藏光标”,所以CX=2607H是一种无形光标。

有些视频卡有16条扫描线(00H-0Fh)。

有些视频卡不使用CH的第5位,对于这种情况,可以尝试行扫描开始大于行扫描结束(如:CX=0706h) 。


设置光标位置 AH=02H BH=页码,DH=行,DL=列
获取光标位置和形状 AH=03H BX=页码 AX=0,CH=行扫描开始,CL=行扫描结束,DH=行,DL=列
读取光笔位置(VGA系统不工作) AH=04H
AH=状态(0=无触发,1=触发),BX=X像素,CH=Y像素,CL=像素行模式(0FH-10H),DH=字符Y,DL=字符X
选择活动显示页 AH=05H AL=页码
向上滚动窗口 AH=06H AL=滚动的行(0=清除,被用于CH,CL,DH,DL),

BH=背景颜色和前景颜色,BH=43H,意义为背景颜色为红色,前景颜色为青色。请参考 BIOS颜色属性
CH=高行数,CL=左列数,DH=低行数,DL=右列数


向下滚动窗口 AH=07H 参考向上滚动
读光标所在位置的字符和属性 AH=08H BH=页码 AH=颜色,AL=字符
在当前光标位置写字符和属性 AH=09H AL=字符,BH=页码,BL=颜色,CX=多次打印字符
在光标位置写入字符 AH=0AH AL=字符,BH=页码,CX=多次打印字符
设置背景/边框颜色 AH=0BH,BH=00H BL=背景/边框颜色(边框颜色只能在文本模式设置)
设置调色板 AH=0BH,BH=01H BL=调色板ID(只使用于CGA,但现在的显示卡都支持多个或所有模式。)
写图形像素 AH=0CH AL=颜色,BH=页码 CX=x,DX=y
读图形像素 AH=0DH BH=页码,CX=x,DX=y AL=颜色
电传打字机输出 AH=0EH AL=字符,BH=页码,BL=颜色(只适用于图形模式)
获取当前显示模式 AH=0FH
AH=屏幕字符的列数
         AL=显示模式(参见功能00H中的说明)
         BH=页码
写字符串(EGA+,最低PC AT ) AH=13H AL=写模式,BH=页码,BL=颜色,CX=字符串长度,DH=行,DL=列,ES:BP=字符串偏移量

汇编中的10H中断int 10h详细说明

汇编中的10H中断int 10h详细说明 Admin 2011年6月13日 名人名言:思想好比火星:一颗火星会点燃另一颗火星。一个深思熟虑的教师和班主任,总是力求在集体中创造一种共同热爱科学...
  • hua19880705
  • hua19880705
  • 2012年10月29日 19:39
  • 13886

使用BIOS中断显示字符串笔记(int 10h 13号中断)

BIOS的10H中断的13号中断用于显示字符串,参数为: 1、AH=13H 2、AL=显示方式       如果AL=0,表示目标字符串仅仅包含字符,属性在BL中包含,不移动光标       如果AL...
  • pdcxs007
  • pdcxs007
  • 2015年02月01日 23:19
  • 6449

在x86机器的屏幕上显示的三种方法

在实现x86操作系统的时候,肯定要在屏幕上显示字符、图形和图像,我个人总结,有三种在屏幕上显示的方法。     第一种,调用BIOS中断。将数据写入内存,将内存指针存入CPU寄存器,调用中断。实...
  • yh121212
  • yh121212
  • 2014年01月25日 22:55
  • 787

BIOS int 10h

  • 2014年04月08日 18:26
  • 22KB
  • 下载

汇编的BIOSint10h功能详细介绍

  • 2010年01月17日 13:29
  • 7KB
  • 下载

一个操作系统的实现(10)-中断和异常的补充说明

这节对中断和异常机制做一些额外的补充说明。还介绍了保护模式下的I/O操作。最后总结了一下前面学习的保护模式。 特权级变换规则 上节的代码始终运行在ring0层,没有涉及特权级的变换。这...
  • u010197364
  • u010197364
  • 2016年06月10日 12:29
  • 1222

x86中断手册等资料

  • 2009年12月01日 21:20
  • 564KB
  • 下载

INT 10H 中断简介

  INT 10H 是由 BIOS 对屏幕及显示器所提供的服务程序,而后倚天公司针对倚天中文提供了许多服务...
  • thimin
  • thimin
  • 2008年04月22日 00:10
  • 9901

DOS下的int 10h中断

INT 10H中断 ...
  • wq897387
  • wq897387
  • 2011年03月16日 15:59
  • 2097

BIOS 屏幕显示中断

博学,切问,近思--詹子知(http://blog.csdn.net/zhiqiangzhan)  1.基本功能调用中断调用号:0x10 (功能19,子功能1)寄存器ax:功能调用(ah:功能号,al...
  • zhiqiangzhan
  • zhiqiangzhan
  • 2009年10月10日 17:20
  • 785
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:x86 BIOS 中断 INT 10h
举报原因:
原因补充:

(最多只允许输入30个字)