我正在用汇编语言做一些编程。我有个问题。如何检查是否正在按下某个键,例如,如果我正在按下该F8键,则跳转以重新启动。
问问题
4552 次
1 回答
3
这对我有用(假设 x86 实模式):
[org 0x100]
[bits 16]
mov dx,prompt
mov ah,9
int 21h
wait_for_f8:
mov ah,0
int 16h ; Get keystroke
cmp ah,42h ; 42h == scancode for F8
jne wait_for_f8
mov dx,exit_msg
mov ah,9
int 21h
mov ax,4c00h
int 21h
prompt: db 'Please press F8..$'
exit_msg: db 13,10,'F8 pressed',13,10,'$'
DOS 中断 ( int 21h
) 仅用于向用户提供一些反馈。在引导加载程序中,您不需要这些(如果您需要在引导加载程序中输出文本,您可以int 10h
改用,或直接写入视频内存)。
于 2013-07-11T10:23:59.413 回答