Compatibility: 1.0+
Expects: AH    0aH
DS:DX address of a length-prefixed input buffer (see below)
Returns: DS:DX the buffer contains input terminated with CR (ASCII 13H) and
identifies the length of the actual input
Info: Reads a line of text (up to 254 bytes) from the Standard Input
into a caller-supplied buffer.  You must specify the maximum
input length.

On entry, the buffer at DS:DX must be set up as:
 max  ?   ?   ?   ?   ?   ?    max is maximum acceptable input
                          -    (range: 1 to 254)
On exit, the buffer is filled:
 max len  H   I  0dH           len is actual length of input,
                          -    less the terminating CR (e.g.,

Characters are read from the Standard Input up to a CR
(ASCII 0dH) or up to the value of max-1.  If max-1 is reached,
the console bell rings (beeps) for each character until Enter
(CR) is read.

The second byte of the buffer is filled with the actual length of
the input, less the terminating CR.  The final character in the
buffer is always CR (which is not counted in the length byte).

Notes: The DOS "template" editing keystrokes are in effect:
  The initial contents of the buffer (up to len) are used as the
"current template string".  Special keys are handled as they
are at a standard DOS prompt, for instance:
[Esc] displays "\" and restarts the edit;
[F3] displays to the end of the template;
[F5] displays "@" and stores the line as the template; etc.
[Ins] toggles insert mode, [ ] backs up and deletes, etc.

  If len is set to 0 when called, then no template exists.

  If Ctrl-Break is detected, INT 23H is executed and the buffer
is left unchanged.  The default Ctrl+Break handler displays ^C.

  You may also obtain a "cooked" string of standard input using
DOS Fn 3fH (with BX set to 00H).

- -

DOS Fn 0aH: Buffered String Input