INT 14h,  0Dh    Keyboard read without wait

Entry: None

Exit: AX IBM-style scan code (Character available)
FFFFh (Character not available)

Return in AX the next character (non-destructive read ahead) from the
keyboard; if nothing is currently in the keyboard buffer, return FFFFh in
AX. Use IBM-style function key mapping in the high order byte. Scan
codes for non-"function" keys are not specifically required, but may be
included. Function keys return 00h in AL and the "scan code" in AH.