Первый операнд – адрес буфера ввода, второй – размер буфера ввода (до 128 байт).
При вызове процедуры компьютер переходит в состояние ожидания ввода с клавиатуры. Ввод завершается при нажатии клавиши «Enter». В буфере ввода после завершения операции находятся коды введенных символов. Строка завершается маркером конца строки (0Dh,0Ah), например, если пользователь ввел символы «+ 123» (между плюсом и 1 введен один пробел), то содержимое буфера в шестнадцатеричном виде будет следующим:
2B 20 31 32 33 0D 0A , где 2В16 – код ANSI символа «+», а 2016 – код пробела.
Таким образом, если пользователь ввел пробел, знак, буквы или цифры, то в буфере будут находиться их шестнадцатеричные коды.
Таким образом, при программировании операций ввода на ассемблере приходится осуществлять преобразования чисел из символьного представления во внутренний формат. Для целых чисел – это двоичный формат с фиксированной точкой, согласно которому отрицательные числа должны быть записаны в дополнительном коде.
Для облегчения преобразования во внутренний формат целесообразно оговорить возможные варианты ввода чисел в символьном виде, например, может или не может быть введен знак, возможны ли пробелы перед числом и т. д.
Алгоритм преобразования основан на схеме Горнера:
<число>:=<число>*10+<цифра>.
Алгоритм преобразованиядля положительных чисел без знакаследующий:
Число:=0