Функция
StringEndsWithEx проверяет, заканчивается ли первая строка с заданной второй подстроки. Функция
StringEndsWithEx автоматически выравнивает стек на 4 байта.
Параметры:- Указатель на первую строку, завершающуюся (\0) или 0.
- Указатель на вторую строку (подстроку), завершающуюся (\0) или 0.
Возвращаемое значение:- ZF = 1: Если первая строка заканчивается с заданной подстроки.
- ZF = 0: Если первая строка не заканчивается с заданной подстроки.
Состояние флагов:- Функция влияет на все флаги.
Особенности:- Функция не изменяет значения регистров.
- title Автор: Довгополов Евгений Сергеевич
- .286C
- .model small
- .stack 100h
- data segment public
- ____string ___db "Евгений Довгополов\0"
- ____mName_____db "полв\0"
- ____msg_true _db "Строка '%s' "
- ______________db "заканчивается на "
- ______________db "'%s'\0"
- ____msg_false db "Строка '%s' не "
- ______________db "заканчивается на "
- ______________db "'%s'\0"
- data ends
- code segment public
- ____assume _ds:data, cs:code
- ____include Handyfar.inc
- ____include Handymac.inc
- ____main proc
- ________call____SetDataSegment
- ________pushs___es:[mName]
- ________pushs___ds:[string]
- ________call____StringEndsWithEx
- ________jne_____@False
- ________pushs___ds:[mName]
- ________pushs___ds:[string]
- ________leaax___ds:[msg_true]
- ________jmp_____@Done
- ____@False:
- ________pushs___ds:[mName]
- ________pushs___ds:[string]
- ________leaax___ds:[msg_false]
- ____@Done:
- ________call____PrintFormatString
- ________add_____sp, 4
- ________push____0
- ________call____ExitProcessEx
- ____main endp
- code ends
- end main