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., 02H) 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). See Also: Character I/O Functions DOS Functions -♦-