See also: Int 16h Functions 01h and 11h, Keyboard Scan Codes,
ASCII Chart, Character Input, Keyboard Data Memory
Description: [PC] [AT] [PS/2]
Reads a character and scan code from the keyboard type-ahead
buffer. Use Function 10h if the code must handle the additional
keys of the enhanced keyboard (such as F11, F12, and cursor
control keys).
You can use the keyboard data byte at 0000:0496h to
determine if the extended keyboard is available.
Input Output
AH = 00h to read any keyboard AH = Keyboard scan code
= 10h to read extended keyboard AL = ASCII character
direction: cmp al,48h
jz near ptr up
cmp al,49h
jz near ptr pgup
cmp al,4bh
jz near ptr left
cmp al,4dh
jz near ptr right
cmp al,50h
jz near ptr down
cmp al,51h
jz near ptr pgdn
cmp al,0eh
jz near ptr bs