Не верю Солнцу, не верю Луне -Они просто крышки на дырах в Ад;И пусть говорят, что Дьявол во мне -Пусть; он мне и друг, и брат!
Следующая процедура считывает строку ASCIIZ с клавиатуры.

KbdInput$ proc ;POW35

; Входные данные: смещение строки в AX

; Выходные данные: строка ASCIIZ, прочитанная с клавиатуры. Регистры не сохраняются.

mov DI,AX ;смещение строки

mov DX,AX ;смещение буфера

mov CX,255 ;максимальное количество читаемых символов

mov BX,0 ;файловый хэндл клавиатуры

mov AH,3Fh ;читаем из файла (фактически - с клавиатуры)

int 21h

jc Input$_error ;если ошибка

dec AX ;убираем символ RETURN

add DI,AX ;смещение байта, расположенного в конце строки

Input$_error:

mov [DI],BL ;завершаем строку, записывая 0 в конец строки

ret

KbdInput$ endp