ХАНДЫФАР

Функция StringTrimEx удаляет начальные и конечные символы, указанные третьм параметром, из строки, завершающейся (\0) или 0. Если третий параметр = 0, по умолчанию удаляются пробелы. Функция StringTrimEx автоматически выравнивает стек на 6 байт.

Параметры:

  1. Указатель на строку, завершающуюся (\0) или 0.
  2. Указатель на буфер.
  3. Символ для удаления.

Возвращаемое значение:

  • Функция не возвращает значение.

Состояние флагов:

  • Функция не изменяет состояние флагов.

Особенности:

  • Функция не изменяет значения регистров.

  1. title Автор: Довгополов Евгений Сергеевич
  2. .286C
  3. .model small
  4. .stack 100h
  5. data segment public
  6. ____string db "------Привет Мир!--\0"
  7. ____buffer db 20 dup(0)
  8. data ends
  9. code segment public
  10. ____assume _ds:data, cs:code
  11. ____include Handyfar.inc
  12. ____include Handymac.inc
  13. ____main proc
  14. ________call____SetDataSegment
  15. ________push____'-'
  16. ________pushs___es:[buffer]
  17. ________pushs___ds:[string]
  18. ________call____StringTrimEx
  19. ________pushs___ds:[buffer]
  20. ________call____WriteStringEx
  21. ________push____0
  22. ________call____ExitProcessEx
  23. ____main endp
  24. code ends
  25. end main
Функция StringTrimEx удаляет начальные и конечные символы, указанные третьм параметром, из строки, завершающейся (\0) или 0. Если третий параметр = 0, по умолчанию удаляются пробелы. Функция StringTrimEx автоматически выравнивает стек на 6 байт.

Параметры:

  1. Указатель на строку, завершающуюся (\0) или 0.
  2. Указатель на буфер.
  3. Символ для удаления.

Возвращаемое значение:

  • Функция не возвращает значение.

Состояние флагов:

  • Функция не изменяет состояние флагов.

Особенности:

  • Функция не изменяет значения регистров.

  1. title Автор: Довгополов Евгений Сергеевич
  2. .286C
  3. .model small
  4. .stack 100h
  5. data segment public
  6. ____string db "------Привет Мир!--\0"
  7. ____buffer db 20 dup(0)
  8. data ends
  9. code segment public
  10. ____assume _ds:data, cs:code
  11. ____include Handyfar.inc________; Подключаем файл с функциями
  12. ____include Handymac.inc________; Подключаем файл с макросами
  13. ____main proc
  14. ________call____SetDataSegment__; Вызываем процедуру SetDataSegment
  15. ________push____'-'_____________; 3-й: Ложим на вершину стека значение символа '-'
  16. ________pushs___es:[buffer]_____; 2-й: Ложим на вершину стека адрес переменной buffer
  17. ________pushs___ds:[string]_____; 1-й: Ложим на вершину стека адрес переменной string
  18. ________call____StringTrimEx____; Вызываем процедуру StringTrimEx(string, buffer, '-')
  19. ________pushs___ds:[buffer]_____; Ложим на вершину стека адрес переменной buffer
  20. ________call____WriteStringEx___; Вызываем процедуру WriteStringEx(buffer)
  21. ________push____0_______________; Ложим на вершину стека байтовое значение кода возврата
  22. ________call____ExitProcessEx___; Вызываем процедуру ExitProcess(0)
  23. ____main endp
  24. code ends
  25. end main
Made on
Tilda