5.2.10. ФН 0Ah - Буферизованный ввод с устройства StdIn

      Вход: AH = 0Ah

            DS:DX = адрес буфера ввода

 

      Выход: буфер содержит введенную строку

 

      Описание: Перед  вызовом финкции первый  байт буфера должен

 содержать его размер MAX (от  1 до 254 байтов). Символы вводятся

 со  стандартного устройства  ввода и  помещаются в  буфер до тех

 пор, пока не  встретится символ ВК (клавиша Return  или Enter на

 клавиатуре)  или не  будет введено  MAX-1 символов.  В последнем

 случае вводимые  символы не заносятся  в буфер и  сопровождаются

 звуковым сигналом, пока не будет нажата клавиша ВК.

 

      Во второй байт буфера помещается длина фактически введенной

 строки,  не  считая  завершающего  ВК  (код  ASCII 0Dh), который

 всегда заносится последним символом строки. Пример:

 

      На входе буфер имеет вид:

  

 ┌───┬───┬───┬───┬───┬───┬───┬───┐

 │ 7 │ ? │ ? │ ? │ ? │ ? │ ? │ ? │

 └───┴───┴───┴───┴───┴───┴───┴───┘

 

      На выходе:

 

 ┌───┬───┬───┬───┬───┬───┬───┬───┐

 │ 7 │ 5 │ T │ E │ K │ C │ T │0Dh│

 └───┴───┴───┴───┴───┴───┴───┴───┘

 

      Примечания:

 

      1. При  обнаружении Ctrl-Break вызывается  Int 23h и  буфер

 остается без изменений.

 

      2. Во время ввода  строки можно пользоваться редактирующими

 клавишами ДОС: Esc выводит на  экран "\" и начинает ввод заново;

 F3 выводит  шаблон до конца,  F5 выводит "@"  и помещает текущую

 строку в шаблон и т. д. Большинство клавиш расширенного набора в

 этом режиме игнорируется.

Вы находитесь в разделе: 
Также вам будет интересно:
Метки: 

Добавить коментарий