【发布时间】:2019-01-04 16:27:50
【问题描述】:
我正在用 x86 程序集开发实模式操作系统。我设法用键盘移动光标,但我想用鼠标移动光标。我不知道怎么做。我发现 int 33h 处理鼠标,但我似乎无法使用 int 33h 移动光标。
【问题讨论】:
-
编写操作系统是一项复杂的工作。没有加载 DOS 时没有什么是容易的。Int 33h 不存在,但 Int 15h 在支持 IBM PS/1 和 PS/2 BIOS 扩展的 BIOS 上具有一些有用的功能(现在大多数机器都支持,但并非总是如此案子)。为了展示仅在文本模式 (80x25) 下处理鼠标的复杂性,您可能会发现这个有趣的小项目:capp-sysware.com/misc/stackoverflow/54042732
-
该代码是一个简单的轮询鼠标驱动程序,它显示一个测试模式,允许您移动鼠标光标并响应鼠标左右键(当前版本不支持 3 个按钮,一个鼠标滚轮等)。测试模式的存在是为了显示当鼠标光标移动到不同的前景色和背景色之上时会发生什么。真正的鼠标驱动程序将处理所有标准文本模式,将处理图形模式等。为简单起见,此版本专为 80x25 文本模式而设计。
标签: assembly operating-system x86-16 bootloader osdev