Функция
Capitalize преобразует каждое предложение в строке в заглавную букву. Предложение считается завершённым, если встречается символ точки (.), восклицательного знака (!) или вопросительного знака (?). Строка должна завершаться нулём (\0) или 0. Если указатель на строку равен 0, функция завершает работу без изменений.
Параметры:- AX: Указатель на строку, завершающуюся нулём (\0) или 0. Если AX = 0, функция завершает работу.
Возвращаемое значение:- Функция не возвращает значение.
Состояние флагов:- Функция не изменяет состояние флагов.
Особенности:- Функция преобразует первый символ каждого предложения в верхний регистр.
- Предложение определяется по символам завершения: ., !, ?.
- Функция не изменяет значения регистров, кроме тех, которые используются для обработки строки.
- Строка должна завершаться нулём (\0), чтобы функция могла определить её конец.
- title Автор: Довгополов Евгений Сергеевич
- .model small
- .stack 100h
- data segment public
- ____string db "привет, Мир 8086 Ассемблера. как дела? ты в порядке? да, спасибо!\0"
- data ends
- code segment public _____________; Начало сегмента кода
- ____assume _ds:data, cs:code
- ____include Handyfar.inc_________; Подключаем файл с функциями
- ____main proc ___________________; Начало процедуры main
- ________call____SetDataSegment___; Вызываем процедуру SetDataSegment
- ________lea_____ax, ds:[string]__; Загружаем адрес переменной string в регистр ds:ax
- ________call____Capitalize_______; Вызываем процедуру Capitalize(ax:string)
- ________call____WriteString______; Вызываем процедуру WriteString(ax:string)
- ________xor_____al, al___________; Обнуляем регистр al
- ________call____ExitProcess______; Вызываем процедуру ExitProcess
- ____main endp ___________________; Конец процедуры main
- code ends _______________________; Конец сегмента кода
- end main ________________________; Конец файла. Точкой входа указывается процедура main