Функция
StringTrim удаляет начальные и конечные символы, указанные в регистре CL, из строки, завершающейся (\0) или 0 и сохраняет результат в подготовленном пользователем буфере. Если CL = 0, по умолчанию удаляются пробелы.
Параметры:- DS:AX: Указатель на строку, завершающуюся (\0) или 0.
- ES:BX: Указатель на буфер.
- CL: ___Символ для удаления. Если CL = 0, по умолчанию удаляются пробелы.
Возвращаемое значение:- Функция не возвращает значение.
Состояние флагов:- Функция не изменяет состояние флагов.
Особенности:- Функция не изменяет значения регистров.
ПРИМЕР 1:
- title Автор: Довгополов Евгений Сергеевич
- .model small
- .stack 100h
- data segment public
- ____string db "____Привет Мир!_\0"
- ____buffer_db 20 dup(0)
- data ends
- code segment public
- ____assume _ds:data, cs:code
- ____include Handyfar.inc
- ____main proc
- ________call____SetDataSegment
- ________xor_____cl, cl
- ________lea_____bx, es:[buffer]
- ________lea_____ax, ds:[string]
- ________call____StringTrim_
- ________lea_____ax, ds:[buffer]
- ________call____WriteString
- ________xor_____al, al
- ________call____ExitProcess
- ____main endp
- code ends
- end main
ПРИМЕР 2:
- title Автор: Довгополов Евгений Сергеевич
- .model small
- .stack 100h
- data segment public
- ____string db "-----Привет Мир!-\0"
- ____buffer_db 20 dup(0)
- data ends
- code segment public
- ____assume _ds:data, cs:code
- ____include Handyfar.inc_
- ____main proc
- ________call____SetDataSegment
- ________mov_____cl, '-'
- ________lea_____bx, es:[buffer]
- ________lea_____ax, ds:[string]
- ________call____StringTrim
- ________lea_____ax, ds:[buffer]
- ________call____WriteString
- ________xor_____al, al
- ________call____ExitProcess
- ____main endp
- code ends
- end main