x86 BIOS 中断 INT 10h
在网上找了一会儿才找到,所以贴出来,也方便自己以后查看
原网址:http://zh.wikipedia.org/wiki/INT_10
INT 10h INT 10H 或者 INT 16 是BIOS中断调用的第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颜色属性。 |
|
向下滚动窗口 | 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=字符串偏移量 |
x86 BIOS 中断 INT 10h相关推荐
- 利用BIOS 中断INT 0x10显示字符和字符串
注:以下程序系原创,使用AT&T格式汇编来调用BIOS 0x10中断,如有错误,欢迎指正.表达能力较差,写的不好,但若能帮助一二访客,幸甚. 使用BIOS 显示服务(Video Service ...
- c语言里10h代表什么,汇编中的10H中断int 10h详细说明
汇编中的10H中断是由BIOS对显示器和屏幕所提供的服务程序.使用int 10h服务程序时,必须先指定ah寄存器为以下显示服务编号之一,以指定需要调用的功用. 显示服务 (Video Service: ...
- BIOS中断大全:“INT 10H ~ INT 1AH”
BIOS中断: 1.显示服务(Video Service--INT 10H) 00H -设置显示器模式 01H -设置光标形状 02H -设置光标位置 03H -读取光标信息 04H -读取光笔位置 ...
- MOV AH,XXH INT XXH——BIOS中断和DOS中断
BIOS在系统板ROM里存放着一套程序容量8KB,地址从FE000H开始 感兴趣可以一直查看 一直到3F 但看ASC码是字符显示,推测并不是程序而是字符 就这里有字符,往后一直是0 BIOS主要内容 ...
- [书]x86汇编语言:从实模式到保护模式 -- 第九章 硬中断,使用RTC芯片实现实时时间的显示;软中断,使用BIOS中断实现键盘输入的读取和显示
PART 1 >> 使用BIOS中断实现键盘输入的读取和显示 ; File: c09_2.asm ; Date: 20191222; =========================== ...
- cmos 和 bios中断大全
1,cmos简介. cmos是主板上一块可读写的RAM芯片.用途:主要用来保存当前系统的硬件配置和操作人员对某些参数的设定.cmos芯片是由一块纽扣电池供电.因此在关机状态内部信息也不会丢失. ...
- 汇编 int 10h
汇编中的10H中断是由BIOS对显示器和屏幕所提供的服务程序.使用int 10h服务程序时,必须先指定ah寄存器为以下显示服务编号之一,以指定需要调用的功用. 显示服务 (Video Service: ...
- 汇编--INT 10H功能
汇编–INT 10H功能 INT 10H 是由 BIOS 对屏幕及显示器所提供的服务程序,而后倚天公司针对倚天中文提供了许多服务程序,这些服务程序也加挂在 INT 10H 内.使用 INT 10H 中 ...
- 利用emu8086学习汇编int 10h功能
汇编中的10H中断是由BIOS对显示器和屏幕所提供的服务程序.使用int 10h服务程序时,必须先指定ah寄存器为以下显示服务编号之一,以指定需要调用的功用. 1 显示字符串小程序 先运行一个int ...
- 汇编 INT 10H功能
INT 10H 是由 BIOS 对屏幕及显示器所提供的服务程序,而后倚天公司针对倚天中文提供了许多服务程序,这些服务程序也加挂在 INT 10H 内.使用 INT 10H 中断服务程序时,先指定 AH ...
最新文章
- [实战]MVC5+EF6+MySql企业网盘实战(16)——逻辑重构3
- 添加商品php,php – 为首次购买者添加商品到购物车
- Promise和Async-Await的入门教程
- 剑指offer(一):二维数组中的查找
- 数据结构(二)——堆
- (18) Node.js npm包管理工具
- Hive的数据库和表
- 基础知识之 - C# Using的用法
- silverlight实现图片局部放大效果
- python画立体心形折纸图解_立体的心形盒子的折纸图解过程
- Python基于机器视觉的图像风格迁移
- 复杂美区块链专利再获外媒关注
- 漫画:六九式是一道简单有趣的算法题(开车...)
- 电脑上怎么看主板型号
- 多点多地网络改造方案
- 网盘修复版新增qq支付仿城通网盘115网盘源码下载
- bzoj 2069 [ POI 2004 ] ZAW —— 多起点最短路 + 二进制划分
- 招商头条:北京市集中力量补齐5G产业短板;投资50亿元的格力成都产业园开工
- 从入门到进阶,Python程序员必看的6本书籍!
- 试用HBuilder编辑H5移动开发
热门文章
- 学生管理系统Element UI版
- 微信开发者⼯具介绍及基本使用(1)
- 415错误及解决方法
- 21.	SCHEMATA
- ai面试的优缺点_AI面试是什么?有哪些特点呢?
- Systrace 响应速度实战 2 :响应速度实战分析 - 以启动速度为例
- 3次根号计算机在线应用,根号计算器,三次根号计算器
- 台式电脑主板插线步骤图_图解电脑主机电源线接法图解
- 【day23】The field file exceeds its maximum permitted size of 1048576 bytes.
- 常见概率抽样方法及其适用场景总结(简单随机抽样、分层抽样、整群抽样、系统抽样)