Функция
ReadString считывает пользовательский ввод с клавиатуры и сохраняет его в подготовленном буфере, завершающемся нулём 0. Ввод завершается при нажатии клавиши Enter, после чего в буфер добавляется символ завершения строки 0.
Параметры:- AX: Указатель на буфер, в который будет сохранён пользовательский ввод.
Возвращаемое значение:- Функция не возвращает значение.
Состояние флагов:- Функция не изменяет состояние флагов.
Особенности:- Функция не изменяет значения регистров, кроме тех, которые используются для считывания ввода.
- Ввод завершается при нажатии клавиши Enter, после чего в буфер добавляется символ завершения строки 0.
- title Автор: Довгополов Евгений Сергеевич
- .model small
- .stack 100h
- data segment public
- ____askUser_db "Введите свое полное имя: \0"
- ____output__db "\nВаше полное имя \0"
- ____buffer__db 255 dup(0)
- data ends
- code segment public ______________; Начало сегмента кода
- ____assume _ds:data, cs:code
- ____include Handyfar.inc__________; Подключаем файл с функциями
- ____main proc ____________________; Начало процедуры main
- ________call____SetDataSegment____; Вызываем процедуру SetDataSegment
- ________lea_____ax, ds:[askUser]__; Загружаем адрес переменной askUser в регистр ds:ax
- ________call____WriteString_______; Вызываем процедуру WriteString(ax:askUser)
- ________lea_____ax, ds:[buffer]___; Загружаем адрес переменной buffer в регистр ds:ax
- ________call____ReadString________; Вызываем процедуру ReadString(ax:buffer)
- ________lea_____ax, ds:[output]___; Загружаем адрес переменной output в регистр ds:ax
- ________call____WriteString_______; Вызываем процедуру WriteString(ax:output)
- ________lea_____ax, ds:[buffer]___; Загружаем адрес переменной buffer в регистр ds:ax
- ________call____WriteString_______; Вызываем процедуру WriteString(ax:buffer)
- ________xor_____al, al____________; Обнуляем регистр al
- ________call____ExitProcess_______; Вызываем процедуру ExitProcess
- ____main endp ____________________; Конец процедуры main
- code ends ________________________; Конец сегмента кода
- end main _________________________; Конец файла. Точкой входа указывается процедура main