7.1.11. Int 21H Function 0AH
Description:
Buffered Keyboard Input
Reads a string of bytes from the standard input device, up
to and including an ASCII carriage return (0DH), and places
them in a user-designated buffer. The characters are echoed to
the standard output device. Input may be redirected (if input
has been redirected, there is no way to detect EOF).
Input Output
------------------------------ ------
AH=0AH Nothing
DS

X=segment

ffset of buffer
- The buffer used by this function has the following format:
Byte
Contents
0
maximum number of characters to read, set by
program
1
number of characters actually read (excluding
carriage return), set by MS-DOS
2+
string read from keyboard or standard input,
terminated by a carriage return (0DH)
- If the buffer fills to one fewer than the maximum number
of characters it can hold, subsequent input is ignored and
the bell is sounded until a carriage return is detected.
- This input function is buffered with type-ahead
capability, and all of the standard keyboard editing
commands are active.
Interrupt 21H, Character-Oriented Functions
- If the standard input is not redirected, and a CTRL+C is
detected at the console, an Int 23H is executed. If the
standard input is redirected, a CTRL+C is detected at the
console, and BREAK is ON, an Int 23H is executed.
- See Int 21H Functions 01H, 06H, 07H, and 08H for
single-character input from the keyboard or standard input
device.
- You can also read strings from the keyboard by performing
a read (Int 21H Function 3FH) using the predefined handle
for the standard input (0000H), if it has not been
redirected, or using a handle obtained by opening the
logical device CON.