Чтобы воспользоваться этой функцией, в программе пользователя требуется зарезервировать в сегменте данных место лдля вводимой строки ( в таблице это называется буфер строки). Количество выделяемых байтов должно быть на 2 больше максимального размера вводимой строки. Причем первый байт буфера должен задавать эту самую максимальную длину (фактически он будет содержать значение количества выделенных байтов памяти минус 2). Например, чтобы предусмотреть в программе ввод пользовательской строки из 50 символов, в сегменте данных нужно описать:
STRING DB 50, 51 DUP (?)
Чтение строки выполняется командами:
LEA DX, STRING ; указатель ан буфер поместить в DS:DX
MOV AH,0AH ; вызвать функцию А
INT 21H ; прочитать строку
Функция А помещает количество фактически введенных символов вво второй байт буфера STRING и не изменяет указатель DS:DX. Т.е. после выполнения команды INT первый информационный символ введенной строки находится по адресу (DX)+2.
Вряд ли хорошая пользовательская программа может обойтись без сообщений из программы. Это могут быть либо приглашения к вводу информации, либо сообщения о ходе выполнения программы. Такой сервис в программах на Ассемблере представляет функция 9 для работы с дисплеем. Приведем пример фрагмента программы для выдачи приглашения ‘Введите ФИО’. Для функции 9 необходимо, чтобы текст сообщения заканчивался символом ’
В командном сегментном коде предусмотрим команды вызова функции 9:
LEA DX, MESS1
MOV AH,9
INT 21H