(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——设置失败
2、鼠标功能中断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=最大垂直坐标
3、其它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=显示器模式,见下表所示
出口参数:无