我正在使用汇编语言进行一些编程。我有一个问题。我如何检查是否正在按键,例如如果我按 F8 键,跳转到重启。
答案 0 :(得分: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
代替,或直接写入视频内存)。