我尝试了 BIOS 中断 INT 16h, 02h,但 Emu8086 不支持它。有人可以教我如何直接获取内存位置 0:0417h 或其他支持 BIOS 中断 16h 02h 的汇编器上的 Capslock 状态吗?我已经尝试过 MASM,但进展不顺利。抱歉我的英语不好
大写锁定键的状态可以在地址 处的键盘状态字的位40h中找到0040:0017。要访问该位,首先将 BDA 段加载到段寄存器中,然后使用该段寄存器访问内存。语法应该类似于:
mov ax, 40h ; load segment into AX
mov es, ax ; so we can move it into ES
test byte ptr es:[17h], 40h ; is caps-lock depressed?
jnz caps_pressed
caps_not_pressed:
...
caps_pressed:
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
398 次 |
| 最近记录: |