logo
Периферийные устройства ПК / КЛАВИАТУРА

2.5.5. Ввод строки символов

На входе: AH = 0Ah;

DS:DX = адрес буфера для ввода строки;

На выходе: Буфер содержит введенную строку.

Функция проверяет комбинации клавиш

Ctrl-C и Ctrl-Break.

Функция предназначена для ввода с клавиатуры строки символов. Перед вызовом функции необходимо специальным образом подготовить буфер, адрес которого передается в регистрах DS:DX - в первый байт буфера следует записать максимальную длину вводимой строки (в диапазоне от 1 до 244):

----T---T---T---T---T---T- - -

¦max¦ ? ¦ ? ? ? ? ?

L-T-+---+---+---+---+---+ - -

¦

L----> максимальная длина вводимой строки

После возврата из функции буфер будет иметь следующий формат:

----T---T---T---T---T---T- - -

¦max¦len¦ T E X T 0Dh

L-T-+-T-+---+---+---+---+ - -

¦ ¦

¦ L------- длина введенной строки (без учета

¦ завершающего символа CR)

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

Ввод осуществляется до тех пор, пока либо количество введенных символов не достигнет max-1, либо пока не будет нажата клавиша Enter (код 0Dh). Если оператор уже ввел max-1 символ и продолжает вводить символы дальше, функция выдает звуковой сигнал на каждое нажатие и игнорирует вводимые символы до тех пор, пока не будет нажата клавиша Enter.

При вводе строки можно использовать стандартные средства редактирования MS-DOS, используемые при вводе команд в режиме командной строки.