新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 鼠标的操作方式

鼠标的操作方式

作者:时间:2012-04-16来源:网络收藏

用汇编语言对的各项操作进行描述的,也可以用C、C++等其他语言来描述。
1. 初始化驱动程序:
例如:中断号INT33h 功能16h 子功能17h
中断号:用于请求服务
功能号:用于确定用户期望获取哪种服务
子功能号:进一步指定所希望的服务
调用寄存器:设置被调用的服务功能所要求的参数
返回寄存器:返回服务功能执行结果
调用的进程:设置参数 中断号INT33h 功能15h BX寄存器 ES:DX 功能16h 功能17h ES:DX

2. 显示或隐藏光标
中断33h的功能1和2分别置鼠标光标为“打开”和“关闭”。而鼠标驱动程序一直跟踪鼠标的移动,当鼠标移动时就更新它在屏幕的位置。
鼠标的程序从开始通常在打开光标,一直到程序结束。
鼠标驱动程序采用光标标记,用做显示和隐藏光标的分层方法。初次打开光标标记设为-1;功能1将标记加至0,使光标出现。功能2将标记减1,当标记为负值时就隐藏光标。

3. 设置文本鼠标光标的形状
在以视频文本模式工作时,鼠标驱动程序生成两类光标:
(1)硬件光标,由视频硬件所产生的常规屏幕光标,由水平扫描线组成。
(2)软件或属性光标,这种情况下,鼠标驱动程序在光标出现的屏幕位置写数据。驱动程序在改变此位置显示的字符或改变字符属性,使它闪烁、背景色等。
(3)中断33h的功能Ah设置文本光标的类型:AX存放功能号;BX存放应光标或软件光标选择;CX存放起始扫描线;DX存放终止扫描线。

4. 设置图形鼠标光标的形状

中断33h的功能9h设置图形模式下的鼠标光标的形状,并定义光标里的一个点为热点。光标由16 x 16位的视频掩码和16 x 16位的光标掩码组成。

5. 取得或设置鼠标光标的位置
中断33h的功能4h用于设置鼠标光标位置,功能3h则用于报告光标的位置。AX存放功能号,CX被赋予X坐标,DX被赋予Y坐标。P200例7-4

6. 将鼠标光标限定在屏幕的一部分
将鼠标光标可以限制在屏幕的一个矩形区域内,由中断33h的功能7h设置鼠标光标移动的水平范围,8h设置垂直范围。P201例7-5

7. 定义不显示鼠标光标的屏幕区域
中断33h的功能10h定义屏幕的一个区域,当鼠标进入该区域时会自动关掉。进入时,CX存放被保护域的左列号,SI存放右列号;DX存放首行号,DI存放末行号。
例7-6 设置一个范围是从第10~50列和5~30行之间的矩形域。
MOV AX , 10h ;功能号
MOV CX , 10 ;左列
MOV S I , 50 ;右列
MOV DX , 5 ;首行
MOV D I , 30 ;末行
INT 33h ;调用中断设置域

8. 跟踪鼠标的移动

中断33h 功能Bh报告自从上次调用该功能后,鼠标移动的实际距离(测量单位为米基)。该功能在CX中返回相对的水平位移;DX中返回相对的垂直位移。例7-7 查询鼠标光标的相对位移。
MOV AX , 0Bh
INT 33h
MOV HORZ_MOTION , CX
MOV VERT_MOTION , DX


上一页 1 2 下一页

关键词: 鼠标 操作方式

评论


相关推荐

技术专区

关闭