Функция
StringLengthEx вычисляет длину строки, завершающейся (\0) или 0. Если указатель на строку равен 0, функция возвращает длину 0. Функция
StringLengthEx автоматически выравнивает стек на 2 байта.
Параметры:- Указатель на строку, завершающуюся (\0) или 0.
Возвращаемое значение:- AX: Длина строки (количество символов до первого (\0) или 0).
Состояние флагов:- Функция не изменяет состояние флагов.
Особенности:- Если указатель на строку равен 0, функция возвращает длину 0.
- Функция не изменяет значения регистров, кроме AX.
- title Автор: Довгополов Евгений Сергеевич
- .286C
- .model small
- .stack 100h
- data segment public
- ____string db "Я могу говорить по-"
- ___________db "китайски\0"
- ____fmtout_db "Длина строки: '%s' = "
- ___________db "%d символов.\0"
- data ends
- code segment public
- ____assume _ds:data, cs:code
- ____include Handyfar.inc
- ____include Handymac.inc
- ____main proc
- ________call____SetDataSegment
- ________pushs___ds:[string]
- ________call____StringLengthEx
- ________push____ax
- ________pushs___ds:[string]
- ________call____ToUpperStringEx
- ________leaax___ds:[fmtout]
- ________call____PrintFormatString
- ________add_____sp, 4
- ________push____0
- ________call____ExitProcessEx
- ____main endp
- code ends
- end main