常用中断 cnblogs转载
来源:互联网 发布:知乎精神 编辑:程序博客网 时间:2024/05/16 10:07
http://www.cnblogs.com/huqingyu/archive/2005/02/19/105926.html
常用中断
0
设置显示方式:
AL6~0为显示模式号,1.AL7=0:先清屏,再转为新模式
2.AL7=1:不清屏,直接转为新模式
AL=01 40×25彩色方式
AL=02 80×25黑白方式
AL=03 80×25彩色方式
AL=04 320×200彩色图形方式
AL=05 320×200黑白图形方式
AL=06 320×200黑白图形方式
AL=07 80×25单色文本方式
AL=08 160×200 16色图形 (PCjr)
AL=09 320×200 16色图形 (PCjr)
AL=0A 640×200 16色图形 (PCjr)
AL=0B 保留(EGA)
AL=0C 保留(EGA)
AL=0D 320×200 彩色图形 (EGA)
AL=0E 640×200 彩色图形 (EGA)
AL=0F 640×350 黑白图形 (EGA)
AL=10 640×350 彩色图形 (EGA)
AL=11 640×480 单色图形 (EGA)
AL=12 640×480 16色图形 (EGA)
AL=13 320×200 256色图形 (EGA)
AL=40 80×30 彩色文本(CGE400)
AL=41 80×50 彩色文本(CGE400)
AL=42 640×400 彩色图形(CGE400)10
1
设置光标大小
(仅在文本显示模式下有效)
(CH)0-3=光标起始处行号
(CL)0-3=光标结束处行号10
2
设置光标位置
BH=光标所在处的页号
DH=行号
DL=列号10
3
读光标当前所在位置
BH=页号
AX = 0000h (Phoenix BIOS)
DH,DL=行,列
CH = 开始扫描行号
CL = 结束扫描行号10
4
读光笔当前所在位置
(适用于EGA显示卡)
AH=0 光笔未打开
=1 光笔已打开,且以下参数有效:
CX=象素行(图形)
BX=象素列(图形)
DH=字符行(文本)
DL=字符列(文本)105置显示页AL=页号 10
6
屏幕初始化或向上卷动屏幕
AL=上卷行数
AL=0 :整个窗口空白
AL!=0:屏幕底部为空白输入行
BH=空白行属性
CH=左上角行号
CL=左上角列号
DH=右下角行号
DL=右下角列号 10
7
屏幕初始化或向下卷动屏幕
AL=下卷行数
AL=0 整个窗口空白
AL!=0:屏幕顶部为空白输入行
BH=空白行属性
CH=左上角行号
CL=左上角列号
DH=右下角行号
DL=右下角列号 10
8
读光标位置的字符和属性
(仅文本显示模式下有效)
BH=页号
AH=光标所在处字符属性
AL=光标所在处字符编码10
9
在光标位置显示字符及属性
BH=页号
AL=欲写字符的编码
BL=欲写字符的属性
CX=字符重复次数 10
A
在光标位置显示字符
BH=显示页
AL=欲写字符的编码
CX=字符重复次数 10
B
置彩色调板(320×200图形)或边沿色/背景色
(适用于CGA显示卡)BH=0:文本模式下设置边沿色,图形模式下设置背景色,BL=将设置的颜色号;
BH=1:设置调色板,BL=调色板号 10
C
写象素
(仅在图形显示模式下有效)
DX=行(0-199)
CX=列(0-639)
AL=点的前景色 10
D
读指定页面指定点的颜色
BX=欲读点的页号
DX=行(0-199)
CX=列(0-639)AL=读得该点的前景色
10
E
显示字符
(光标前移一格,如到页尾则自动上卷一行,末行空白)AL=欲写字符的编码
BH=页号
BL=字符的前景色号 10
F
取当前显示状态 AH=当前每行字符数
BH=当前页号
AL6~0=显示模式号
AL7=1:上次转换未清屏
AL7=0:上次转换前先清屏10
13
显示字符串(适用AT)
ES:BP=串地址
CX=串长度
DH,DL=起始行,列
BH=页号
AL0=0:光标返回起始位置
AL0=1:光标跟随移动
AL1=1:包含字符及属性,此时BL指示字符属性
AL2~7:保留(0)
(*1*)
11
设备检验
AX=返回值
bit0=1,配有磁盘
bit1=1,80287协处理器
bit4,5=01,40×25BW(彩色板)
=10,80×25BW(彩色板)
=11,80×25BW(黑白板)
bit6,7=罗盘驱动器
bit9,10,11=RS-232板号
bit12=游戏适配器
bit13=串行打印机
bit14,15=打印机号12 测定存储器容量 AX=字节数(KB)130磁盘复位DL=物理驱动器号(0、1:软盘,80H、81H硬盘)CF=0:复位成功,此时AH=磁盘状态
CF=1:复位失败131读磁盘状态DL=物理驱动器号(0、1:软盘,80H、81H硬盘)CF=0:读状态成功,此时AH=磁盘状态(*2*)
CF=1:读状态失败13
2
读扇区状态
AL=扇区数
CH,CL=磁道号,扇区号1-63
DH,DL=磁头号,驱动器号
ES:BX=数据缓冲区地址
CF=0:读成功,
AH=0
AL=已读取的扇区数
CF=1:读失败
AH=出错代码
3
写指定的扇区
同上
CF=0:写成功
AH=0
AL=写入的扇区数
CF=1:写失败
AH=出错代码13
4
检验磁盘扇区
同上(ES:BX不设置)
CF=0:成功
AH=0
AL=检验的扇区数
CF=1:失败
AH=出错代码
5
对指定磁道格式化(硬盘格式化较复杂,这里只针对软盘格式化)AL=每磁道扇区数
CH=磁道号
DH,DL=磁头号,驱动器号
ES:BX=指向扇区ID的地址指针
CF=0:成功
CF=1:失败,AH=出错代码(*3*)
8 取当前驱动器参数DL=物理驱动器号
CF=0:成功
AH=0
AL:一般为0
BL=驱动器类型(AT/PS2 floppy only)
CH=最大磁道号的低8位
CL5~0=扇区号
CL7~6=最大磁道号高2位
DH=最大磁头号
DL=驱动器数量
ES:DI指向11个字节的磁盘参数表的首址指针
CF=1:失败
9 初始化双驱动器
CF=0:初始化成功
AH=磁盘状态
CF=1:初始化失败
C 查找柱面CH=磁道号
CL5~0=扇区号
CL7~6=磁道号高2位
DH=磁头号
DL=物理驱动器号CF=0:查找成功
AH=磁盘状态
CF=1:查找失败13
D备用硬盘复位DL=物理驱动器号CF=0:复位成功
AH=磁盘状态
CF=1:复位失败13
10H检测硬盘是否准备好DL=物理驱动器号CF=0:准备好
AH=磁盘状态
CF=1:未准备好13
11H调整硬盘驱动器DL=物理驱动器号CF=0:成功
AH=磁盘状态
CF=1:失败13
14H硬盘驱动器内部诊断 CF=0:成功
CF=1:失败13
15H取DASD磁盘类型DL=物理驱动器号CF=0:成功
AH=DASD磁盘类型值(*4*)
CF=1:失败13
16H取软盘变化DL=物理驱动器号CF=0:成功
AH=软盘状态值(*5*)
CF=1:失败13
17H设置磁盘格式化类型
DL=物理驱动器号
AL=磁盘格式化类型(*4*)
AH=磁盘状态
CF=1:失败13
18H设置软盘介质类型DL=物理驱动器号
CH=磁道数
CL=每磁道扇区数
ES:DI指向11个字节的介质参数表的首址指针
CF=0:设置成功
AH=磁盘状态
CF=1:设置失败13
19H磁头复位DL=物理驱动器号
CF=0:复位成功
AH=磁盘状态
CF=1:复位失败14
0
初始化串行通讯口
AL=初始化参数
DX=通讯口号(0,1)AH=通读口状态
AL=调制解调器状态14
1
向串行通讯口写字符
AL=字符
DX=通讯口号(0,1)
写成功:(AH)7=0
写失败:(AH)7=1
(AH)0-6=通讯口状态14
2
从串行通讯口读字符
DX=通讯口号(0,1)
读成功:(AH)7=0
(AL)=字符
写失败:(AH)7=1
(AH)0-6=通讯口状态14
3
取通讯口状态
DX=通讯口号(0,1)
AH=通讯口状态
AL=调制解调器状态150启动盒式磁带马达 151停止盒式磁带马达 15
2
磁带分块读
ES:BX=数据传输区地址
CX=字节数
AH=状态字节
AH=00 读成功
=01 冗余检验错
=02 无数据传输
=04 无引导15
3
磁带分块写
DS:BX=数据传输区地址
CX=字节数同上
160从键盘读字符 AL=字符ASCII码
AH=字符的扫描码
16
1
读键盘缓冲区字符
ZF=0:键盘已准备好读、但键盘缓冲区指针并未改变
AL=字符ASCII码
AH=扫描码
ZF=1: 键盘尚未准备好读,缓冲区空162读转换键状态 AL=转换键状态值(*7*)
AH大多数BIOS会改变其值16
3
设置按键速率和延迟时间AL=设置值
0:默认
1:增加延迟时间
2:按键速率减慢一半
3:增加延时且按键速率减慢一半
4:关闭重发字符
5:设置按键速率与延迟时间
BH=延迟时间
BL=按键速率 16
5
键盘写(将字符放回缓冲区)CL=欲写的字符ASCII码
CH=字符的扫描码AL=00H:成功
AL=01H:缓冲区已满,操作失败16
10H
读扩展键盘 AL=读得字符的ASCII码
AH=字符的扫描码
16
11H
读取扩展键盘状态 ZF=0:键盘已准备好读、但键盘缓冲区指针并未改变
AL=字符ASCII码
AH=扫描码
ZF=1: 键盘尚未准备好读,缓冲区空16
12H
读取扩展转换键状态 AL=转换键状态值(*7*)
AH=扩展转换键状态值(*8*)17
0
打印一个字符
回送状态字节AL=欲打印字符的ASCII码
DX= 打印机号(0~2)AH=打印机状态字节
AH7=0:打印机忙
AH7=1:打印机空闲
AH6=1:打印机响应
AH5=1:无打印纸
AH4=1:已联机
AH3=1:出错
AH2~1:保留
AH0=1:超时17
1
初始化打印机
回送状态字节DX=打印机号(0~2)
AH=打印机状态字节(同上)
172取打印机状态DX=打印机号(0~2)AH=打印机状态字节(同上)1A
0
读时钟
CH:CL=时:分
DH:DL=秒:1/100秒1A
1
置时钟
CH:CL=时:分
DH:DL=秒:1/100秒 1A
2
读实时钟
CH:CL=时:分(BCD)
DH:DL=秒:1/100秒(BCD)1A6置报警时间CH:CL=时:分(BCD)
DH:DL=秒:1/100秒(BCD) 1A7清除报警
注:
(*1*)
例:
AL=0
串:char,char,...
(光标返回起始位置)
AL=1
串:char,char,...
(光标跟随移动)
AL=2,BL=属性串:char,attr,char,attr,...
(光标返回起始位置)
AL=3,BL=属性串:char,attr,char,attr,...
(光标跟随移动)
(*2*)
Values for disk operation status:
00h successful completion
01h invalid function in AH or invalid parameter
02h address mark not found
03h disk write-protected
04h sector not found/read error
05h reset failed (hard disk)
05h data did not verify correctly (TI Professional PC)
06h disk changed (floppy)
07h drive parameter activity failed (hard disk)
08h DMA overrun
09h data boundary error (attempted DMA across 64K boundary or >80h sectors)
0Ah bad sector detected (hard disk)
0Bh bad track detected (hard disk)
0Ch unsupported track or invalid media
0Dh invalid number of sectors on format (PS/2 hard disk)
0Eh control data address mark detected (hard disk)
0Fh DMA arbitration level out of range (hard disk)
10h uncorrectable CRC or ECC error on read
11h data ECC corrected (hard disk)
20h controller failure
31h no media in drive (IBM/MS INT 13 extensions)
32h incorrect drive type stored in CMOS (Compaq)
40h seek failed
80h timeout (not ready)
AAh drive not ready (hard disk)
B0h volume not locked in drive (INT 13 extensions)
B1h volume locked in drive (INT 13 extensions)
B2h volume not removable (INT 13 extensions)
B3h volume in use (INT 13 extensions)
B4h lock count exceeded (INT 13 extensions)
B5h valid eject request failed (INT 13 extensions)
BBh undefined error (hard disk)
CCh write fault (hard disk)
E0h status register error (hard disk)
FFh sense operation failed (hard disk)
(*3*)软盘格式化错误信息
Offset Size Description (Table 0212)
00h BYTE track number
01h BYTE head number (0-based)
02h BYTE sector number
03h BYTE sector size (00h=128 bytes, 01h=256 bytes, 02h=512, 03h=1024)
(*4*)DASD磁盘类型值
00h no such drive 磁盘驱动器不存在
01h floppy without change-line support 磁盘驱动器不能改变当前检测
02h floppy (or other removable drive) with change-line support 磁盘驱动器能改变当前检测
03h hard disk 硬盘
(*5*)软盘状态值
00h 软盘无变化
01h invalid command (SyQuest) 无效的软盘参数
06h change line active or not supported 软盘已改变
80h drive not ready or not present 驱动器未准备好
(*6*)磁盘格式化类型
01h = 320/360K disk in 360K drive
02h = 320/360K disk in 1.2M drive
03h = 1.2M disk in 1.2M drive
04h = 720K disk in 720K or 1.44M drive
(*7*)转换键状态值
Bitfields for keyboard shift flags:
Bit(s) Description (Table 0556)
7 Insert active
6 CapsLock active
5 NumLock active
4 ScrollLock active
3 Alt key pressed (either Alt on 101/102-key keyboards)
2 Ctrl key pressed (either Ctrl on 101/102-key keyboards)
1 left shift key pressed
0 right shift key pressed
(*8*)扩展转换键状态值
Bitfields for keyboard shift flags 2:
Bit(s) Description (Table 0562)
7 SysReq key pressed (SysReq is often labeled SysRq)
6 CapsLock pressed
5 NumLock pressed
4 ScrollLock pressed
3 right Alt key pressed
2 right Ctrl key pressed
1 left Alt key pressed
0 left Ctrl key pressed
- 常用中断 cnblogs转载
- 常用中断
- .net常用的类库网络转载(http://www.cnblogs.com/and/archive/2010/03/24/1693970.html)
- java常用设计模式(转载http://www.cnblogs.com/hnrainll/archive/2011/12/29/2305582.html)
- [转载]线程中断技术
- STM32中断(转载)
- 【转载】stm32中断学习
- CSS之Position详解(转载自cnblogs)
- 转载自:www.cnblogs.com/iwtwiioi
- cnblogs
- cnblogs
- [cnblogs镜像]常用 CSS 选择器
- 常用中断(转)
- 2440 中断分析(转载)
- 中断优先级概念(转载)
- ARM异常中断初探----转载
- 关于jsoncpp的使用,转载自cnblogs,链接如下:
- 自旋锁 -转载http://www.cnblogs.c…
- Qt的事件过滤器
- oracle的游标控制问题
- Smarttemplate中文安装手册
- zen cart网店系统的robots.txt如何写?
- git commit 编辑器的修改
- 常用中断 cnblogs转载
- devexpress官方的帮助文档
- $.each(obj, fn)
- CIO在得到他们的座位之前,需要先找到桌位
- python vs lua
- SQL Server 系统目录 常用查询语句
- 关于MFC里list control控件的重叠问题
- 开启android手机的wifi热点
- C#常规操作EXCEL