INT33H的这个功能是安装一个鼠标监视子程序,ES:DX是这个子程序的地址,CX是在什么情况INT33H需要调用这个子程序,AX是功能号。
INT 33H:
AX = 000Ch
CX = call mask (在什么情况相应要安装的子程序)
bit 0 call if mouse moves (移动)
bit 1 call if left button pressed (左按钮按下)
bit 2 call if left button released (左按钮抬起)
bit 3 call if right button pressed (右按钮按下)
bit 4 call if right button released (右按钮抬起)
bit 5 call if middle button pressed (Mouse Systems/Logitech
mouse)
bit 6 call if middle button released (Mouse Sys/Logitech mouse)
ES:DX -> FAR routine
Notes: when the subroutine is called, it is passed the following values(监视程序的参数):
AX = condition mask (same bit assignments as call mask 与调用INT33时的CX相同)
BX = button state (按钮状态)
CX = cursor column (X坐标,在SVGA模式数值不正确)
DX = cursor row (Y坐标,在SVGA模式数值不正确)
SI = horizontal mickey count (与上次调用在X方向移动的距离,在SVGA模式非常有用)
DI = vertical mickey count (与上次调用在Y方向移动的距离,在SVGA模式非常有用)