我正在使用 MASM 语法,并且我想获得一个键盘按键然后将其存储以便稍后在代码中使用它,我尝试使用:int 21h 中断,但它似乎在 32 位下不起作用。
还有其他方法可以实现吗?
谢谢。
如果您想切换到 Windows,您可能会使用该GetKeyboardState
功能来确定是否正在按下一个或多个键。比使用更容易的GetKeyboardState
是使用以下内容:
.486
.model flat,stdcall
option casemap : none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\msvcrt.inc
include \masm32\macros\macros.asm
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\msvcrt.lib
.data?
key dd ?
.code
start:
printf("Press a key..")
call crt__getch
mov key,eax
printf("\nYou pressed key number %d", key)
invoke ExitProcess,0
END start