Функция
CapitalizeEx преобразует каждое предложение в строке в заглавную букву. Предложение считается завершённым, если встречается символ точки (.), восклицательного знака (!) или вопросительного знака (?). Строка должна завершаться нулём (\0) или 0. Если указатель на строку равен 0, функция завершает работу без изменений.
Функция
CapitalizeEx не выравнивает стек на 2 байта а сохраняет преобразованное значение на вершине стека и в регистре
AX. Это сделано для того чтобы иметь возможность вызвать функцию
WriteString или
WriteStringEx сразу после вызова функции
CapitalizeEx. Если после вызова функции
CapitalizeEx для вывода преобразованного символа используется функция
WriteString то, выравнивание стека лежит на программисте. Для того чтобы выровнять стек на 2 байта, после вызова функции
WriteString нужно написать следующую команду: add sp, 2.
Параметры:- Указатель на строку, завершающуюся нулём (\0) или 0. Если AX = 0, функция завершает работу.
Возвращаемое значение:- AX: Указатель на строку, завершающуюся нулём (\0) или 0.
Состояние флагов:- Функция не изменяет состояние флагов.
Особенности:- Функция преобразует первый символ каждого предложения в верхний регистр.
- Предложение определяется по символам завершения: ., !, ?.
- Функция не изменяет значения регистров, кроме AX.
- Строка должна завершаться нулём (\0), чтобы функция могла определить её конец.