gpt4 book ai didi

assembly - 如何通过 BIOS 中断获取特殊键

转载 作者:行者123 更新时间:2023-12-02 18:17:58 25 4
gpt4 key购买 nike

我正在 NASM 中编写一个实模式操作系统,我想知道是否有一种方法可以通过 BIOS 中断读取功能键、箭头键、control、alt 等按键?感谢您提供的任何帮助。

最佳答案

keyboard BIOS可以帮助您。

代码如下

mov ah, 00h
int 16h ; -> AX

将等待按键并返回给您,其中包含 AL 中按键的 ASCII 代码和 AH 中按键的扫描码。
对于功能键、箭头等,您只需查看扫描码,因为对于大多数这些键,ASCII 代码为零。

要了解 ALT 键、CTRL 键或其他键的状态,您可以使用功能 02h 或 12h。或者,您可以检查低内存中 0040:0017h 和 0040:0018h 的 BIOS 变量。


ps 我目前无法发表评论(浏览器问题)...

如果上述代码生成 AX=1E01h,则确实意味着用户按下了 CTRLA
必须注意某些 ALT 键组合,因为 AX 中返回的代码可能取决于键盘是 QWERTY 还是 AZERTY。ALTAALTQALTZALTWALTM

关于assembly - 如何通过 BIOS 中断获取特殊键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71288671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com