AH = 01 on return: ZF = 0 if a key pressed (even Ctrl-Break) AX = 0 if no scan code is available AH = scan code AL = ASCII character or zero if special function key - data code is not removed from buffer - Ctrl-Break places a zero word in the keyboard buffer but does register a keypress.