中断 0: 除数为0错
中断 1: 单步中断
中断 2: 不可屏蔽中断 NMI
中断 3: 断电中断 (CCH)
中断 4: 溢出中断
中断 5: 屏幕打印中断
中断 6-7: 保留
中断 8: 计时器中断(18.2/秒)
中断 9: 键盘中断
中断 A-D: 保留
中断 E: 软盘机中断
中断 F: 保留
中断 10: 屏幕I/O调用
中断 11: 设备检查调用
中断 12: 存贮器检查调用
中断 13: 软盘机I/O调用
中断 14: RS-232 I/O 调用
中断 15: 盒带机I/O调用
中断 16: 键盘I/O调用
中断 17: 打印机I/O调用
中断 18: ROM-BASIC入口
.中断 19: 引导装入程序
.中断 1A: 日时调用
.中断 1B: 键盘阻断时得到控制权
.中断 1C: 时钟中断时得到控制权
.中断 1D: 指向CRT初始参数表
.中断 1E: 指向盒带参数表
.中断 1F: 1KB图形模式CRT用第128至256号字符
.中断 20: 结束DOS程序
.中断 21: DOS功能调用
.中断 22: 结束地址 (建议用EXEC功能调用)
.中断 23: DOS Ctrl-Break退出地址
.中断 24: DOS 致命错向量
.中断 25: DOS 绝对磁盘读
.中断 26: DOS 绝对磁盘写
.中断 27: 结束程序并贮留(建议用31H功能调用)
.中断 28-3F: DOS 保留
.中断 40-7F: 未用
.中断 80-85: BASIC保留
.中断 86-F0: BASIC解释程序用
.中断 F1-FF: 未用
=====================================================
IBM PC 的中断 INT 10:
.00H 屏幕方式设置.
入口: AH=0, AL=显示方式代码.(0-6)
0: 40x25 黑白 1: 40x25 彩色 2: 80x25 黑白 3: 80x25 彩色文本方式
4: 320x200 彩色 5: 320x200 黑白 6: 640x200 黑白图形方式
7: 80x25 单色字符 (单色显示器)
.01H 设光标大小
入口: AH=1, CH=光标起始行号(00-0C), CL=光标结束行号(00-0C), 且CH<CL.
.02H 光标定位
入口: AH=2, BH=页号, DH:DL=起始行:列.
.03H 读光标位置
入口: AH=3, BH=页号. 返回: DH:DL=起始行:列.
.06H 窗口上卷
入口: AH=6, AL=窗口上卷行数(AL=0 卷动整个窗口);
CH:CL -DH:DL 窗口坐标
.07H 窗口下卷
入口: AH=7, AL=窗口下卷行数
CH:CL -DH:DL 窗口坐标
.08H 读当前光标处字符和属性
入口: AH=8, BH=页号. 返回: AH:AL=字符的颜色:字符的ASCII码
显示字符的颜色定义如下:
; 1 2 3 4 5 6 7 8
┌─┬─┬─┬─┬─┬─┬─┬─┐
│BL│R│G│B│I│R│G│B│
└─┴─┴─┴─┴─┴─┴─┴─┘ B-兰 G-绿 R-红
闪 └───┘ 加 └───┘
烁 字符底色 亮 字符显示色
.09H 在当前光标处写字符和属性(光标不下移).
入口: AH=9, BH=页号, BL:AL=字符的颜色:字符的ASCII码, CX=重复次数.
.0AH 在当前光标处写字符(原有属性)
入口: AH=0A, BH=页号, AL=字符的ASCII码, CX=重复次数.
.0BH 色彩设置
入口: AH=0B, BL=0 设背景色, BH=0-15
BL=1 设调色码, BH=0-1
.0CH 写图形点
入口: AH=0C, CX:DX=列号:行号, AL=颜色.
.0DH 读图形点
入口: AH=0D, CX:DX=列号:行号. 返回: AL=颜色,
.0EH 在当前页、当前光标处写字符
入口: AH=0E, AL=字符的ASCII码, BL=前景色.
.0FH 显示器状态
入口: AH=0F. 返回: AL=当前显示器方式, AH=屏幕列数, BH=当前页号
===================================================================================
IBM PC 的键盘中断 INT 16:
.00H 读一个键盘键入字符.
入口: AH=0. 返回: AL=字符的ASCII码, AH=扫描码.
.01H 确认键盘是否键入字符.
入口: AH=1. 返回: ZF=1 (Z) 未键入字符;
ZF=0 (NZ)键入字符, AL=字符的ASCII码, AH=扫描码.
键入字符同时留在键盘缓冲区.
.02H 读当前移位键状况.
入口: AH=2.
返回: AL=状态.
7 6 5 4 3 2 1 0
┌─┬─┬─┬─┬─┬─┬─┬─┐
AL: │ │ │ │ │ │ │ │ │
└─┴─┴─┴─┴─┴─┴─┴─┘
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ └─右Shift
│ │ │ │ │ │ └─左Shift
│ │ │ │ │ └─Ctrl
│ │ │ │ └─Alt
│ │ │ └─Scroll Lock
│ │ └─Num Lock
│ └─Capa Lock
└─Ins
======================================================================
ROM 中断 INT 13
A.软盘机I/O调用(360K)
.00H 复位盘系统
入口: AH =0
返回: AH =磁盘状态
0-坏命令, 1-盘上地址找不到, 3-写保护, 4-扇区找不到, ...
.01H 读磁盘状态
入口: AH =1
返回: AH =磁盘状态
.02H 磁盘读
入口: AH =2, DL =驱动器号(0-3), 0=A, 1=B, 2=C
DH =头号(0或1), CH =道号(0-39H), CL =起始扇区号(1-9)
AL =欲读扇区数(1-9), ES:BX =内存缓冲区首址.
返回: AL =实际读入扇区数,AH =磁盘状态; 进位标志CF =0,出错; =1,成功.
.03H 磁盘写
入口: AH =3, DL =驱动器号(0-3), 0=A, 1=B, 2=C
DH =头号(0或1), CH =道号(0-39H), CL =起始扇区号(1-9)
AL =欲写扇区数(1-9), ES:BX =内存缓冲区首址.
返回: AL =实际写入扇区数,AH =磁盘状态; 进位标志CF =0,出错; =1,成功.
B.硬盘机I/O调用
入口: AH =0-3, DL =驱动器号(硬盘80H,81H), 80=C, 81=D
DH =头号(硬盘0-15), CH =道号(0-1023), CL =起始扇区号(1-17)
AL =欲读写扇区数, ES:BX =内存缓冲区首址.
返回: AL =实际读入扇区数,AH =磁盘状态; 进位标志CF =0,出错; =1,成功.
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ttzyanswer/archive/2008/01/17/2049175.aspx