Note: This IBM PC BIOS API call is for DOS/Win16 personality only. Use Family API for portability.

Note: osFree Macro Library provides macros for most of functions

2022/03/13 07:41 · prokushev

Int 16H, AH=00H


IBM 5150 and higher


Read char from keyboard

osFree Macro Library

Family API


  • AH = 00h


  • AH = BIOS scan code
  • AL = ASCII character


  • on extended keyboards, this function discards any extended keystrokes, returning only when a non-extended keystroke is available
  • the BIOS scan code is usually, but not always, the same as the hardware scan code processed by INT 09. It is the same for ASCII keystrokes and most unshifted special keys (F-keys, arrow keys, etc.), but differs for shifted special keys
  • some (older) clone BIOSes do not discard extended keystrokes and manage function AH=00h and AH=10h the same
  • the K3PLUS v6.00+ INT 16 BIOS replacement doesn't discard extended keystrokes (same as with functions 10h and 20h), but will always translate prefix E0h to 00h. This allows old programs to use extended keystrokes and should not cause compatibility problems


en/docs/bios/api/int16/00.txt · Last modified: 2022/04/07 16:33 by prokushev