您好我正在尝试在MS-DOS调试上创建命令/代码,以查看我在键盘上按下的键。我只使用一个按键的代码但是当我按下不同的按键时它不起作用。
我希望它可以使用2个或更多不同的键和单独的输出信息,具体取决于按下了哪个键,即按下shift-F1的十六进制54
Mov ah, 0
Int 16
Mov bh, ah
Mov bl, al
Cmp ah, 3b
Jne again
Mov ah, 9
Mov dx, [msg address]
Int 21
Int 20
Db ‘You pressed F1 key$’
如果它在这里不重要,你可以不断地从0x60h端口读取输入并查看它给出的内容。低于128的值是按键,当高于127是键释放时。那你就不用中断了。
尝试以更高级别的语言从0x60h端口获取输入,我建议QBASIC。然后,您将能够在asm中快速编写解决方案。
不要忘记退出程序的可能性,例如通过Esc键,按下给出值1,或者您需要重新启动系统以控制系统返回。