更多企业学院:
《中小企业管理全能版》 183 套讲座+89700 份资料
《总经理、高层管理》 49 套讲座+16388 份资料
《中层管理学院》 46 套讲座+6020 份资料
《国学智慧、易经》 46 套讲座
《人力资源学院》 56 套讲座+27123 份资料
《各阶段员工培训学院》 77 套讲座+ 324 份资料
《员工管理企业学院》 67 套讲座+ 8720 份资料
《工厂生产管理学院》 52 套讲座+ 13920 份资料
《财务管理学院》 53 套讲座+ 17945 份资料
《销售经理学院》 56 套讲座+ 14350 份资料
《销售人员培训学院》 72 套讲座+ 4879 份资料
更多企业学院:
《中小企业管理全能版》 183 套讲座+89700 份资料
《总经理、高层管理》 49 套讲座+16388 份资料
《中层管理学院》 46 套讲座+6020 份资料
《国学智慧、易经》 46 套讲座
《人力资源学院》 56 套讲座+27123 份资料
《各阶段员工培训学院》 77 套讲座+ 324 份资料
《员工管理企业学院》 67 套讲座+ 8720 份资料
《工厂生产管理学院》 52 套讲座+ 13920 份资料
《财务管理学院》 53 套讲座+ 17945 份资料
《销售经理学院》 56 套讲座+ 14350 份资料
《销售人员培训学院》 72 套讲座+ 4879 份资料
更多企业学院:
《中小企业管理全能版》 183 套讲座+89700 份资料
《总经理、高层管理》 49 套讲座+16388 份资料
《中层管理学院》 46 套讲座+6020 份资料
《国学智慧、易经》 46 套讲座
《人力资源学院》 56 套讲座+27123 份资料
《各阶段员工培训学院》 77 套讲座+ 324 份资料
《员工管理企业学院》 67 套讲座+ 8720 份资料
《工厂生产管理学院》 52 套讲座+ 13920 份资料
《财务管理学院》 53 套讲座+ 17945 份资料
《销售经理学院》 56 套讲座+ 14350 份资料
《销售人员培训学院》 72 套讲座+ 4879 份资料
BIOS 和 DOS 中断大全(2)
(3)、功能 3BH 功能描述:用指定的驱动器和路径设置为当前目录 入口参数:AH
=3BH DS:DX=指定路径的字符串地址(以 0 为字符串的结束标志) 出口参数:
CF=0—
(3)、功能 3BH
功能描述:用指定的驱动器和路径设置为当前目录
入口参数:AH=3BH
DS:DX=指定路径的字符串地址(以 0 为字符串的结束标志)
出口参数:CF=0——设置成功,否则,AX=错误号(03H),其含义见错误代码
表
(4)、功能 47H
功能描述:取当前目录的完全路径字符串
入口参数:AH=47H
DL=驱动器号(0=缺省,1=A,…)
DS:SI=存放当前目录字符串的地址
出口参数:CF=0——读取成功,否则,AX=错误号(0FH),其含义见错误代码
表
3、磁盘管理功能(Disk-Management Function)
0DH —磁盘复位 2EH —设置校验标志
0EH —选择磁盘 36H —读取驱动器分配信息
19H —读取当前驱动器 54H —读取校验标志
1BH, 1CH —读取驱动器数据
(1)、功能 0DH
功能描述:清空当前的文件缓冲区,但在 MS-DOS 内,暂时写入缓冲区的数据将
写入磁盘
入口参数:AH=0DH
出口参数:无
(2)、功能 0EH
功能描述:指定当前驱动器
入口参数:AH=0EH
DL=驱动器号(0=A,1=B,...)
出口参数:AL=系统中当前的驱动器号
(3)、功能 19H
功能描述:取当前缺省驱动器号
入口参数:AH=19H
出口参数:AL=驱动器号(0=A,1=B,...)
(4)、功能 1BH 和 1CH
功能描述:获得驱动器的分配信息
入口参数:AH=1BH——为缺省驱动器
AH=1CH——为任意驱动器,DL=驱动器号(0=缺省,1=A,...)
出口参数:AL=0FFH——失败,否则,
AL=每簇的扇区数
DS:BX=ID 字节的地址
CX=物理扇区的大小(字节数)
DX=驱动器的簇数
(5)、功能 2EH
功能描述:设置/清除操作系统自动读取检验标志
入口参数:AH=2EH
DL=00H
AL=00H——清除该标志,01H——设置该标志
出口参数:无
(6)、功能 36H
功能描述:取选定驱动器的信息
入口参数:AH=36H
DL=驱动器号(0-缺省,1=A,2=B,…)
出口参数:若功能调用失败,AX=0FFFFH,否则,
AX=每簇的扇区数
BX=可用的簇数
CX=物理扇区的大小(字节数)
DX=驱动器中的簇数
(7)、功能 54H
功能描述:读取校验标志
入口参数:AH=54H
出口参数:AL=当前检验标志值:00H—关检验,01H—开检验
4、文件操作功能(File Operation Function)
3CH —创建文件
3DH —打开文件
3EH —关闭文件
41H —删除文件
43H —读取/设置文件属性
45H —复制文件句柄
46H —重定义文件句柄
4EH —查找到第一个文件
4FH —查找下一个文件
56H — 文件换名
57H —读取/设置文件的日期和时间
5AH —创建临时文件
5BH —创建新文件
67H —设置文件句柄数(最多文件数)
6CH —扩展的打开文件功能(打开、创建或替换文件)
(1)、功能 3CH
功能描述:用指定的文件名创建一个新文件。如果指定的文件已存在,则设置其
长度为 0。创建后,该文件是打开的,并返回其句柄
入口参数:AH=3CH
DS:DX=指定文件名字符串的地址(以 0 为字符串的结束标志)
CX=文件属性(这些标志位可以组合) 位 0=1——只读
位 2=1——系统
位 5=1——归档位 1=1——隐含
位 3=1——卷标号
其它位保留不用,并置为 0
出口参数:CF=0——创建成功,AX=文件句柄,否则,AX=错误号(03H、04H
或 05H),其含义见错误代码表
(2)、功能 3DH
功能描述:打开指定的驱动器、路径和文件名,并返回其文件句柄
入口参数:AH=3DH
DS:DX=表明文件的字符串(以 0 为字符串的结束标志)
AL 为打开方式: 位 0~2000—只读方式 001—写方式 010—读/写方式
位 3 保留,其值为 0
位 4~6 共享模式 000—兼容模式 001—不共享 010—拒绝写
011—拒绝读 100—不拒绝任何操作
位 7 继承标志——0/1:子进程继承或不继承句柄
出口参数:CF=0——打开成功,AX=文件句柄,否则,AX=错误号(02H、
03H、04H、05H 或 0CH),其含义见错误代码表
(3)、功能 3EH
功能描述:关闭指定句柄的文件
入口参数:AH=3EH
BX=文件句柄
出口参数:CF=0——关闭成功,否则,AX=错误号(06H),其含义见错误代码
表
(4)、功能 41H
功能描述:删除指定的文件
入口参数:AH=41H
DS:DX=文件名字符串的地址
出口参数:CF=0——删除成功,否则,AX=错误号(02H、03H 或 05H),其含
义见错误代码表
BIOS 和 DOS 中断大全(3)
(5)、功能 43H 功能描述:读取或设置指定文件的属性 入口参数:AH=43H BX
=文件句柄 DS:DX=文件名字符串的地址 AL=00H/01H——读取/设置文件属
性 CX=文件属
(5)、功能 43H
功能描述:读取或设置指定文件的属性
入口参数:AH=43H
BX=文件句柄
DS:DX=文件名字符串的地址
AL=00H/01H——读取/设置文件属性
CX=文件属性: 位 0=1——只读位 1=1——隐含
位 2=1——系统位 3=1——卷标号
位 5=1——归档其它位保留不用,并置为 0
出口参数:CF=0——关闭成功,CX=文件属性,否则,AX=错误号(01H、02H、
03H 或 05H),其含义见错误代码表
(6)、功能 45H
功能描述:复制当前打开设备或文件的句柄,
该句柄对应同样设备或文件的相同位置
入口参数:AH=45H
BX=待复制的文件句柄
出口参数:CF=0——复制成功,AX=新句柄,否则,AX=错误号(04H 或
06H),其含义见错误代码表
(7)、功能 46H
功能描述:指定二个句柄,把第二句柄指向第一个句柄,即第二个句柄被重定向
入口参数:AH=46H
BX=文件或设备的句柄
CX=待重定向的文件句柄
出口参数:CF=0——重定向成功,否则,AX=错误号(04H 或 06H),其含义见
错误代码表
(8)、功能 4EH
功能描述:获取第一个与给定的文件名相匹配的文件
入口参数:AH=4EH
DS:DX=给定文件名的字符串
CX=搜索时使用的文件属性: 位 0=1——只读 位 1=1——隐含
位 2=1——系统 位 3=1——卷标号
位 4=1——目录 位 5=1——归档
其它位保留不用,并置为 0
出口参数:CF=1——操作失败,AX=错误号(02H、03H 或 12H),其含义见错
误代码表,否则,操作成功,DTA(Disk Transfer
Area)按下列方式填入数据: 字节 00~14H 保留
字节 15H 匹配的文件属性
字节 16~17H 压缩的文件名
字节 18~19H 压缩的文件日期
字节 1A~1DH 文件大小
字节 1E~2AH 文件名字符串
(9)、功能 4FH
功能描述:在中断 21H 的功能 4EH 成功使用之后,再搜索下一个文件名
入口参数:AH=4FH
AL=返回的代码
出口参数:CF=1——操作失败,AX=错误号(12H),其含义见错误代码表,否
则,操作成功,DTA 中的数据如前面功能 4EH 所示
(10)、功能 56H
功能描述:文件换名
入口参数:AH=56H
DS:DX=当前文件名字符串地址
ES:DI=新文件名字符串地址
出口参数:CF=0——操作成功,否则,AX=错误号(02H、03H、05H、11H),
其含义见错误代码表
(11)、功能 57H
功能描述:读取/设置文件的日期和时间
入口参数:AH=57H
BX=文件句柄 读取日期和时间 AL=00H
设置日期和时间 AL=01H
CX=时间(0F~0BH:小时,0AH~05H:分钟,04H~00H:2 秒的个数)
DX=日期(0F~09H:年(相对 1980 年),08H~05H:月,04H~00H:日)
出口参数:CF=1——操作失败,AX=错误号(01H、06H),其含义见错误代码表,
否则,若是读文件信息,则,CX=时间,DX=日期
(12)、功能 5AH
功能描述:创建临时文件
入口参数:AH=5AH
DS:DX=路径名的地址
CX=文件属性(位可组合),其定义如下: 位 0=1 只读位 3-4=0 保留
位 1=1 隐含位 5=1 归档
位 2=1 系统位 6-15=0 保留
出口参数:CF=0——操作成功,AX=文件句柄,DS:DX=完整的路径文件地址,
否则,AX=错误号(03H、04H 或 05H),其含义见错误代码表
(13)、功能 5BH
功能描述:创建新文件
入口参数:AH=5BH
DS:DX=路径名的地址
CX=文件属性(位可组合),其定义如下: 位 0=1 只读位 4=0 保留
位 1=1 隐含位 5=1 归档
位 2=1 系统位 6-15=0 保留
位 3=1 卷标号
出口参数:CF=0——操作成功,AX=文件句柄,否则,AX=错误号(03H、
04H、05H 或 50H),其含义见错误代码表
(14)、功能 67H
功能描述:设置文件句柄数(最多文件数)
入口参数:AH=67H
BX=句柄的数量
出口参数:CF=0——操作成功,否则,AX=错误号,其含义见错误代码表
(15)、功能 6CH
功能描述:扩展的打开文件功能(打开、创建或替换文件)
入口参数:AH=6CH
AL=00H
DS:SI=路径名的地址
BX=打开方式 位 2~0000—只读 001—只写 010—可读、写
位 3 保留(0)
位 6~4000—兼容 001—拒绝读写 010——拒绝写
011—拒绝读 100——不拒绝任何操作
位 70—子进程继承句柄,1—子进程不继承句柄
位 12~8 保留(0)
位 13 致命错误处理程序,0—执行 INT 24H,否则,返回错误代码给进程
位 14 写入方式:0—写入缓冲区,1—直接写入文件
位 15 保留(0)
CX=文件属性
位 0=1 只读位 4=0 保留
BIOS 和 DOS 中断大全(4)
位 1=1 隐含位 5=1 归档 位 2=1 系统位 6-15=0 保留 位 3=1 卷标签 DX=
打开标志 位 3~0 0—打开失败,1—打开文件,2—替换文件 位 7~4 0—打开失败,
1—创建文
位 1=1 隐含位 5=1 归档
位 2=1 系统位 6-15=0 保留
位 3=1 卷标签
DX=打开标志 位 3~0 0—打开失败,1—打开文件,2—替换文件
位 7~4 0—打开失败,1—创建文件
位 15~8 0—保留
出口参数:CF=1——操作失败,AX=错误号,其含义见错误代码表,否则,
AX=文件句柄
CX=1——文件存在,打开之
=2——文件不存在,创建之
5、文件操作功能(FCB)(File Operation Function)
0FH —打开文件 16H —创建文件
10H —关闭文件 17H —文件换名
11H、12H —查找第一个或下一个文件 23H —读取文件的大小
13H —删除文件 29H —分析文件名
(1)、功能 0FH
功能描述:打开文件,并使之为顺序读/写作好准备
入口参数:AH=0FH
DS:DX=文件控制块的地址
出口参数:AL=00H——打开成功,否则,AL=FFH(如文件找不到)
在 MS-DOS 操作系统中,文件控制块的字段如下表所示。 字段名偏移量字段含
义
驱动器字 00H1 for drive A, 2 for drive B,...
当前块字段 0CH00H
记录大小字段 0EH0080H
文件长度字段 10H 文件字节数
日期字段 14H 日期
时间字段 16H 时间
(2)、功能 10H
功能描述:关闭文件
入口参数:AH=10H
DS:DX=文件控制块的地址
出口参数:AL=00H——关闭成功,否则,AL=FFH
(3)、功能 11H 和 12H
功能描述:查找第一个或下一个相匹配的文件
入口参数:AH=11H——第一个相匹配的文件
=12H——下一个相匹配的文件
DS:DX=文件控制块的地址
出口参数:AL=00H——查找到,否则,AL=FFH
(4)、功能 13H
功能描述:在指定(或缺省)的驱动器中,删除所有相匹配的文件
入口参数:AH=13H
DS:DX=文件控制块的地址
出口参数:AL=00H——删除成功,否则,AL=FFH
(5)、功能 16H
功能描述:在当前目录中创建一个文件,其文件长度为 0,并打开该文件,为随
后的读/写操作作好必要的准备
入口参数:AH=16H
DS:DX=未打开的文件控制块的地址
出口参数:AL=00H——创建成功,否则,AL=FFH(如:磁盘满)
(6)、功能 17H
功能描述:在指定的驱动器的当前目录中,把所有相匹配的文件换名
入口参数:AH=17H
DS:DX=指定文件控制块的地址
出口参数:AL=00H——换名成功,否则,AL=FFH
(7)、功能 23H
功能描述:在当前目录中查找一个相匹配的文件。如果发现,则用其记录数来更
新其文件大小
入口参数:AH=23H
DS:DX=未打开的文件控制块的地址
出口参数:AL=00H——匹配成功,FCB 中偏移量为 21H 的字段被设置为其记
录数,否则,AL=0FFH
(8)、功能 29H
功能描述:分析一个字符串(文件名)置入 FCB 表中的不同字段
入口参数:AH=29H
CX=要写入的记录数
DS:SI=字符串段的地址
ES:DI=FCB 的地址
AL=分析的控制标志位 位 3=1——若字符串中有文件后缀,则 FCB 中的文件
后缀将改变
=0——若后缀忽略修改,或若分析后无后缀,则 FCB 中后缀字段被置为“空”
位 2=1——若字符串中有文件名,则 FCB 中的文件名将改变
=0——若文件名忽略修改,或若分析后无文件名,则 FCB 中文件名字段被置为“空”
位 1=1——若字符串中指定了驱动器号,则 FCB 中的 ID 字节被修改
=0——若 ID 字节忽略修改,或若分析后没有指定驱动器号,则 FCB 中驱动器
字段被置为 0(缺省值)
位 0=1——
=0——忽略前导分割符
不忽略前导分割符
出口参数:AL=00H—没有通配字符 01H—有通配字符 FFH—驱动器号非法
DS:SI=分析后文件名第一个字符的地址
ES:DI=格式化后的、未打开的 FCB 地址
6、记录操作功能(Record Function)
1AH —设置数据传输区地址 42H —设置文件指针
2FH —读取数据传输区地址 5CH —文件区域加锁或解锁
3FH —读文件或设备 68H —提交文件缓冲区数据
40H —写文件或设备
(2)、功能 2FH
功能描述:为 FCB 读/写操作而获取 DTA 的当前地址
入口参数:AH=2FH
出口参数:ES:BX=DTA 的段地址和偏移量
(3)、功能 3FH
功能描述:从先前打开的文件中读出指定数目的字节,并移动文件指针
入口参数:AH=3FH
BX=文件句柄
CX=将要读出的字节数
DS:DX=存放字符的缓冲区地址
出口参数:CF=0——读取成功,AX=读取的字符数,否则,AX=错误号(05H
或 06H),其含义见错误代码表
BIOS 和 DOS 中断大全(5)
(4)、功能 40H 功能描述:向先前打开的文件写入指定数量的字节,并相应修
改文件指针 入口参数:AH=40H BX=文件句柄 CX=写入的字节数 DS:DX=
存放数据的
(4)、功能 40H
功能描述:向先前打开的文件写入指定数量的字节,并相应修改文件指针
入口参数:AH=40H
BX=文件句柄
CX=写入的字节数
DS:DX=存放数据的缓冲区地址
出口参数:CF=0——关闭成功,AX=写入的字节数,否则,AX=错误号(05H
或 06H),其含义见错误代码表
(5)、功能 42H
功能描述:设置文件指针的相对位置(相对与文件头、文件尾和当前位置)
入口参数:AH=42H
BX=文件句柄
CX=偏移量的高位
DX=偏移量的低位
AL=00H——从文件头开始的绝对偏移量
=01H——从当前文件指针开始的偏移量(可带符号)
=02H——从文件尾开始的偏移量(可带符号)
出口参数:CF=0——设置成功,DX 是指针的高位,AX 是其低位,否则,AX=
错误号(01H 和 06H),其含义见错误代码表。
(6)、功能 5CH
功能描述:文件区域加锁或解锁
入口参数:AH=5CH
AL=00H——区域加锁 01H&mdash
;—区域解锁
BX=文件句柄
CX:DX=区域偏移量
SI:DI=区域长度
DS:DX=路径名的地址
出口参数:CF=0——操作成功,否则,AX=错误号(01H、06H、21H 或 24H),
其含义见错误代码表
(7)、功能 68H
功能描述:提交文件缓冲区数据
入口参数:AH=68H
BX=文件句柄
出口参数:CF=0——操作成功,否则,AX=错误号,其含义见错误代码表
7、记录操作功能(FCB)(Record Function)
14H —顺序读 24H —设置相对记录数
15H —顺序写 27H —随机读块
21H —随机读 28H —随机写块
22H —随机写
(1)、功能 14H
功能描述:从文件中读出下一个顺序块,并相应增加文件的指针
入口参数:AH=14H
DS:DX=先前打开文件控制块的地址
出口参数:AL=00H——读取成功 01H——文件尾
02H——段缠绕 03H——部分记录在文件尾
(2)、功能 15H
功能描述:向文件写入下一个顺序数据块,并相应增加文件的指针
入口参数:AH=15H
DS:DX=先前打开文件控制块的地址
出口参数:AL=00H——写入成功 01H——磁盘满 02H——段缠绕
(3)、功能 21H
功能描述:从文件中读出当前选定的记录
入口参数:AH=21H
DS:DX=先前打开文件控制块的地址
出口参数:AL=00H——读取成功 01H——文件尾
02H——取消读操作 03H——部分记录在文件尾
(4)、功能 22H
功能描述:把内存中的数据写入在文件中当前选定的记录
入口参数:AH=22H
DS:DX=先前打开文件控制块的地址
出口参数:AL=00H—写入成功 01H—磁盘满 02H—取消写操作
(5)、功能 24H
功能描述:设置 FCB 中相对记录数作为被打开 FCB 中的记录数
入口参数:AH=24H
DS:DX=先前打开文件控制块的地址
出口参数:AL 的值被破坏,其它寄存器不受影响,FCB 中偏移量 21H 单元被修
改
(6)、功能 27H
功能描述:从文件中读出若干个记录到内存中
入口参数:AH=27H
DS:DX=先前打开文件控制块的地址
出口参数:AL=00H——读取成功 01H——文件尾
02H——取消读操作 03H——部分记录在文件尾
CX=实际读出的记录数
(7)、功能 28H
功能描述:从内存向文件中写入若干个记录
入口参数:AH=28H
CX=要写入的记录数
DS:DX=先前打开文件控制块的地址
出口参数:AL=00H——写入成功 01H——磁盘满 02H——段缠绕
CX=实际写入的记录数
8、内存分配功能(Memory-Allocation Function)
48H —分配内存块
49H —释放内存块
4AH —重定义内存块的大小
58H —读取/设置内存分配策略
(1)、功能 48H
功能描述:分配一块内存单元,并返回该块内存单元的首地址
入口参数:AH=48H
BX=需要申请的内存单元字节数
出口参数:CF=0——分配成功,AX=存储单元的首地址,否则,AX=错误号
(07H 或 08H),其含义见错误代码表,BX=还可用的最大块数
(2)、功能 49H
功能描述:释放内存单元块以便为其它程序使用
入口参数:AH=49H
ES=被申请块的段地址
出口参数:CF=0——释放成功,否则,AX=错误号(07H 或 09H),其含义见错
误代码表
(3)、功能 4AH
功能描述:根据程序的需要,动态地改变一个内存块
入口参数:AH=4AH
BX=需要一个新存储块的大小
BIOS 和 DOS 中断大全(6)
ES=被修改块的段地址 出口参数:CF=0——修改成功,
否则,AX=错误号(07H、08H 或 09H),其含义见错误代码
表,BX=可用最大块的大小 (4)、功能 58H 功能描述
ES=被修改块的段地址
出口参数:CF=0——修改成功,否则,AX=错误号(07H、08H 或 09H),其含
义见错误代码表,BX=可用最大块的大小
(4)、功能 58H
功能描述:读取/设置内存分配策略
入口参数:AH=58H 读取内存分配策略 AL=00H
设置内存分配策略 AL=01H
BX=内存分配策略代码:
00H—第一满足
01H—最好满足
02H—最后满足
出口参数:CF=0——操作成功,AX=已选用的内存分配策略代码(含义如上说
明),否则,AX=错误号(01H),其含义见错误代码表
9、系统功能(System Function)
25H —设置中断向量
30H —读取 MS-DOS 版本号
33H —读取/设置 Break 标志
34H —读取 InDOS 标志的地址
35H —读取中断向量
38H —读取/设置国家信息
44H —IOCTL(I/O 控制)
50H —设置程序段前缀(PSP)地址
51H —读取程序段前缀(PSP)地址
59H —读取扩展的错误信息
5EH —读取机器名,读取/设置打印机配置
5FH —设备重定向
63H —读取前导字节表
65H —读取扩展的国家信息
66H —读取/设置代码页
5D0AH —设置扩展的错误信息
(1)、功能 25H
功能描述:设置中断向量表
入口参数:AH=中断号
DS:DX=中断处理程序的入口地址
出口参数:无
(2)、功能 30H
功能描述:取 MS-DOS 操作系统的版本号
入口参数:AH=30H
出口参数:AL=0——V ;对其它高版本有:AL=主要版本号
AH=次版本号(MS-DOS =0AH,...)
BH=OEM 的序列号(Original Equipment Manufacturer)
BL:CX=24 位用户序列号
(3)、功能 33H
功能描述:获得或改变操作系统中断的状态。在功能调用期间,将影响^C 的检
测
入口参数:AH=33H
AL=00H——取状态
=01H——设置状态,DL=00/01 表示置该状态 OFF/ON
出口参数:取状态时,DL=00/01——分别表示 OFF/ON
说明:
1、若 AL 中存入其它的功能号,则返回时,AL 的值为 0FFH;
2、若置 AL 为 5,则启动驱动器号返回在 DL 中(1-A,2-B,…)
(4)、功能 34H
功能描述:获得 InDos 标志的远地址,它由 DOS 维护表示 DOS 时活跃的
入口参数:AH=34H
出口参数:ES:BX=InDos 标志的远地址
若该单元值为 1,表示 DOS 功能在执行,否则,则不是。
(5)、功能 35H
功能描述:取指定中断号的入口地址
入口参数:AH=35H
AL=中断号
出口参数:ES:BX=中断处理程序的入口地址
(6)、功能 38H
功能描述:读取或设置国家信息
入口参数:AH=38H 当读取国家信息时
DS:DX=存放返回信息的地址
AL=0——取当前国家信息
AL=1~0FEH——取国家代码小于 255 的国家信息
AL=0FFH——取代码大于等于 255 的国家信息,BX=国家代码
设置国家信息时
DX=0FFFFH
AL=0~0FEH——设置国家代码小于 255 的国家信息
AL=0FFH——置代码大于等于 255 的国家信息,BX=国家代码
出口参数:CF=0——调用成功,BX=国家代码,否则。AX=错误代码(02H),
其含义见错误代码表 说明国家信息如下所示:
字节 0-1H:日期格式:0—mdy、1—dmy、2—ymd
字节 2-6H:货币字符
字节 7-8H:数值千位分割符
字节 9-0AH:数值精度分割符
字节 0B-0CH:日期间隔符
字节 0D-0EH:时间间隔符
字节 0FH:货币格式
位 0=0——货币符号在前,否则,货币符号在后
位 1=0——货币符号和数据之间无空格,否则,二者之间有一个空格
位 2=0——货币符号和小数点分开,否则,货币符号代替小数点
字节 10H:货币的小数位数
字节 11H:时间格式。位 0=0—12 小时制,否则,24 小时制
字节 12~15H:Case-Map 调用地址
字节 16~17H:字符串分割符
字节 18~21H:保留
(7)、功能 44H
功能描述:输入/输出控制,其子功能描述:
00H—取设备信息 01H—取设备信息
02H—从字符设备驱动器接受控制数据 03H—发送控制数据到字符设备驱动器
04H—从块设备驱动器接受控制数据 05H—发送控制数据到块设备驱动器
06H—检查输入状态 07H—检查输出状态
08H—检查块设备是否为可拆卸设备 09H—检查设备是否为远程设备
0AH—检查句柄是否为远程对象 0BH—改变共享访问入口数
0CH—字符设备的一般 I/O 控制信息 0DH—块设备的一般 I/O 控制信息
0EH—读取逻辑驱动器映射关系 0FH—设置逻辑驱动器映射关系
说明:输入/输出子功能中的 00H、06H 和 07H 仅针对文件句柄,子功能 00H~ 08H
不支持网络设备。(
BIOS 和 DOS 中断大全(7)
(8)、功能 50H 功能描述:设置程序段前缀(PSP)地址 入口参数:AH=50H BX
=新的 PSP 地址 出口参数:无 (9)、功能 51H 功能描述:读取程序段前缀(PSP)
地址 入口参数
(8)、功能 50H
功能描述:设置程序段前缀(PSP)地址
入口参数:AH=50H
BX=新的 PSP 地址
出口参数:无
(9)、功能 51H
功能描述:读取程序段前缀(PSP)地址
入口参数:AH=51H
出口参数:BX=PSP 地址
(10)、功能 59H
功能描述:读取扩展的错误信息
入口参数:AH=59H
BX=00H
出口参数:AX=扩展的错误代码,其含义见错误代码表
BH=错误类型,其定义如下: 01h—资源短缺 02h—处于临时状态而非错误
03h—权限问题 04h—系统软件内部错误
05h—硬件失败 06h—系统软件失败,但不是活跃进程失败
07h—应用程序错 08h—文件或数据项未发现
09h—文件或数据项类型或格式错 0Ah—文件或数据项相互加锁
0Bh—驱动器中坏磁盘,磁盘中坏区域或存储问题
0Ch—其它错误
BL=建议采用的措施,其定义如下:
01h — 重试若干次后,再选"终止"或"忽略"
02h — 重试若干次(二次之间要等待)后,再选"终止"或"忽略"
03h — 从用户获取正确的信息
04h — 终止应用程序,并清除其所使用资源
05h — 立即终止程序,但没有清除其资源
06h — 忽略错误
07h — 消除错误原因,再重试
CH=错误地点,其定义如下:
01h — 不知道
02h — 块设备(磁盘或磁盘模拟器)
03h — 网络
04h — 串行设备
05h — 内存
ES:DI=插入磁盘标签的字符串,若 AX=0022h(非法改变磁盘)
(11)、功能 5EH
功能描述:读取机器名,读取/设置打印机配置 子功能号功能描述
00h 读取机器名
02h 设置打印机安装字符串
03h 读取打印机安装字符串
①、子功能 1
入口参数:AH=5EH
AL=00H
DS:DX=接受字符串缓冲区的地址
出口参数:CF=1——操作失败,AX=错误号(01H),其含义见错误代码表,否
则,
CH=00H——机器名未定义,否则,机器名已定义
CL=NetBIOS 名称号(当 CH≠00H 时)
DS:DX=标识符地址(当 CH≠00H 时)
①、子功能 2
入口参数:AH=5EH
AL=02H
BX=重定向列表索引
CX=安装字符串的长度
DS:SI=安装字符串的地址
出口参数:CF=0——操作成功,否则,AX=错误号(01H),其含义见错误代码
表
①、子功能 3
入口参数:AH=5EH
AL=03H
BX=重定向列表索引
ES:DI=接受字符串缓冲区的地址
出口参数:CF=0——操作成功,CX=接受字符串的长度,否则,AX=错误号
(01H),其含义见错误代码表
(12)、功能 5FH
功能描述:设备重定向 子功能号功能描述
02h 读取重定向列表索引
03h 重定向设备
①、子功能 1
入口参数:AH=5FH
AL=02H
BX=重定向列表索引
DS:SI=接受本地设备名的 16 字节存储区地址
ES:DI=接受网络名的 128 字节存储区地址
出口参数:CF=1——操作失败,AX=错误号(01H 或 12H),其含义见错误代码
表,否则,BH 位 0=0H——设备合法,否则,设备非法
BL=设备类型——03H:打印机,04H:驱动器
CX=存储参数值
DX=被破坏
BP=被破坏
DS:SI=存放本地设备名的地址
ES:DI=存放网络名的地址
①、子功能 2
入口参数:AH=5FH
AL=03H
BL=设备类型——03H:打印机,04H:驱动器
CX=调用者保存的参数
DS:SI=本地设备名的 16 字节存储区地址
ES:DI=网络名的 128 字节存储区地址,紧跟其后是密码
出口参数:CF=0——操作成功,否则,AX=错误号(01H、03H、05H、08H、0FH
或 12H),其含义见错误代码表
(13)、功能 63H
功能描述:读取前导字节表
入口参数:AH=63H AL=子功能
=00H—读取系统前导字节表地址
=01H—设置/清除临时控制台标志(DL=00H/01H—清除/设置标志)
=02H—读取临时控制台标志值
出口参数:BX=1——操作失败,AX=错误号(01H),其含义见错误代码表,否
则,调用时,
若 AL=00H,则,DS:SI=系统前导字节表地址;
若 AL=02H,则,DL=临时控制台标志值
(14)、功能 65H
功能描述:读取扩展的国家信息
入口参数:AH=65H
BX=代码页(-1=活跃的 CON 设备)
CX=接受信息的缓冲区大小
DX=国家标识(-1=缺省)
ES:DI=接受信息的缓冲区地址 AL=子功能
=01H——读取一般的国家信息
=02H——读取指向大写字母表的指针
=04H——读取指向文件名大写字母表的指针
BIOS 和 DOS 中断大全(8)
=06H——读取指向校对表的指针 =07H——读取指向 DBCS 向量的指针 出口
参数:CF=0——操作成功,需要的数据存入调用的缓冲区,否则,AX=错误
号(02H),
=06H——读取指向校对表的指针
=07H——读取指向 DBCS 向量的指针
出口参数:CF=0——操作成功,需要的数据存入调用的缓冲区,否则,AX=错
误号(02H),其含义见错误代码表
(15)、功能 66H
功能描述:读取/设置代码页
入口参数:AH=66H
AL=子功能号:01H——读取代码页,02H——选择代码页
BX=选择的代码页(当 AL=02H)
出口参数:CF=0——操作成功,当调用子功能 01H 时,BX=活跃的代码页,DX=缺
省的代码页,否则,AX=错误号(02H 或 65H),其含义见错误代码表
(16)、功能 5D0AH
功能描述:设置扩展的错误信息
入口参数:AX=5D0AH
DS:DX=扩展错误结构的地址,该结构的说明如下: EXTEND_ERR STRUCT
RAx WORD ? ;AX
RBx WORD ? ;BX
RCx WORD ? ; CX
RDx WORD ? ; DX
RSi WORD ? ; SI
RDi WORD ? ; DI
RDs WORD ? ; DS
REs WORD ? ; ES
Pad WORD 3 DUP(0)
EXTEND_ERRENDS
出口参数:无
10、进程控制功能(Process-Control Function)
00H —终止进程
26H —创建新的程序段前缀(PSP)
31H —终止并驻留
4BH —执行程序(EXEC)
4CH —带返回码方式的终止进程
4DH —读取返回代码
62H —读取 PSP 地址
(1)、功能 00H
功能描述:终止进程。这是程序可以使用的终止进程的方法之一
入口参数:AH=00H
CS=代码段地址
出口参数:无
(2)、功能 26H
功能描述:把当前正在执行程序的程序段前缀(PSP)拷贝到内存中的指定地址中,
并可改变其为其它程序所使用
入口参数:AH=26H
DX=新程序段前缀的段地址
出口参数:无
(3)、功能 31H
功能描述:终止程序的运行,传递一个返回代码给其父进程,但该程序部分或全
部驻留在内存中
入口参数:AH=31H
AL=返回代码号
DX=驻留在内存中的字节数
出口参数:无
(4)、功能 4BH
功能描述:执行程序(EXEC)
入口参数:AH=4BH
ES:BX=参数块的地址
DS:DX=程序的入口地址
AL=00H——装入并执行程序,03H——以覆盖的形式装入
出口参数:CF=0——操作成功,除 CS 和 IP 之外,其它寄存器的值都被破坏,
否则,AX=错误号(01H、02H、03H、05H、08H、0AH 或 0BH),其含义见错误
代码表
(5)、功能 4CH
功能描述:终止程序的执行,并可返回一个代码
入口参数:AH=4CH
AL=返回的代码
出口参数:无
(6)、功能 4DH
功能描述:父进程获取子进程的返回代码
入口参数:AH=4DH
出口参数:AH=00H——用中断 20H、中断 21H 的功能 0 或 4C 正常终止
=01H——用户按^C 终止
=02H——因致命错误而终止
=03H——用中断 21H 的功能 31H,或中断 27H 终止
AL=子进程的返回码:00H——子进程由中断 20H、中断 21H 的功能 0 或 4C 终
止
(7)、功能 62H
功能描述:读取 PSP 地址
入口参数:AH=62H
出口参数:BX=PSP 的偏移量
11、时间和日期功能(Time and Date Function)
2AH —读取日期
2BH —设置日期
2CH —读取时间
2DH —设置时间
(1)、功能 2AH
功能描述:取系统日期
入口参数:AH=2AH
出口参数:CX=年(1980~2099),DH=月(1~12),DL=日(1~31)
AL=星期几(0=Sunday,1=Monday,...)
(2)、功能 2BH
功能描述:置系统日期
入口参数:AH=2BH
CX=年(1980~2099),DH=月(1~12),DL=日(1~31)
出口参数:AL=00H——设置成功,0FFH——设置失败
(3)、功能 2CH
功能描述:取系统时间
入口参数:AH=2CH
出口参数:CH=时(0~23),CL=分(0~59),DL=秒(0~59),AL=百分秒(0~99)
(4)、功能 2DH
功能描述:置系统时间
入口参数:AH=2DH
CH=时(0~23),CL=分(0~59),DL=秒(0~59),AL=百分秒(0~99)
出口参数:出口参数:AL=00H——设置成功,0FFH——设置失败
12、鼠标功能中断 INT 33H
00H —初始化鼠标
01H —显示鼠标指针
02H —隐藏鼠标指针
03H —读取鼠标位置及其按钮状态
04H —设置鼠标指针位置
05H —读取鼠标按键信息
06H —读取鼠标按钮释放信息
07H —设置鼠标水平边界
08H —设置鼠标垂直边界
09H —设置图形鼠标形状
0AH —设置本文鼠标形状
0BH —读取鼠标移动计数
0CH —为鼠标事件设置处理程序
0DH —允许光笔仿真
0EH —关闭光笔仿真
BIOS 和 DOS 中断大全(9)
0FH —设置鼠标计数与象素比 10H —设置鼠标指针隐藏区域 13H —设置倍速的
阈值 14H —替换鼠标事件中断 15H —读取鼠标驱动器状态的缓冲区大小 16H
—存储
0FH —设置鼠标计数与象素比
10H —设置鼠标指针隐藏区域
13H —设置倍速的阈值
14H —替换鼠标事件中断
15H —读取鼠标驱动器状态的缓冲区大小
16H —存储鼠标驱动器状态
17H —重装鼠标驱动器状态
18H —为鼠标事件设置替换处理程序
19H —读取替换处理程序的地址
1AH —设置鼠标的灵敏度
1BH —读取鼠标的灵敏度
1CH —设置鼠标中断速率
1DH —为鼠标指针选择显示页
1EH —读取鼠标指针的显示页
1FH —禁止鼠标驱动程序
20H —启动鼠标驱动程序
21H —鼠标驱动程序复位
22H —设置鼠标驱动程序信息语言
23H —读取语种
24H —读取鼠标信息
25H —读取鼠标驱动程序信息
26H —读取最大有效坐标
(1)、功能 00H
功能描述:初始化鼠标,该操作只需要执行一次
入口参数:AX=00H
出口参数:AX=0000H——不支持鼠标功能,
FFFFH——支持鼠标功能
BX=鼠标按钮个数(在支持鼠标功能时)
在支持鼠标功能的情况下,鼠标还被设置如下参数: 1、鼠标指针放在屏幕中央
2、如果当前鼠标指针是显示的,则操作后,鼠标指针被隐藏
3、鼠标指针的显示页为 0
4、根据屏幕的显示模式显示鼠标指针:文本—反向显示矩形块,图形—尖头形
状
5、水平象素比=8:8,垂直象素比=16:8
6、设置水平和垂直的显示边界为当前显示模式的最大边界
7、允许光笔仿真
8、双速门槛值=64
(2)、功能 01H
功能描述:显示鼠标指针,通常在鼠标初始化后,用此功能显示其指针
入口参数:AX=01H
出口参数:无
(3)、功能 02H
功能描述:隐藏鼠标指针,一般在程序结束时,调用此功能
入口参数:AX=02H
出口参数:无
(4)、功能 03H
功能描述:读取鼠标位置及其按钮状态
入口参数:AX=03H
出口参数:BX=按键状态:位 0=1——按下左键
位 1=1——按下右键
位 2=1——按下中键
其它位——保留,内部使用
CX=水平位置
DX=垂直位置
(5)、功能 04H
功能描述:设置鼠标指针位置
入口参数:AX=04H,CX=水平位置,DX=垂直位置
出口参数:无
(6)、功能 05H
功能描述:读取鼠标按键信息
入口参数:AX=05H,BX=指定的按键:0—左键,1—右键,2—中键
出口参数:AX=按键状态,参见功能 3H 中 BX 的说明
BX=按键次数
CX=水平位置(最后按键时)
DX=垂直位置(最后按键时)
(7)、功能 06H
功能描述:读取鼠标按钮释放信息
入口参数:AX=06H,BX=指定的按键:0—左键,1—右键,2—中键
出口参数:AX=按键状态,参见功能 3H 中 BX 的说明
BX=释放的次数
CX=水平位置(最后释放时)
DX=垂直位置(最后释放时)
(8)、功能 07H
功能描述:设置鼠标水平边界
入口参数:AX=07H
CX=最小水平位置
DX=最大水平位置
出口参数:无,鼠标有可能因新区域变小而自动移进新区域内
(9)、功能 08H
功能描述:设置鼠标垂直边界
入口参数:AX=08H
CX=最小垂直位置
DX=最大垂直位置
出口参数:无,鼠标有可能因新区域变小而自动移进新区域内
(10)、功能 09H
功能描述:设置图形鼠标形状
入口参数:AX=09H
BX=指针的水平位置
CX=指针的垂直位置
ES:DX=16×16 位光标的映象地址 参数说明:(BX,CX)是鼠标的指针在 16×16
点阵中的位置,(0,0)是左上角;
ES:DX 指向的存储单元内存放 16×16 点阵的位映象隐码,紧跟其后的是 16×16 点
阵的光标掩码。
鼠标指针的显示方法:位映象隐码“逻辑与”上屏幕显示区的内容,然后再用光标
掩码内容“异或”前面运算的结果。
出口参数:无
(11)、功能 0AH
功能描述:设置本文鼠标形状
入口参数:AX=0AH
BX=光标类型: 0 —CX 和 DX 的各位含义如下: 位 7~0 鼠标指针符号
位 10~8 字符前景色
位 11 亮度
位 14~12 字符背景色
位 15 闪烁
1 —CX=光标的起始扫描线
DX=光标的结束扫描线
出口参数:无
(12)、功能 0BH
功能描述:读取鼠标移动计数
入口参数:AX=0BH
出口参数:CX=水平移动距离:正数——向右移,负数——向左移
DX=垂直移动距离:正数——向下移,负数——向上移
(13)、功能 0CH
功能描述:为鼠标事件设置处理程序
入口参数:AX=0CH
CX=中断掩码 位 0=1——鼠标指针位置发送变化
BIOS 和 DOS 中断大全(10)
位 1=1——按下左按钮 位 2=1——释放左按钮 位 3=1——按下右按钮 位 4=
1——释放右按钮 位 5=1——按下中间按钮 位 6=1——释放中间按钮 位 7~15
=0——
位 1=1——按下左按钮
位 2=1——释放左按钮
位 3=1——按下右按钮
位 4=1——释放右按钮
位 5=1——按下中间按钮
位 6=1——释放中间按钮
位 7~15=0——保留
ES:DX=中断处理程序的地址
在进入中断处理程序时,有关寄存器的值含义:
AX=中断掩码
BX=按键状态
CX=鼠标指针的水平位置
DX=鼠标指针的垂直位置
SI=水平位置的变化量
DI=垂直位置的变化量
出口参数:无
(14)、功能 0DH
功能描述:允许光笔仿真
入口参数:AX=0DH
出口参数:无
(15)、功能 0EH
功能描述:关闭光笔仿真
入口参数:AX=0EH
出口参数:无
(16)、功能 0FH
功能描述:设置鼠标计数与象素比
入口参数:AX=0FH
CX=水平比例
DX=垂直比例
出口参数:无
(17)、功能 10H
功能描述:设置鼠标指针隐藏区域
入口参数:AX=10H
CX=左上角 X 坐标
DX=左上角 Y 坐标
SI=右下角 X 坐标
DI=右下角 Y 坐标
出口参数:无
(18)、功能 13H
功能描述:设置倍速的阈值,其缺省值为 64
入口参数:AX=13H
DX=阀值
出口参数:无
(19)、功能 14H
功能描述:替换鼠标事件中断
入口参数:AX=14H
CX=中断掩码
ES:DX=中断处理程序的地址
出口参数:CX=旧的中断掩码
ES:DX=旧的中断处理程序地址
(20)、功能 15H
功能描述:读取鼠标驱动器状态的缓冲区大小
入口参数:AX=15H
出口参数:BX=存放鼠标驱动器状态所需缓冲区的大小
(21)、功能 16H
功能描述:存储鼠标驱动器状态
入口参数:AX=16H
ES:DX=存储鼠标驱动器状态的地址
出口参数:无
(22)、功能 17H
功能描述:重装鼠标驱动器状态
入口参数:AX=17H
ES:DX=鼠标驱动器状态的地址
出口参数:无
(23)、功能 18H
功能描述:为鼠标事件设置可选的处理程序
入口参数:AX=18H
CX=替换中断掩码
ES:DX=替换中断处理程序的地址
CF=0
出口参数:无
(24)、功能 19H
功能描述:读取替换处理程序的地址
入口参数:AX=19H
CX=替换中断掩码
出口参数:若 AX=-1——不成功,否则,ES:DX=中断处理程序的地址
(25)、功能 1AH
功能描述:设置鼠标的灵敏度,其取值 1~100
入口参数:AX=1AH
BX=水平灵敏度(每 8 个象素鼠标需要移动的数量,一般为 8)
CX=垂直灵敏度(每 8 个象素鼠标需要移动的数量,一般为 16)
DX=倍速阀值
出口参数:无
(26)、功能 1BH
功能描述:读取鼠标的灵敏度
入口参数:AX=1BH
出口参数:BX=水平灵敏度
CX=垂直灵敏度
DX=倍速阀值
(27)、功能 1CH
功能描述:设置鼠标中断速率
入口参数:AX=1CH
BX=每秒钟中断的次数:0—关中断,1—30/S,2—50/S,3—100/S,4—200/S
出口参数:无
(28)、功能 1DH
功能描述:为鼠标指针选择显示页
入口参数:AX=1DH
BX=显示页
出口参数:无
(29)、功能 1EH
功能描述:读取鼠标指针的显示页
入口参数:AX=1EH
出口参数:BX=显示页
(30)、功能 1FH
功能描述:禁止鼠标驱动程序
入口参数:AX=1FH
出口参数:若 AX=-1——不成功,否则,ES:BX=鼠标驱动程序的地址
(31)、功能 20H
功能描述:启动鼠标驱动程序
入口参数:AX=20H
出口参数:无
(32)、功能 21H
功能描述:鼠标驱动程序复位
入口参数:AX=21H
出口参数:若 AX=-1——不成功,否则,BX=2
(33)、功能 22H
功能描述:设置鼠标驱动程序信息语言
入口参数:AX=22H
BX=语言代码:0—英语,1—法语,2—荷兰语,3—德语,4—瑞典语,5—芬
兰语,6—西班牙语,7—葡萄牙语,8—意大利语
出口参数:无
(34)、功能 23H
功能描述:读取语种
入口参数:AX=23H
出口参数:BX=语言代码
(35)、功能 24H
功能描述:读取鼠标信息
入口参数:AX=24H
出口参数:BH=主版本号,BL=辅版本号
CL=中断请求号
CH=鼠标类型:1-Bus Mouse,2-Serial Mouse,3-InPort Mouse,4-PS/2 Mouse,
5-HP Mouse
(36)、功能 25H
功能描述:读取鼠标驱动程序信息
入口参数:AX=25H
出口参数: AX=鼠标驱动程序信息: 位 15 ——0:驱动程序是.SYS 文件,否
则,为.COM 文件
BIOS 和 DOS 中断大全(11)
位 14——0:不完全鼠标显示驱动程序,否则,为完全的 位 13-12——00:软件
文本光标 01:硬件文本光标 1X:图形光标 (37)、功能 26H 功能描述:读取最
大有效
位 14——0:不完全鼠标显示驱动程序,否则,为完全的
位 13-12——00:软件文本光标
01:硬件文本光标
1X:图形光标
(37)、功能 26H
功能描述:读取最大有效坐标
入口参数:AX=26H
出口参数:BX=鼠标驱动程序状态
CX=最大水平坐标
DX=最大垂直坐标
13、其它 DOS 中断
INT 20H —终止程序运行
INT 22H —终止处理程序的地址
INT 23H —Ctrl+C 处理程序
INT 24H —致命错误处理程序
INT 25H —读磁盘扇区(忽略逻辑结构)
INT 26H —写磁盘扇区(忽略逻辑结构)
INT 27H —终止,并驻留在内存
INT 28H —DOS 空闲
INT 2FH —多重中断服务
(1)、中断 INT 20H
功能描述:终止当前正在运行的程序,它是几种终止程序运行方法之一
入口参数:CS=PSP 的段地址
出口参数:无
(2)、中断 INT 22H
功能描述:终止处理程序的地址,该地址在程序装入内存运行前被放入 PSP 的
0AH~0DH 的单元内。该中断指令从不直接书写在程序之中
(3)、中断 INT 23H
功能描述:Ctrl+C 处理程序。该中断指令从不直接书写在程序之中
(4)、中断 INT 24H
功能描述:致命错误处理程序。该中断指令从不直接书写在程序之中
(5)、中断 INT 25H
功能描述:绝对读磁盘,直接从逻辑设备中读出数据到内存单元中
入口参数:AL=驱动器号(0=A、1=B、……) 分区容量≤32M,有:CX=读出的
扇区数
DX=起始扇区数
DS:BX=存放数据缓冲区的地址
否则,有:CX=-1
DS:BX=参数块缓冲区的地址,该参数块的结构如下: 字节描述
00~03H32 位扇区数
04~05H 将被读出的扇区数
06~07H 存放数据
的缓冲区的偏移量
08~09H 存放数据的缓冲区的段地址
出口参数:CF=0——操作成功,否则,AX=错误号,其含义见下错误代码表
错误代码错误含义
80H 附件响应失败
40H 定位操作失败
20H 设备控制器失败
10H 数据错(错误的 CRC)
08H DMA 失败
04H 需要的扇区未发现
02H 错误的地址标志
01H 错误命令
(6)、INT 26H
功能描述:绝对写磁盘,直接把内存单元中的内容写入逻辑设备
入口参数:与前面的 INT 25H 相一致
出口参数:与前面的 INT 25H 相一致
(7)、INT 27H
功能描述:终止,并驻留在内存
入口参数:CS=PSP 的段值
DX=被保护程序最后一个字节的偏移量再加 1
出口参数:无
(8)、INT 28H
功能描述:DOS 空闲中断
入口参数:无
出口参数:无
(9)、INT 2FH
功能描述:多重中断服务,允许多个驻留程序通过单个中断与其它进程通信。
入口参数:AH=标识号,AL=功能号,功能号及其含义如下: 功能号功能描述
01H 假脱机打印
06H 驻留 ASSIGN 命令
10H 驻留 SHARE 命令
B7H 驻留 APPEND 命令
出口参数:若入口 AL 为 0,则出口 AL=0FFH,否则,其值取决于处理程序
BIOS 中断:
1、显示服务(Video Service——INT 10H)
00H —设置显示器模式 0CH —写图形象素
01H —设置光标形状 0DH —读图形象素
02H —设置光标位置 0EH —在 Teletype 模式下显示字符
03H —读取光标信息 0FH —读取显示器模式
04H —读取光笔位置 10H —颜色
05H —设置显示页 11H —字体
06H、07H —初始化或滚屏 12H —显示器的配置
08H —读光标处的字符及其属性 13H —在 Teletype 模式下显示字符串
09H —在光标处按指定属性显示字符 1AH —读取/设置显示组合编码
0AH —在当前光标处显示字符 1BH —读取功能/状态信息
0BH —设置调色板、背景色或边框 1CH —保存/恢复显示器状态
(1)、功能 00H
功能描述:设置显示器模式
入口参数:AH=00H
AL=显示器模式,见下表所示
出口参数:无
可用的显示模式如下所列:
显示模式显示模式属性显示模式显示模式属性
00H40×2516 色 文本 01H40×2516 色 文本
02H80×2516 色 文本 03H80×2516 色 文本
04H320×2004 色 05H320×2004 色
06H640×2002 色 07H80×252 色 文本
08H160×20016 色 09H320×20016 色
0AH640×2004 色 0BH 保留
0CH 保留 0DH320×20016 色
0EH640×20016 色 0FH640×3502(单色)
10H640×3504 色 10H640×35016 色
11H640×4802 色 12H640×48016 色
13H640×480256 色
对于超级 VGA 显示卡,我们可用 AX=4F02H 和下列 BX 的值来设置其显示模式。
BX 显示模式属性 BX 显示模式属性
100H640×400256 色 101H640×480256 色
102H800×60016 色 103H800×600256 色
BIOS 和 DOS 中断大全(12)
104H1024×76816 色 105H1024×768256 色 106H1280×102416 色
107H1280×1024256 色 108H80×60 文本模式 109H132×25 文本模式 10AH132×43
文本模式 10BH132×50 文本模式 10CH132×60 文本模式 (2)、功
104H1024×76816 色 105H1024×768256 色
106H1280×102416 色 107H1280×1024256 色
108H80×60 文本模式 109H132×25 文本模式
10AH132×43 文本模式 10BH132×50 文本模式
10CH132×60 文本模式
(2)、功能 01H
功能描述:设置光标形状
入口参数:AH=01H
CH 低四位=光标的起始行
CL 低四位=光标的终止行
出口参数:无
(3)、功能 02H
功能描述:用文本坐标下设置光标位置
入口参数:AH=02H
BH=显示页码
DH=行(Y 坐标)
DL=列(X 坐标)
出口参数:无
(4)、功能 03H
功能描述:在文本坐标下,读取光标各种信息
入口参数:AH=03H
BH=显示页码
出口参数:CH=光标的起始行
CL=光标的终止行
DH=行(Y 坐标)
DL=列(X 坐标)
(5)、功能 04H
功能描述:获取当前状态和光笔位置
入口参数:AH=04H
出口参数:AH=00h——光笔未按下/未触发,01h——光笔已按下/已触发
BX=象素列(图形 X 坐标)
CH=象素行(图形 Y 坐标,显示模式:04H~06H)
CX=象素行(图形 Y 坐标,显示模式:0DH~10H)
DH=字符行(文本 Y 坐标)
DL=字符列(文本 X 坐标)
(6)、功能 05H
功能描述:设置显示页,即选择活动的显示页
入口参数:AH=05H
AL=显示页
对于 CGA、EGA、MCGA 和 VGA,其显示页如下表所列: 模式页数显示器类
型
00H、01H0~7CGA、EGA、MCGA、VGA
02H、03H0~3CGA
02H、03H0~7EGA、MCGA、VGA
07H0~7EGA、VGA
0DH0~7EGA、VGA
0EH0~3EGA、VGA
0FH0~1EGA、VGA
10H0~1EGA、VGA
对于 PCjr:
AL=80H——读取 CRT/CPU 页寄存器
81H——设置 CPU 页寄存器
82H——设置 CRT 页寄存器
83H——设置 CRT/CPU 页寄存器
BH=CRT 页(子功能号 82H 和 83H)
BL=CPU 页(子功能号 81H 和 83H)
出口参数:对于前者,无出口参数,但对 PCjr 在子功能 80H~83H 调用下,有:BH
=CRT 页寄存器,BL=CPU 页寄存器
(7)、功能 06H 和 07H
功能描述:初始化屏幕或滚屏
入口参数:AH=06H——向上滚屏,07H——向下滚屏
AL=滚动行数(0——清窗口)
BH=空白区域的缺省属性
(CH、CL)=窗口的左上角位置(Y 坐标,X 坐标)
(DH、DL)=窗口的右下角位置(Y 坐标,X 坐标)
出口参数:无
(8)、功能 08H
功能描述:读光标处的字符及其属性
入口参数:AH=08H
BH=显示页码
出口参数:AH=属性
AL=字符
(9)、功能 09H
功能描述:在当前光标处按指定属性显示字符
入口参数:AH=09H
AL=字符
BH=显示页码
BL=属性(文本模式)或颜色(图形模式)
CX=重复输出字符的次数
出口参数:无
(10)、功能 0AH
功能描述:在当前光标处按原有属性显示字符
入口参数:AH=0AH
AL=字符
BH=显示页码
BL=颜色(图形模式,仅适用于 PCjr)
CX=重复输出字符的次数
出口参数:无
(11)、功能 0BH
功能描述:设置调色板、背景色或边框
入口参数:AH=0BH
设置颜色:BH=00H,BL=颜色
选择调色板:BH=01H,BL=调色板(320×200、4 种颜色的图形模式)
出口参数:无
(12)、功能 0CH
功能描述:写图形象素
入口参数:AH=0CH
AL=象素值
BH=页码
(CX、DX)=图形坐标列(X)、行(Y)
出口参数:无
(13)、功能 0DH
功能描述:读图形象素
入口参数:AH=0DH
BH=页码
(CX、DX)=图形坐标列(X)、行(Y)
出口参数:AL=象素值
(14)、功能 0EH
功能描述:在 Teletype 模式下显示字符
入口参数:AH=0EH
AL=字符
BH=页码
BL=前景色(图形模式)
出口参数:无
(15)、功能 0FH
功能描述:读取显示器模式
入口参数:AH=0FH
出口参数:AH=屏幕字符的列数
AL=显示模式(参见功能 00H 中的说明)
BH=页码
(16)、功能 10H
功能描述:颜色中断。其子功能说明如下: 功能号 子功能名称功能号 子功
能名称
00H — 设置调色板寄存器 01H — 设置边框颜色
02H — 设置调色板和边框 03H — 触发闪烁/亮显位
07H — 读取调色板寄存器 08H — 读取边框颜色
09H — 读取调色板和边框 10H — 设置颜色寄存器
12H — 设置颜色寄存器块 13H — 设置颜色页状态
15H — 读取颜色寄存器 17H — 读取颜色寄存器块
1AH — 读取颜色页状态 1BH — 设置灰度值
(17)、功能 11H
功能描述:字体中断。其子功能说明如下: 子功能号子功能名称
00H 装入用户字体和可编程控制器
BIOS 和 DOS 中断大全(13)
10H 装入用户字体和可编程控制器 01H 装入 8×14 ROM 字体和可编程控制器
11H 装入 8×14 ROM 字体和可编程控制器 02H 装入 8×8 ROM 字体和可编程控
制器 12H 装入 8×8 ROM 字体
10H 装入用户字体和可编程控制器
01H 装入 8×14 ROM 字体和可编程控制器
11H 装入 8×14 ROM 字体和可编程控制器
02H 装入 8×8 ROM 字体和可编程控制器
12H 装入 8×8 ROM 字体和可编程控制器
03H 设置块指示器
04H 装入 8×16 ROM 字体和可编程控制器
14H 装入 8×16 ROM 字体和可编程控制器
20H 设置 INT 1Fh 字体指针
21H 为用户字体设置 INT 43h
22H 为 8×14 ROM 字体设置 INT 43H
23H 为 8×8 ROM 字体设置 INT 43H
24H 为 8×16 ROM 字体设置 INT 43H
30H 读取字体信息
(18)、功能 12H
功能描述:显示器的配置中断。其子功能说明如下: 功能号 功能名称 功能号
功能名称
10H — 读取配置信息 20H — 选择屏幕打印
30H — 设置扫描行 31H — 允许/禁止装入缺省调色板
32H — 允许/禁止显示 33H — 允许/禁止灰度求和
34H — 允许/禁止光标模拟 35H — 切换活动显示
36H — 允许/禁止屏幕刷新
(19)、功能 13H
功能描述:在 Teletype 模式下显示字符串
入口参数:AH=13H
BH=页码
BL=属性(若 AL=00H 或 01H)
CX=显示字符串长度
(DH、DL)=坐标(行、列)
ES:BP=显示字符串的地址 AL=显示输出方式
0——字符串中只含显示字符,其显示属性在 BL 中。显示后,光标位置不变
1——字符串中只含显示字符,其显示属性在 BL 中。显示后,光标位置改变
2——字符串中含显示字符和显示属性。
显示后,光标位置不变
3——字符串中含显示字符和显示属性。显示后,光标位置改变
出口参数:无
(20)、功能 1AH
功能描述:读取/设置显示组合编码,仅 PS/2 有效,在此从略
(21)、功能 1BH
功能描述:读取功能/状态信息,仅 PS/2 有效,在此从略
(22)、功能 1CH
功能描述:保存/恢复显示器状态,仅 PS/2 有效,在此从略
2、直接磁盘服务(Direct Disk Service——INT 13H)
00H —磁盘系统复位 0EH —读扇区缓冲区
01H —读取磁盘系统状态 0FH —写扇区缓冲区
02H —读扇区 10H —读取驱动器状态
03H —写扇区 11H —校准驱动器
04H —检验扇区 12H —控制器 RAM 诊断
05H —格式化磁道 13H —控制器驱动诊断
06H —格式化坏磁道 14H —控制器内部诊断
07H —格式化驱动器 15H —读取磁盘类型
08H —读取驱动器参数 16H —读取磁盘变化状态
09H —初始化硬盘参数 17H —设置磁盘类型
0AH —读长扇区 18H —设置格式化媒体类型
0BH —写长扇区 19H —磁头保护
0CH —查寻 1AH —格式化 ESDI 驱动器
0DH —硬盘系统复位
(1)、功能 00H
功能描述:磁盘系统复位
入口参数:AH=00H
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能
号 01H 中的说明
(2)、功能 01H
功能描述:读取磁盘系统状态
入口参数:AH=01H
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
出口参数:AH=00H,AL=状态代码,其定义如下:
00H — 无错 01H — 非法命令
02H — 地址目标未发现 03H — 磁盘写保护(软盘)
04H — 扇区未发现 05H — 复位失败(硬盘)
06H — 软盘取出(软盘)07H — 错误的参数表(硬盘)
08H — DMA 越界(软盘)09H — DMA 超过 64K 界限
0AH — 错误的扇区标志(硬盘)0BH — 错误的磁道标志(硬盘)
0CH — 介质类型未发现(软盘)0DH — 格式化时非法扇区号(硬盘)
0EH — 控制数据地址目标被发现(硬盘)0FH — DMA 仲裁越界(硬盘)
10H — 不正确的 CRC 或 ECC 编码 11H — ECC 校正数据错(硬盘)
CRC:Cyclic Redundancy Check code
ECC:Error Checking & Correcting code
20H — 控制器失败 40H — 查找失败
80H — 磁盘超时(未响应)AAH — 驱动器未准备好(硬盘)
BBH — 未定义的错误(硬盘)CCH — 写错误(硬盘)
E0H — 状态寄存器错(硬盘)FFH — 检测操作失败(硬盘)
(3)、功能 02H
功能描述:读扇区
入口参数:AH=02H
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=
状态代码,参见功能号 01H 中的说明
(4)、功能 03H
功能描述:写扇区
入口参数:AH=03H
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=
状态代码,参见功能号 01H 中的说明
BIOS 和 DOS 中断大全(14)
(5)、功能 04H 功能描述:检验扇区 入口参数:AH=04H AL=扇区数 CH=
柱面 CL=扇区 DH=磁头 DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
ES:BX=缓冲区的地址 出
(5)、功能 04H
功能描述:检验扇区
入口参数:AH=04H
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=被检验的扇区数,否则,AH=
状态代码,参见功能号 01H 中的说明
(6)、功能 05H
功能描述:格式化磁道
入口参数:AH=05H
AL=交替(Interleave)
CH=柱面
DH=磁头
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
ES:BX=地址域列表的地址
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能
号 01H 中的说明
(7)、功能 06H
功能描述:格式化坏磁道
入口参数:AH=06H
AL=交替
CH=柱面
DH=磁头
DL=80H~0FFH:硬盘
ES:BX=地址域列表的地址
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能
号 01H 中的说明
(8)、功能 07H
功能描述:格式化驱动器
入口参数:AH=07H
AL=交替
CH=柱面
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能
号 01H 中的说明
(9)、功能 08H
功能描述:读取驱动器参数
入口参数:AH=08H
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
出口参数:CF=1——操作失败,AH=状态代码,参见功能号 01H 中的说明,
否则, BL=01H — 360K
=02H —
=03H — 720K
=04H —
CH=柱面数的低 8 位
CL 的位 7-6=柱面数的该 2 位
CL 的位 5-0=扇区数
DH=磁头数
DL=驱动器数
ES:DI=磁盘驱动器参数表地址
(10)、功能 09H
功能描述:初始化硬盘参数
入口参数:AH=09H
DL=80H~0FFH:硬盘(还有有关参数表问题,在此从略)
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能
号 01H 中的说明
(11)、功能 0AH
功能描述:读长扇区,每个扇区随带四个字节的 ECC 编码
入口参数:AH=0AH
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=
状态代码,参见功能号 01H 中的说明
(12)、功能 0BH
功能描述:写长扇区,每个扇区随带四个字节的 ECC 编码
入口参数:AH=0BH
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=
状态代码,参见功能号 01H 中的说明
(13)、功能 0CH
功能描述:查寻
入口参数:AH=0CH
CH=柱面的低 8 位
CL(7-6 位)=柱面的高 2 位
DH=磁头
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能
号 01H 中的说明
(14)、功能 0DH
功能描述:硬盘系统复位
入口参数:AH=0DH
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能
号 01H 中的说明
(15)、功能 0EH
功能描述:读扇区缓冲区
入口参数:AH=0EH
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号 01H 中的
说明
(16)、功能 0FH
功能描述:写扇区缓冲区
入口参数:AH=0FH
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号 01H 中的
说明
(17)、功能 10H
功能描述:读取驱动器状态
入口参数:AH=10H
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能
号 01H 中的说明
(18)、功能 11H
功能描述:校准驱动器
入口参数:AH=11H
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能
号 01H 中的说明
(19)、功能 12H
功能描述:控制器 RAM 诊断
入口参数:AH=12H
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号 01H 中的
说明
(20)、功能 13H
功能描述:控制器驱动诊断
入口参数:AH=13H
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号 01H 中的
说明
(21)、功能 14H
功能描述:控制器内部诊断
入口参数:AH=14H
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号 01H 中的
说明
BIOS 和 DOS 中断大全(15)
(22)、功能 15H 功能描述:读取磁盘类型 入口参数:AH=15H DL=驱动器,
00H~7FH:软盘;80H~0FFH:硬盘 出口参数:CF=1——操作失败,AH=状
态代码,参见功能
(22)、功能 15H
功能描述:读取磁盘类型
入口参数:AH=15H
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
出口参数:CF=1——操作失败,AH=状态代码,参见功能号 01H 中的说明,
否则,AH=00H — 未安装驱动器
=01H — 无改变线支持的软盘驱动器
=02H — 带有改变线支持的软盘驱动器
=03H — 硬盘,CX:DX=512 字节的扇区数
(23)、功能 16H
功能描述:读取磁盘变化状态
入口参数:AH=16H
DL=00H~7FH:软盘
出口参数:CF=0——磁盘未改变,AH=00H,否则,AH=06H,参见功能号 01H
中的说明
(24)、功能 17H
功能描述:设置磁盘类型
入口参数:AH=17H
DL=00H~7FH:软盘 AL=00H — 未用
=01H — 360K 在 360K 驱动器中
=02H — 360K 在 驱动器中
=03H — 在 驱动器中
=04H — 720K 在 720K 驱动器中
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态编码,参见功能
号 01H 中的说明
(25)、功能 18H
功能描述:设置格式化媒体类型
入口参数:AH=18H
CH=柱面数
CL=每磁道的扇区数
DL=00H~7FH:软盘
出口参数:CF=0——操作成功,AH=00H,ES:DI=介质类型参数表地址,否
则,AH=状态编码,参见功能号 01H 中的说明
(26)、功能 19H
功能描述:磁头保护,仅在 PS/2 中有效,在此从略
(27)、功能 1AH
功能描述:格式化 ESDI 驱动器,仅在 PS/2 中有效,在此从略
3、串行口服务(Serial Port Service——INT 14H)
00H —初始化通信口 03H —读取通信口状态
01H —向通信口输出字符 04H —扩充初始化通信口
02H —从通信口读入字符
(1)、功能 00H
功能描述:初始化通信口
入口参数:AH=00H
DX=初始化通信口号(0=COM1,1=COM2,……)
AL=初始化参数,参数的说明如下: 波特率奇偶位停止位字的位数
76543210
000 = 110X0 = None0 = 1 bit10 = 7 bits
001 = 15001 = Odd1 = 2 bits11 = 8 bits
010 = 30011 = Even
011 = 600
100 = 1200
101 = 2400
110 = 4800
111 = 9600
对于 PS/2,可用 INT 14H 之功能 04H 和 05H 来初始化其通信速率大于 9600。
出口参数:AH=通信口状态,各状态位为 1 时的含义如下: 位 7—超时
位 6—传递移位寄存器为空
位 5—传递保持寄存器为空
位 4—发现终止位 3—发现帧错误
位 2—发现奇偶错
位 1—发现越界错
位 0—接受数据准备好
AL=Modem 状态
位 7—接受单线信号诊断
位 6—环指示器
位 5—数据发送准备好
位 4—清除数据,再发送位 3—改变在接受线上的信号诊断
位 2—后边界环指示器
位 1—改变“数据准备好”状态
位 0—改变“清除—发送”状态
(2)、功能 01H
功能描述:向通信口输出字符
入口参数:AH=01H
AL=字符
DX=初始化通信口号(0=COM1,1=COM2,……)
出口参数:AL 的值不变
AH 的位 7=0——操作成功,通信口状态,AH 的位 6~0 是其状态位
(3)、功能 02H
功能描述:从通信口读入字符
入口参数:AH=02H
DX=初始化通信口号(0=COM1,1=COM2,……)
出口参数:AL=接受的字符
AH 的位 7=0——操作成功,通信口状态,AH 的位 6~0 是其状态位
(4)、功能 03H
功能描述:读取通信口状态
入口参数:AH=03H
DX=初始化通信口号(0=COM1,1=COM2,……)
出口参数:AH=通信口状态,AL=Modem 状态,参见功能号 00H 中的说明
(5)、功能 04H
功能描述:扩充初始化通信口,仅在 PS/2 中有效,在此从略
4、杂项系统服务(Miscellaneous System Service——INT 15H)
00H —开盒式磁带机马达 85H —系统请求(SysReq)键
01H —关盒式磁带机马达 86H —延迟
02H —读盒式磁带机 87H —移动扩展内存块
03H —写盒式磁带机 88H —读取扩展内存大小
0FH —格式化 ESDI 驱动器定期中断 89H —进入保护模式
21H —读/写自检(POST)错误记录 90H —设备等待
4FH —键盘截听 91H —设备加电自检
80H —设备打开 C0H —读取系统环境
81H —设备关闭 C1H —读取扩展 BIOS 数据区地址
82H —进程终止 C2H —鼠标图形
83H —事件等待 C3H —设置 WatcHdog 超时
84H —读游戏杆 C4H —可编程选项选择
(1)、功能 00H
功能描述:开盒式磁带机马达
入口参数:AH=00H
出口参数:CF=0——操作成功,否则,AH=状态(86H,若未安装盒式磁带机)
(2)、功能 01H
功能描述:关盒式磁带机马达
BIOS 和 DOS 中断大全(16)
入口参数:AH=01H 出口参数:CF=0——操作成功,否则,AH=状态(86H,
若未安装盒式磁带机) (3)、功能 02H 功能描述:读盒式磁带机 入口参数:AH=
02H CX=读
入口参数:AH=01H
出口参数:CF=0——操作成功,否则,AH=状态(86H,若未安装盒式磁带机)
(3)、功能 02H
功能描述:读盒式磁带机
入口参数:AH=02H
CX=读入的字节数
ES:BX=存放数据的缓冲区地址
出口参数:CF=0——操作成功,DX=实际读入的字节数,ES:BX 指向最后一个
字节的后面地址,否则,AH=状态码,其值含义如下: 01H
—— CRC 校验码错 80H —— 非法命令
02H —— 位信号混乱 86H —— 未安装盒式磁带机
04H —— 无发现数据
(4)、功能 03H
功能描述:写盒式磁带机
入口参数:AH=03H
CX=要写入的字节数
ES:BX=已存数据的缓冲区地址
出口参数:CF=0——操作成功,CX=00H,ES:BX 指向最后一个字节的后面地
址,否则,AH=状态码,其值含义如下: 80H ——
非法命令 86H —— 未安装盒式磁带机
(5)、功能 0FH
功能描述:格式化 ESDI 驱动器定期中断,仅在 PS/2 中有效,在此从略
(6)、功能 21H
功能描述:读/写自检(POST)错误记录,仅在 PS/2 中有效,在此从略
(7)、功能 4FH
功能描述:键盘截听,仅在 PS/2 中有效,在此从略
(8)、功能 80H
功能描述:打开设备
入口参数:AH=80H
BX=设备号
CX=进程号
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态码
(9)、功能 81H
功能描述:关闭设备
入口参数:AH=81H
BX=设备号
CX=进程号
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态码
(10)、功能 82H
功能描述:进程终止
入口参数:AH=81H
BX=进程号
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态码
(11)、功能 83H
功能描述:事件等待
入口参数:AH=83H 若需要事件等待,则:AL=00H
CX:DX=千分秒
ES:BX=信号量字节的地址
否则,调用参数为 AL=01H
出口参数:若调用时,AL=00H,操作成功——CF=0,否则,CF=1
(12)、功能 84H
功能描述:读游戏杆
入口参数:AH=84H
DX=00H——读取开关设置
=01H——读取阻力输入
出口参数:CF=1H——操作失败,否则,
DX=00H 时,AL=开关设置(位 7~4)
DX=01H 时,AX、BX、CX 和 DX 分别为 A(x)、A(y)、B(x)和 B(y)的值
(13)、功能 85H
功能描述:系统请求(SysReq)键
入口参数:AH=85H
AL=00H——键按下
=01H——键放开
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态码
(14)、功能 86H
功能描述:延迟
入口参数:AH=86H
CX:DX=千分秒
出口参数:CF=0——操作成功,AH=00H
(15)、功能 87H
功能描述:从常规内存和扩展内存之间移动扩展内存块
入口参数:AH=87H
CX=移动的字数
ES:SI=GDT(Global Descriptor Table)的地址,其结构定义如下: 偏移量存储的信
息
00h-0Fh 保留,但现全为 0
10h-11h 段的长度(2CX-1 或更大)
12h-14h24 位源地址
15h 访问权限字节(其值为 93h)
16h-17h 保留,但现全为 0
18h-19h 段的长度(2CX-1 或更大)
1Ah-1Ch 24 位目标源地址
1Dh 访问权限字节(其值为 93h)
1Eh-2Fh 保留,但现全为 0
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态码,其含义如下:
01H —— RAM 奇偶错
02H —— 异常中断错
03H —— 20 号线门地址失败
(16)、功能 88H
功能描述:读取扩展内存大小
入口参数:AH=88H
出口参数:AX=扩展内存字节数(以 K 为单位)
(17)、功能 89H
功能描述:进入保护模式,CPU 从实模式进入保护模式
入口参数:AH=89H
BH=IRQ0 的中断号
BL=IRQ8 的中断号
ES:SI=GDT 的地址(参见功能号 87H)
出口参数:CF=1——操作失败,AH=0FFH,否则,AH=00H,CS、DS、ES
和 SS 都是用户定义的选择器
(18)、功能 90H
功能描述:设备等待
入口参数:AH=90H AL=驱动器类型,具体的驱动器类型定义如下:
=00H~7FH——串行再重用设备
=80H~0BFH——可重入式设备
=0C0H~0FFH——等待访问设备,没有自检功能
00h — 磁盘
02h — 键盘
80h — 网络
FDh — 软盘马达启动 01h — 软盘
03h — 点设备(Pointing Device)
FCh — 硬盘复位
FEh — 打印机
ES:BX=对驱动器类型 80H~0FFH 的请求块地址
出口参数:CF=1——操作失败,否则,AH=00H
(19)、功能 91H
功能描述:设备加电自检
入口参数:AH=91H
AL=00H~7FH——串行再重用设备
BIOS 和 DOS 中断大全(17)
=80H~0BFH——可重入式设备 出口参数:AH=00H (20)、功能 0C0H 功能描
述:读取系统环境 入口参数:AH=0C0H 出口参数:ES:BX=配置表地址,配
置表的定义如下
=80H~0BFH——可重入式设备
出口参数:AH=00H
(20)、功能 0C0H
功能描述:读取系统环境
入口参数:AH=0C0H
出口参数:ES:BX=配置表地址,配置表的定义如下: 偏移量含义说明
00h-01h 表的大小(字节数)
02h 系统模型
03h 系统子模型
04hBIOS 版本号
05h 配置标志,其各位为 1 时的说明如下:
位 7—DMA 通道 3 使用
位 6—存在从属 8259
位 5—实时时钟有效
位 4—键盘截听有效
位 3—等待外部事件有效
位 2—扩展 BIOS 数据区
位 1—微通道设施
位 0—保留
06h-09h 保留
(21)、功能 C1H
功能描述:读取扩展 BIOS 数据区地址,仅在 PS/2 中有效,
在此从略
(22)、功能 C2H
功能描述:鼠标图形,仅在 PS/2 中有效,在此从略
(23)、功能 C3H
功能描述:设置 WatcHdog 超时,仅在 PS/2 中有效,在此从略
(24)、功能 C4H
功能描述:可编程选项选择,仅在 PS/2 中有效,在此从略
5、键盘服务(Keyboard Service——INT 16H)
00H、10H —从键盘读入字符 03H —设置重复率
01H、11H —读取键盘状态 04H —设置键盘点击
02H, 12H —读取键盘标志 05H —字符及其扫描码进栈
(1)、功能 00H 和 10H
功能描述:从键盘读入字符
入口参数:AH=00H——读键盘
=10H——读扩展键盘,可根据 0000:0496H 单元的内容判断:扩展键盘是否有效
出口参数:AH=键盘的扫描码
AL=字符的 ASCII 码
(2)、功能 01H 和 11H
功能描述:读取键盘状态
入口参数:AH=01H——检查普通键盘
=11H——检查扩展键盘
出口参数:ZF=1——无字符输入,否则,AH=键盘的扫描码,AL=ASCII 码。
(3)、功能 02H 和 12H
功能描述:读取键盘标志
入口参数:AH=02H——普通键盘的移位标志
=12H——扩展键盘的移位标志
出口参数:AL=键盘标志(02H 和 12H 都有效),其各位之值为 1 时的含义如下:
位 7—INS 开状态位 3—ALT 键按下
位 6—CAPS LOCK 开状态位 2—CTRL 键按下
位 5—NUM LOCK 开状态位 1—左 SHIFT 键按下
位 4—SCROLL LOCK 开状态位 0—右 SHIFT 键按下
AH=扩展键盘的标志(12H 有效),其各位之值为 1 时的含义如下:
位 7—SysReq 键按下位 3—右 ALT 键按下
位 6—CAPS LOCK 键按下位 2—右 CTRL 键按下
位 5—NUM LOCK 键按下位 1—左 ALT 键按下
位 4—SCROLL 键按下位 0—左 CTRL 键按下
(4)、功能 03H
功能描述:设置重复率
入口参数:AH=03H 对于 PC/AT 和 PS/2:AL=05H
BH=重复延迟
BL=重复率
对于 PCjr:AL=00H——装入缺省的速率和延迟
=01H——增加初始延迟
=02H——重复频率降低一半
=03H——增加延迟和降低一半重复频率
=04H——关闭键盘重复功能
出口参数:无
(5)、功能 04H
功能描述:设置键盘点击
入口参数:AH=04H AL=00H——关闭键盘点击功能
=01H——打开键盘点击功能
出口参数:无
(6)、功能 05H
功能描述:字符及其扫描码进栈
入口参数:AH=05H
CH=字符的描述码
CL=字符的 ASCII 码
出口参数:CF=1——操作成功,AL=00H,否则,AL=01H
6、并行口服务(Parallel Port Service——INT 17H)
00H —向打印机输出字符
01H —初始化打印机端口
02H —读取打印机状态
(1)、功能 00H
功能描述:向打印机输出字符
入口参数:AH=00H
AL=输出的字符
DX=打印机号(0—LPT1,1—LPT2,2—LPT3,……)
出口参数:AH=打印机状态。其各位为 1 时的含义如下: 位 7—打印机空闲
位 3—I/O 错误
位 6—打印机响应位 2—保留
位 5—无纸位 1—保留
位 4—打印机被选位 0—打印机超时
(2)、功能 01H
功能描述:初始化打印机端口
入口参数:AH=01H
DX=打印机号(0—LPT1,1—LPT2,2—LPT3,……)
出口参数:AH=打印机状态。各位定义如下功能 00H 所示
(3)、功能 02H
功能描述:读取打印机状态
入口参数:AH=02H
DX=打印机号(0—LPT1,1—LPT2,2—LPT3,……)
出口参数:AH=打印机状态。各位定义如下功能 00H 所示
7、时钟服务(Clock Service——INT 1AH)
00H —读取时钟“滴答”计数 06H —设置闹钟
01H —设置时钟“滴答”计数 07H —闹钟复位
02H —读取时间 0AH —读取天数计数
03H —设置时间 0BH —设置天数计数
04H —读取日期 80H —设置声音源信息
BIOS 和 DOS 中断大全(18)
05H —设置日期 (1)、功能 00H 功能描述:读取时钟“滴答”计数 入口参数:AH
=00H 出口参数:AL=00H——未过午夜,否则,表示已过午夜 CX:DX=时钟
“滴答”
05H —设置日期
(1)、功能 00H
功能描述:读取时钟“滴答”计数
入口参数:AH=00H
出口参数:AL=00H——未过午夜,否则,表示已过午夜
CX:DX=时钟“滴答”计数
(2)、功能 01H
功能描述:设置时钟“滴答”计数
入口参数:AH=01H
CX:DX=时钟“滴答”计数
出口参数:无
(3)、功能 02H
功能描述:读取时间
入口参数:AH=02H
出口参数:CH=BCD 码格式的小时
CL=BCD 码格式的分钟
DH=BCD 码格式的秒
DL=00H——标准时间,否则,夏令时
CF=0——时钟在走,否则,时钟停止
(4)、功能 03H
功能描述:设置时间
入口参数:AH=03H
CH=BCD 码格式的小时
CL=BCD 码格式的分钟
DH=BCD 码格式的秒
DL=00H——标准时间,否则,夏令时
出口参数:无
(5)、功能 04H
功能描述:读取日期
入口参数:AH=04H
出口参数:CH=BCD 码格式的世纪
CL=BCD 码格式的年
DH=BCD 码格式的月
DL=BCD 码格式的日
CF=0——时钟在走,否则,时钟停止
(6)、功能 05H
功能描述:设置日期
入口参数:AH=05H
CH=BCD 码格式的世纪
CL=BCD 码格式的年
DH=BCD 码格式的月
DL=BCD 码格式的日
出口参数:无
(7)、功能 06H
功能描述:设置闹钟
入口参数:AH=06H
CH=BCD 码格式的小时
CL=BCD 码格式的分钟
DH=BCD 码格式的秒
出口参数:CF=0——操作成功,否则,闹钟已设置或时钟已停止
(8)、功能 07H
功能描述:闹钟复位
入口参数:AH=07H
出口参数:无
(9)、功能 0AH
功能描述:读取天数计数,仅在 PS/2 有效,在此从略
(10)、功能 0BH
功能描述:设置天数计数,仅在 PS/2 有效,在此从略
(11)、功能 80H
功能描述:设置声音源信息
入口参数:AH=80H
AL=声音源
=00H——8253 可编程计时器,通道 2
=01H——盒式磁带输入
=02H——I/O 通道上的"Audio In"
=03H——声音产生芯片
出口参数:无
8、直接系统服务(Direct System Service)
INT 00H —“0”作除数
INT 01H —单步中断
INT 02H —非屏蔽中断(NMI)
INT 03H —断点中断
INT 04H —算术溢出错误
INT 05H —打印屏幕和 BOUND 越界
INT 06H —非法指令错误
INT 07H —处理器扩展无效
INT 08H —时钟中断
INT 09H —键盘输入
INT 0BH —通信口(COM2:)
INT 0CH —通信口(COM1:)
INT 0EH —磁盘驱动器输入/输出
INT 11H —读取设备配置
INT 12H —读取常规内存大小(返回值 AX 为内存容量,以 K 为单位)
INT 18H —ROM BASIC
INT 19H —重启动系统
INT 1BH —CTRL+BREAK 处理程序
INT 1CH —用户时钟服务
INT 1DH —指向显示器参数表指针
INT 1EH —指向磁盘驱动器参数表指针
INT 1FH —指向图形字符模式表指针
bioS 和 dos 中断大全 2
2009-06-19 08:59:24 阅读 78 评论 0 字号:大中小 订阅
BIOS 和 DOS 中断大全(2)
2007 年 04 月 25 日 星期三 下午 01:47
8、内存分配功能(Memory-Allocation Function)
48H —分配内存块
49H —释放内存块
4AH —重定义内存块的大小
58H —读取/设置内存分配策略
(1)、功能 48H
功能描述:分配一块内存单元,并返回该块内存单元的首地址
入口参数:AH=48H
BX=需要申请的内存单元字节数
出口参数:CF=0——分配成功,AX=存储单元的首地址,否则,AX=错
误号(07H 或 08H),其含义见错误代码表,BX=还可用的最大块数
(2)、功能 49H
功能描述:释放内存单元块以便为其它程序使用
入口参数:AH=49H
ES=被申请块的段地址
出口参数:CF=0——释放成功,否则,AX=错误号(07H 或 09H),其含义
见错误代码表
(3)、功能 4AH
功能描述:根据程序的需要,动态地改变一个内存块
入口参数:AH=4AH
BX=需要一个新存储块的大小
ES=被修改块的段地址
出口参数:CF=0——修改成功,否则,AX=错误号(07H、08H 或 09H),
其含义见错误代码表,BX=可用最大块的大小
(4)、功能 58H
功能描述:读取/设置内存分配策略
入口参数:AH=58H 读取内存分配策略 AL=00H
设置内存分配策略 AL=01H
BX=内存分配策略代码:
00H—第一满足
01H—最好满足
02H—最后满足
出口参数:CF=0——操作成功,AX=已选用的内存分配策略代码(含义如
上说明),否则,AX=错误号(01H),其含义见错误代码表
9、系统功能(System Function)
25H —设置中断向量
30H —读取 MS-DOS 版本号
33H —读取/设置 Break 标志
34H —读取 InDOS 标志的地址
35H —读取中断向量
38H —读取/设置国家信息
44H —IOCTL(I/O 控制)
50H —设置程序段前缀(PSP)地址
51H —读取程序段前缀(PSP)地址
59H —读取扩展的错误信息
5EH —读取机器名,读取/设置打印机配置
5FH —设备重定向
63H —读取前导字节表
65H —读取扩展的国家信息
66H —读取/设置代码页
5D0AH —设置扩展的错误信息
(1)、功能 25H
功能描述:设置中断向量表
入口参数:AH=中断号
DS:DX=中断处理程序的入口地址
出口参数:无
(2)、功能 30H
功能描述:取 MS-DOS 操作系统的版本号
入口参数:AH=30H
出口参数:AL=0——V ;对其它高版本有:AL=主要版本号
AH=次版本号(MS-DOS =0AH,...)
BH=OEM 的序列号(Original Equipment Manufacturer)
BL:CX=24 位用户序列号
(3)、功能 33H
功能描述:获得或改变操作系统中断的状态。在功能调用期间,将影响^C
的检测
入口参数:AH=33H
AL=00H——取状态
=01H——设置状态,DL=00/01 表示置该状态 OFF/ON
出口参数:取状态时,DL=00/01——分别表示 OFF/ON
说明:
1、若 AL 中存入其它的功能号,则返回时,AL 的值为 0FFH;
2、若置 AL 为 5,则启动驱动器号返回在 DL 中(1-A,2-B,…)
(4)、功能 34H
功能描述:获得 InDos 标志的远地址,它由 DOS 维护表示 DOS 时活跃的
入口参数:AH=34H
出口参数:ES:BX=InDos 标志的远地址
若该单元值为 1,表示 DOS 功能在执行,否则,则不是。
(5)、功能 35H
功能描述:取指定中断号的入口地址
入口参数:AH=35H
AL=中断号
出口参数:ES:BX=中断处理程序的入口地址
(6)、功能 38H
功能描述:读取或设置国家信息
入口参数:AH=38H 当读取国家信息时
DS:DX=存放返回信息的地址
AL=0——取当前国家信息
AL=1~0FEH——取国家代码小于 255 的国家信息
AL=0FFH——取代码大于等于 255 的国家信息,BX=国家代码
设置国家信息时
DX=0FFFFH
AL=0~0FEH——设置国家代码小于 255 的国家信息
AL=0FFH——置代码大于等于 255 的国家信息,BX=国家代码
出口参数:CF=0——调用成功,BX=国家代码,否则。AX=错误代码
(02H),其含义见错误代码表 说明国家信息如下所示:
字节 0-1H:日期格式:0—mdy、1—dmy、2—ymd
字节 2-6H:货币字符
字节 7-8H:数值千位分割符
字节 9-0AH:数值精度分割符
字节 0B-0CH:日期间隔符
字节 0D-0EH:时间间隔符
字节 0FH:货币格式
位 0=0——货币符号在前,否则,货币符号在后
位 1=0——货币符号和数据之间无空格,否则,二者之间有一个空格
位 2=0——货币符号和小数点分开,否则,货币符号代替小数点
字节 10H:货币的小数位数
字节 11H:时间格式。位 0=0—12 小时制,否则,24 小时制
字节 12~15H:Case-Map 调用地址
字节 16~17H:字符串分割符
字节 18~21H:保留
(7)、功能 44H
功能描述:输入/输出控制,其子功能描述:
00H—取设备信息 01H—取设备信息
02H—从字符设备驱动器接受控制数据 03H—发送控制数据到字符设备驱
动器
04H—从块设备驱动器接受控制数据 05H—发送控制数据到块设备驱动器
06H—检查输入状态 07H—检查输出状态
08H—检查块设备是否为可拆卸设备 09H—检查设备是否为远程设备
0AH—检查句柄是否为远程对象 0BH—改变共享访问入口数
0CH—字符设备的一般 I/O 控制信息 0DH—块设备的一般 I/O 控制信息
0EH—读取逻辑驱动器映射关系 0FH—设置逻辑驱动器映射关系
说明:输入/输出子功能中的 00H、06H 和 07H 仅针对文件句柄,子功能 00H~
08H 不支持网络设备。
(8)、功能 50H
功能描述:设置程序段前缀(PSP)地址
入口参数:AH=50H
BX=新的 PSP 地址
出口参数:无
(9)、功能 51H
功能描述:读取程序段前缀(PSP)地址
入口参数:AH=51H
出口参数:BX=PSP 地址
(10)、功能 59H
功能描述:读取扩展的错误信息
入口参数:AH=59H
BX=00H
出口参数:AX=扩展的错误代码,其含义见错误代码表
BH=错误类型,其定义如下: 01h—资源短缺 02h—处于临时状态而非错误
03h—权限问题 04h—系统软件内部错误
05h—硬件失败 06h—系统软件失败,但不是活跃进程失败
07h—应用程序错 08h—文件或数据项未发现
09h—文件或数据项类型或格式错 0Ah—文件或数据项相互加锁
0Bh—驱动器中坏磁盘,磁盘中坏区域或存储问题
0Ch—其它错误
BL=建议采用的措施,其定义如下:
01h — 重试若干次后,再选"终止"或"忽略"
02h — 重试若干次(二次之间要等待)后,再选"终止"或"忽略"
03h — 从用户获取正确的信息
04h — 终止应用程序,并清除其所使用资源
05h — 立即终止程序,但没有清除其资源
06h — 忽略错误
07h — 消除错误原因,再重试
CH=错误地点,其定义如下:
01h — 不知道
02h — 块设备(磁盘或磁盘模拟器)
03h — 网络
04h — 串行设备
05h — 内存
ES:DI=插入磁盘标签的字符串,若 AX=0022h(非法改变磁盘)
(11)、功能 5EH
功能描述:读取机器名,读取/设置打印机配置 子功能号功能描述
00h 读取机器名
02h 设置打印机安装字符串
03h 读取打印机安装字符串
①、子功能 1
入口参数:AH=5EH
AL=00H
DS:DX=接受字符串缓冲区的地址
出口参数:CF=1——操作失败,AX=错误号(01H),其含义见错误代码表,
否则,
CH=00H——机器名未定义,否则,机器名已定义
CL=NetBIOS 名称号(当 CH≠00H 时)
DS:DX=标识符地址(当 CH≠00H 时)
①、子功能 2
入口参数:AH=5EH
AL=02H
BX=重定向列表索引
CX=安装字符串的长度
DS:SI=安装字符串的地址
出口参数:CF=0——操作成功,否则,AX=错误号(01H),其含义见错误
代码表
①、子功能 3
入口参数:AH=5EH
AL=03H
BX=重定向列表索引
ES:DI=接受字符串缓冲区的地址
出口参数:CF=0——操作成功,CX=接受字符串的长度,否则,AX=错
误号(01H),其含义见错误代码表
(12)、功能 5FH
功能描述:设备重定向 子功能号功能描述
02h 读取重定向列表索引
03h 重定向设备
①、子功能 1
入口参数:AH=5FH
AL=02H
BX=重定向列表索引
DS:SI=接受本地设备名的 16 字节存储区地址
ES:DI=接受网络名的 128 字节存储区地址
出口参数:CF=1——操作失败,AX=错误号(01H 或 12H),其含义见错误
代码表,否则,BH 位 0=0H——设备合法,否则,设备非法
BL=设备类型——03H:打印机,04H:驱动器
CX=存储参数值
DX=被破坏
BP=被破坏
DS:SI=存放本地设备名的地址
ES:DI=存放网络名的地址
①、子功能 2
入口参数:AH=5FH
AL=03H
BL=设备类型——03H:打印机,04H:驱动器
CX=调用者保存的参数
DS:SI=本地设备名的 16 字节存储区地址
ES:DI=网络名的 128 字节存储区地址,紧跟其后是密码
出口参数:CF=0——操作成功,否则,AX=错误号(01H、03H、05H、
08H、0FH 或 12H),其含义见错误代码表
(13)、功能 63H
功能描述:读取前导字节表
入口参数:AH=63H AL=子功能
=00H—读取系统前导字节表地址
=01H—设置/清除临时控制台标志(DL=00H/01H—清除/设置标志)
=02H—读取临时控制台标志值
出口参数:BX=1——操作失败,AX=错误号(01H),其含义见错误代码表,
否则,调用时,
若 AL=00H,则,DS:SI=系统前导字节表地址;
若 AL=02H,则,DL=临时控制台标志值
(14)、功能 65H
功能描述:读取扩展的国家信息
入口参数:AH=65H
BX=代码页(-1=活跃的 CON 设备)
CX=接受信息的缓冲区大小
DX=国家标识(-1=缺省)
ES:DI=接受信息的缓冲区地址 AL=子功能
=01H——读取一般的国家信息
=02H——读取指向大写字母表的指针
=04H——读取指向文件名大写字母表的指针
=06H——读取指向校对表的指针
=07H——读取指向 DBCS 向量的指针
出口参数:CF=0——操作成功,需要的数据存入调用的缓冲区,否则,AX
=错误号(02H),其含义见错误代码表
(15)、功能 66H
功能描述:读取/设置代码页
入口参数:AH=66H
AL=子功能号:01H——读取代码页,02H——选择代码页
BX=选择的代码页(当 AL=02H)
出口参数:CF=0——操作成功,当调用子功能 01H 时,BX=活跃的代码页,DX
=缺省的代码页,否则,AX=错误号(02H 或 65H),其含义见错误代码表
(16)、功能 5D0AH
功能描述:设置扩展的错误信息
入口参数:AX=5D0AH
DS:DX=扩展错误结构的地址,该结构的说明如下: EXTEND_ERR STRUCT
RAx WORD ? ;AX
RBx WORD ? ;BX
RCx WORD ? ; CX
RDx WORD ? ; DX
RSi WORD ? ; SI
RDi WORD ? ; DI
RDs WORD ? ; DS
REs WORD ? ; ES
Pad WORD 3 DUP(0)
EXTEND_ERRENDS
出口参数:无
10、进程控制功能(Process-Control Function)
00H —终止进程
26H —创建新的程序段前缀(PSP)
31H —终止并驻留
4BH —执行程序(EXEC)
4CH —带返回码方式的终止进程
4DH —读取返回代码
62H —读取 PSP 地址
(1)、功能 00H
功能描述:终止进程。这是程序可以使用的终止进程的方法之一
入口参数:AH=00H
CS=代码段地址
出口参数:无
(2)、功能 26H
功能描述:把当前正在执行程序的程序段前缀(PSP)拷贝到内存中的指定地址
中,并可改变其为其它程序所使用
入口参数:AH=26H
DX=新程序段前缀的段地址
出口参数:无
(3)、功能 31H
功能描述:终止程序的运行,传递一个返回代码给其父进程,但该程序部分
或全部驻留在内存中
入口参数:AH=31H
AL=返回代码号
DX=驻留在内存中的字节数
出口参数:无
(4)、功能 4BH
功能描述:执行程序(EXEC)
入口参数:AH=4BH
ES:BX=参数块的地址
DS:DX=程序的入口地址
AL=00H——装入并执行程序,03H——以覆盖的形式装入
出口参数:CF=0——操作成功,除 CS 和 IP 之外,其它寄存器的值都被破
坏,否则,AX=错误号(01H、02H、03H、05H、08H、0AH 或 0BH),其含义见
错误代码表
(5)、功能 4CH
功能描述:终止程序的执行,并可返回一个代码
入口参数:AH=4CH
AL=返回的代码
出口参数:无
(6)、功能 4DH
功能描述:父进程获取子进程的返回代码
入口参数:AH=4DH
出口参数:AH=00H——用中断 20H、中断 21H 的功能 0 或 4C 正常终止
=01H——用户按^C 终止
=02H——因致命错误而终止
=03H——用中断 21H 的功能 31H,或中断 27H 终止
AL=子进程的返回码:00H——子进程由中断 20H、中断 21H 的功能 0 或
4C 终止
(7)、功能 62H
功能描述:读取 PSP 地址
入口参数:AH=62H
出口参数:BX=PSP 的偏移量
11、时间和日期功能(Time and Date Function)
2AH —读取日期
2BH —设置日期
2CH —读取时间
2DH —设置时间
(1)、功能 2AH
功能描述:取系统日期
入口参数:AH=2AH
出口参数:CX=年(1980~2099),DH=月(1~12),DL=日(1~31)
AL=星期几(0=Sunday,1=Monday,...)
(2)、功能 2BH
功能描述:置系统日期
入口参数:AH=2BH
CX=年(1980~2099),DH=月(1~12),DL=日(1~31)
出口参数:AL=00H——设置成功,0FFH——设置失败
(3)、功能 2CH
功能描述:取系统时间
入口参数:AH=2CH
出口参数:CH=时(0~23),CL=分(0~59),DL=秒(0~59),AL=百分秒(0~99)
(4)、功能 2DH
功能描述:置系统时间
入口参数:AH=2DH
CH=时(0~23),CL=分(0~59),DL=秒(0~59),AL=百分秒(0~99)
出口参数:出口参数:AL=00H——设置成功,0FFH——设置失败
12、鼠标功能中断 INT 33H
00H —初始化鼠标
01H —显示鼠标指针
02H —隐藏鼠标指针
03H —读取鼠标位置及其按钮状态
04H —设置鼠标指针位置
05H —读取鼠标按键信息
06H —读取鼠标按钮释放信息
07H —设置鼠标水平边界
08H —设置鼠标垂直边界
09H —设置图形鼠标形状
0AH —设置本文鼠标形状
0BH —读取鼠标移动计数
0CH —为鼠标事件设置处理程序
0DH —允许光笔仿真
0EH —关闭光笔仿真
0FH —设置鼠标计数与象素比
10H —设置鼠标指针隐藏区域
13H —设置倍速的阈值
14H —替换鼠标事件中断
15H —读取鼠标驱动器状态的缓冲区大小
16H —存储鼠标驱动器状态
17H —重装鼠标驱动器状态
18H —为鼠标事件设置替换处理程序
19H —读取替换处理程序的地址
1AH —设置鼠标的灵敏度
1BH —读取鼠标的灵敏度
1CH —设置鼠标中断速率
1DH —为鼠标指针选择显示页
1EH —读取鼠标指针的显示页
1FH —禁止鼠标驱动程序
20H —启动鼠标驱动程序
21H —鼠标驱动程序复位
22H —设置鼠标驱动程序信息语言
23H —读取语种
24H —读取鼠标信息
25H —读取鼠标驱动程序信息
26H —读取最大有效坐标
(1)、功能 00H
功能描述:初始化鼠标,该操作只需要执行一次
入口参数:AX=00H
出口参数:AX=0000H——不支持鼠标功能,FFFFH——支持鼠标功能
BX=鼠标按钮个数(在支持鼠标功能时)
在支持鼠标功能的情况下,鼠标还被设置如下参数: 1、鼠标指针放在屏幕
中央
2、如果当前鼠标指针是显示的,则操作后,鼠标指针被隐藏
3、鼠标指针的显示页为 0
4、根据屏幕的显示模式显示鼠标指针:文本—反向显示矩形块,图形—尖
头形状
5、水平象素比=8:8,垂直象素比=16:8
6、设置水平和垂直的显示边界为当前显示模式的最大边界
7、允许光笔仿真
8、双速门槛值=64
(2)、功能 01H
功能描述:显示鼠标指针,通常在鼠标初始化后,用此功能显示其指针
入口参数:AX=01H
出口参数:无
(3)、功能 02H
功能描述:隐藏鼠标指针,一般在程序结束时,调用此功能
入口参数:AX=02H
出口参数:无
(4)、功能 03H
功能描述:读取鼠标位置及其按钮状态
入口参数:AX=03H
出口参数:BX=按键状态:位 0=1——按下左键
位 1=1——按下右键
位 2=1——按下中键
其它位——保留,内部使用
CX=水平位置
DX=垂直位置
(5)、功能 04H
功能描述:设置鼠标指针位置
入口参数:AX=04H,CX=水平位置,DX=垂直位置
出口参数:无
(6)、功能 05H
功能描述:读取鼠标按键信息
入口参数:AX=05H,BX=指定的按键:0—左键,1—右键,2—中键
出口参数:AX=按键状态,参见功能 3H 中 BX 的说明
BX=按键次数
CX=水平位置(最后按键时)
DX=垂直位置(最后按键时)
(7)、功能 06H
功能描述:读取鼠标按钮释放信息
入口参数:AX=06H,BX=指定的按键:0—左键,1—右键,2—中键
出口参数:AX=按键状态,参见功能 3H 中 BX 的说明
BX=释放的次数
CX=水平位置(最后释放时)
DX=垂直位置(最后释放时)
(8)、功能 07H
功能描述:设置鼠标水平边界
入口参数:AX=07H
CX=最小水平位置
DX=最大水平位置
出口参数:无,鼠标有可能因新区域变小而自动移进新区域内
(9)、功能 08H
功能描述:设置鼠标垂直边界
入口参数:AX=08H
CX=最小垂直位置
DX=最大垂直位置
出口参数:无,鼠标有可能因新区域变小而自动移进新区域内
(10)、功能 09H
功能描述:设置图形鼠标形状
入口参数:AX=09H
BX=指针的水平位置
CX=指针的垂直位置
ES:DX=16×16 位光标的映象地址 参数说明:(BX,CX)是鼠标的指针在
16×16 点阵中的位置,(0,0)是左上角;
ES:DX 指向的存储单元内存放 16×16 点阵的位映象隐码,紧跟其后的是
16×16 点阵的光标掩码。
鼠标指针的显示方法:位映象隐码“逻辑与”上屏幕显示区的内容,然后再用
光标掩码内容“异或”前面运算的结果。
出口参数:无
(11)、功能 0AH
功能描述:设置本文鼠标形状
入口参数:AX=0AH
BX=光标类型: 0 —CX 和 DX 的各位含义如下: 位 7~0 鼠标指针符号
位 10~8 字符前景色
位 11 亮度
位 14~12 字符背景色
位 15 闪烁
1 —CX=光标的起始扫描线
DX=光标的结束扫描线
出口参数:无
(12)、功能 0BH
功能描述:读取鼠标移动计数
入口参数:AX=0BH
出口参数:CX=水平移动距离:正数——向右移,负数——向左移
DX=垂直移动距离:正数——向下移,负数——向上移
(13)、功能 0CH
功能描述:为鼠标事件设置处理程序
入口参数:AX=0CH
CX=中断掩码 位 0=1——鼠标指针位置发送变化
位 1=1——按下左按钮
位 2=1——释放左按钮
位 3=1——按下右按钮
位 4=1——释放右按钮
位 5=1——按下中间按钮
位 6=1——释放中间按钮
位 7~15=0——保留
ES:DX=中断处理程序的地址
在进入中断处理程序时,有关寄存器的值含义:
AX=中断掩码
BX=按键状态
CX=鼠标指针的水平位置
DX=鼠标指针的垂直位置
SI=水平位置的变化量
DI=垂直位置的变化量
出口参数:无
(14)、功能 0DH
功能描述:允许光笔仿真
入口参数:AX=0DH
出口参数:无
(15)、功能 0EH
功能描述:关闭光笔仿真
入口参数:AX=0EH
出口参数:无
(16)、功能 0FH
功能描述:设置鼠标计数与象素比
入口参数:AX=0FH
CX=水平比例
DX=垂直比例
出口参数:无
(17)、功能 10H
功能描述:设置鼠标指针隐藏区域
入口参数:AX=10H
CX=左上角 X 坐标
DX=左上角 Y 坐标
SI=右下角 X 坐标
DI=右下角 Y 坐标
出口参数:无
(18)、功能 13H
功能描述:设置倍速的阈值,其缺省值为 64
入口参数:AX=13H
DX=阀值
出口参数:无
(19)、功能 14H
功能描述:替换鼠标事件中断
入口参数:AX=14H
CX=中断掩码
ES:DX=中断处理程序的地址
出口参数:CX=旧的中断掩码
ES:DX=旧的中断处理程序地址
(20)、功能 15H
功能描述:读取鼠标驱动器状态的缓冲区大小
入口参数:AX=15H
出口参数:BX=存放鼠标驱动器状态所需缓冲区的大小
(21)、功能 16H
功能描述:存储鼠标驱动器状态
入口参数:AX=16H
ES:DX=存储鼠标驱动器状态的地址
出口参数:无
(22)、功能 17H
功能描述:重装鼠标驱动器状态
入口参数:AX=17H
ES:DX=鼠标驱动器状态的地址
出口参数:无
(23)、功能 18H
功能描述:为鼠标事件设置可选的处理程序
入口参数:AX=18H
CX=替换中断掩码
ES:DX=替换中断处理程序的地址
CF=0
出口参数:无
(24)、功能 19H
功能描述:读取替换处理程序的地址
入口参数:AX=19H
CX=替换中断掩码
出口参数:若 AX=-1——不成功,否则,ES:DX=中断处理程序的地址
(25)、功能 1AH
功能描述:设置鼠标的灵敏度,其取值 1~100
入口参数:AX=1AH
BX=水平灵敏度(每 8 个象素鼠标需要移动的数量,一般为 8)
CX=垂直灵敏度(每 8 个象素鼠标需要移动的数量,一般为 16)
DX=倍速阀值
出口参数:无
(26)、功能 1BH
功能描述:读取鼠标的灵敏度
入口参数:AX=1BH
出口参数:BX=水平灵敏度
CX=垂直灵敏度
DX=倍速阀值
(27)、功能 1CH
功能描述:设置鼠标中断速率
入口参数:AX=1CH
BX=每秒钟中断的次数:0—关中断,1—30/S,2—50/S,3—100/S,4—200/S
出口参数:无
(28)、功能 1DH
功能描述:为鼠标指针选择显示页
入口参数:AX=1DH
BX=显示页
出口参数:无
(29)、功能 1EH
功能描述:读取鼠标指针的显示页
入口参数:AX=1EH
出口参数:BX=显示页
(30)、功能 1FH
功能描述:禁止鼠标驱动程序
入口参数:AX=1FH
出口参数:若 AX=-1——不成功,否则,ES:BX=鼠标驱动程序的地址
(31)、功能 20H
功能描述:启动鼠标驱动程序
入口参数:AX=20H
出口参数:无
(32)、功能 21H
功能描述:鼠标驱动程序复位
入口参数:AX=21H
出口参数:若 AX=-1——不成功,否则,BX=2
(33)、功能 22H
功能描述:设置鼠标驱动程序信息语言
入口参数:AX=22H
BX=语言代码:0—英语,1—法语,2—荷兰语,3—德语,4—瑞典语,5—
芬兰语,6—西班牙语,7—葡萄牙语,8—意大利语
出口参数:无
(34)、功能 23H
功能描述:读取语种
入口参数:AX=23H
出口参数:BX=语言代码
(35)、功能 24H
功能描述:读取鼠标信息
入口参数:AX=24H
出口参数:BH=主版本号,BL=辅版本号
CL=中断请求号
CH=鼠标类型:1-Bus Mouse,2-Serial Mouse,3-InPort Mouse,4-PS/2
Mouse,5-HP Mouse
(36)、功能 25H
功能描述:读取鼠标驱动程序信息
入口参数:AX=25H
出口参数: AX=鼠标驱动程序信息: 位 15 ——0:驱动程序是.SYS 文件,
否则,为.COM 文件
位 14——0:不完全鼠标显示驱动程序,否则,为完全的
位 13-12——00:软件文本光标
01:硬件文本光标
1X:图形光标
(37)、功能 26H
功能描述:读取最大有效坐标
入口参数:AX=26H
出口参数:BX=鼠标驱动程序状态
CX=最大水平坐标
DX=最大垂直坐标
13、其它 DOS 中断
INT 20H —终止程序运行
INT 22H —终止处理程序的地址
INT 23H —Ctrl+C 处理程序
INT 24H —致命错误处理程序
INT 25H —读磁盘扇区(忽略逻辑结构)
INT 26H —写磁盘扇区(忽略逻辑结构)
INT 27H —终止,并驻留在内存
INT 28H —DOS 空闲
INT 2FH —多重中断服务
(1)、中断 INT 20H
功能描述:终止当前正在运行的程序,它是几种终止程序运行方法之一
入口参数:CS=PSP 的段地址
出口参数:无
(2)、中断 INT 22H
功能描述:终止处理程序的地址,该地址在程序装入内存运行前被放入 PSP
的 0AH~0DH 的单元内。该中断指令从不直接书写在程序之中
(3)、中断 INT 23H
功能描述:Ctrl+C 处理程序。该中断指令从不直接书写在程序之中
(4)、中断 INT 24H
功能描述:致命错误处理程序。该中断指令从不直接书写在程序之中
(5)、中断 INT 25H
功能描述:绝对读磁盘,直接从逻辑设备中读出数据到内存单元中
入口参数:AL=驱动器号(0=A、1=B、……) 分区容量≤32M,有:CX=读
出的扇区数
DX=起始扇区数
DS:BX=存放数据缓冲区的地址
否则,有:CX=-1
DS:BX=参数块缓冲区的地址,该参数块的结构如下: 字节描述
00~03H32 位扇区数
04~05H 将被读出的扇区数
06~07H 存放数据的缓冲区的偏移量
08~09H 存放数据的缓冲区的段地址
出口参数:CF=0——操作成功,否则,AX=错误号,其含义见下错误代码
表 错误代码错误含义
80H 附件响应失败
40H 定位操作失败
20H 设备控制器失败
10H 数据错(错误的 CRC)
08H DMA 失败
04H 需要的扇区未发现
02H 错误的地址标志
01H 错误命令
(6)、INT 26H
功能描述:绝对写磁盘,直接把内存单元中的内容写入逻辑设备
入口参数:与前面的 INT 25H 相一致
出口参数:与前面的 INT 25H 相一致
(7)、INT 27H
功能描述:终止,并驻留在内存
入口参数:CS=PSP 的段值
DX=被保护程序最后一个字节的偏移量再加 1
出口参数:无
(8)、INT 28H
功能描述:DOS 空闲中断
入口参数:无
出口参数:无
(9)、INT 2FH
功能描述:多重中断服务,允许多个驻留程序通过单个中断与其它进程通信。
入口参数:AH=标识号,AL=功能号,功能号及其含义如下: 功能号功能
描述
01H 假脱机打印
06H 驻留 ASSIGN 命令
10H 驻留 SHARE 命令
B7H 驻留 APPEND 命令
出口参数:若入口 AL 为 0,则出口 AL=0FFH,否则,其值取决于处理程
序