【问题标题】:Assembly x86: Hiding Cursor大会 x86:隐藏光标
【发布时间】:2020-04-27 06:10:37
【问题描述】:

我正在为我的操作系统创建一个选择页面。我想隐藏 VGA 光标以获得更好的视图。我找到了一些方法来做到这一点,比如将 VGA 光标移出屏幕。但是有没有别的办法?我正在使用 BIOS。

【问题讨论】:

  • 你指的是VGA光标还是鼠标光标?您是使用 BIOS 还是避免使用它?
  • 我指的是 VGA 光标。我正在使用 BIOS。
  • 将其添加到问题中,这很重要。 S E 似乎也回答了你的问题。

标签: assembly x86-16 bios


【解决方案1】:

您可以使用int 10h BIOS 中断和功能代码01h(在AH)来设置光标形状。

函数的参数如下:

CH = 扫描行开始,CL = 扫描行结束

通常一个字符单元有 8 条扫描线,0-7。所以,CX=0607h 是一个普通的下划线光标,CX=0007h 是一个全块光标。如果位 5 CH 已设置,通常表示“隐藏光标”。所以CX=2607h是一个看不见的 光标。

有些显卡有 16 条扫描线,00h-0Fh。

某些视频卡不使用CH 的第 5 位。使用这些,使开始>结束(例如CX=0706h

本文档来自https://en.wikipedia.org/wiki/INT_10H

【讨论】:

  • 感谢您的信息。我搜索了int 0x10 和其他中断的文档等,但我没有看到文本光标形状。我没想到要查找维基百科。
  • @NafeBon 对于 DOS 和 BIOS 接口,可争论的最佳资源是 Ralf Brown 的中断列表。例如,这是int 10/AH=01h 上的页面。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-06
  • 2017-08-17
  • 2011-04-11
  • 2014-07-30
  • 1970-01-01
  • 1970-01-01
  • 2012-07-16
相关资源
最近更新 更多