DOS编程:鼠标中断INT 33h服务参考
Contents
BIOS中断33h,鼠标中断(由鼠标驱动程序 MOUSE.COM/MOUSE.SYS 注册,不是BIOS原生提供)。
注意:INT 33h 的功能号约定在 AX(16位) 里,不是 AH。这跟大多数走 AH 做功能号的 BIOS 中断不一样,是历史遗留的规范,容易写错。
AX = 0
初始化鼠标驱动程序。
返回:
AX = FFFFh 表示驱动已安装,BX = 按钮数
AX = 1
显示鼠标指针
AX = 2
隐藏鼠标指针
AX = 3
获取鼠标位置和按钮状态。
返回:BX = 按钮状态(位0=左键,位1=右键,位2=中键),CX = X坐标,DX = Y坐标
AX = 4
设置鼠标位置。
CX = X坐标,DX = Y坐标
AX = 5
获取按钮按下信息。
输入:BX = 按钮号(0=左,1=右,2=中);返回:AX = 按下次数,CX = 最后一次按下时的X坐标,DX = Y坐标
AX = 6
获取按钮释放信息,用法同 AX=5,返回释放次数和最后释放位置
AX = 7
设置水平(X)方向的移动范围。CX = 最小X,DX = 最大X
AX = 8
设置垂直(Y)方向的移动范围。CX = 最小Y,DX = 最大Y
AX = 9
设置自定义图形光标
AX = 0Ch
设置鼠标事件回调函数。CX = 触发事件掩码,ES:DX = 回调函数地址
关于 INT 33h 更完整的用法示例和与 BIOS 中断的层次关系,可参考Turbo C键盘鼠标交互编程详解。
Author 软件开发大郭
LastMod 2023-06-28