ХАНДЫФАР

Функция StringReverseEx обращает строку в обратном порядке, начиная с указанных позиций. Функция StringReverseEx автоматически выравнивает стек на 6 байт.

Параметры:

  1. Указатель на строку, завершающуюся (\0) или 0.
  2. Начальная позиция (индекс) для начала обращения строки.
  3. Конечная позиция (индекс) для завершения обращения строки.

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

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

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

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

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

  • Функция обращает строку в обратном порядке в пределах указанных позиций.
  • Если указатель на строку равен 0, функция завершает работу без изменений.

  1. title Автор: Довгополов Евгений Сергеевич
  2. .286C
  3. .model small
  4. .stack 100h
  5. data segment public
  6. ____string db "Довгополов Евгений "
  7. ___________db "Сергеевич\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____18
  16. ________push____11
  17. ________pushs___ds:[string]
  18. ________call____StringReverseEx
  19. ________pushs___ds:[string]
  20. ________call____WriteStringEx
  21. ________push____0
  22. ________call____ExitProcessEx
  23. ____main endp
  24. code ends
  25. end main
Функция StringReverseEx обращает строку в обратном порядке, начиная с указанных позиций. Функция StringReverseEx автоматически выравнивает стек на 6 байт.

Параметры:

  1. Указатель на строку, завершающуюся (\0) или 0.
  2. Начальная позиция (индекс) для начала обращения строки.
  3. Конечная позиция (индекс) для завершения обращения строки.

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

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

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

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

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

  • Функция обращает строку в обратном порядке в пределах указанных позиций.
  • Если указатель на строку равен 0, функция завершает работу без изменений.

  1. title Автор: Довгополов Евгений Сергеевич
  2. .286C
  3. .model small
  4. .stack 100h
  5. data segment public
  6. ____string db "Довгополов Евгений Сергеевич\0"
  7. data ends
  8. code segment public
  9. ____assume _ds:data, cs:code
  10. ____include Handyfar.inc_________; Подключаем файл с функциями
  11. ____include Handymac.inc_________; Подключаем файл с макросами
  12. ____main proc
  13. ________call____SetDataSegment___; Вызываем процедуру SetDataSegment
  14. ________push____18_______________; 3-й: Ложим на вершину стека конец
  15. ________push____11_______________; 2-й: Ложим на вершину стека начало
  16. ________pushs___ds:[string]______; 1-й: Ложим на вершину стека адрес переменной string
  17. ________call____StringReverseEx__; Вызываем процедуру StringReverseEx(string, 11, 18)
  18. ________pushs___ds:[string]______; Ложим на вершину стека адрес переменной string
  19. ________call____WriteStringEx____; Вызываем процедуру WriteStringEx(string)
  20. ________push____0________________; Ложим на вершину стека байтовое значение кода возврата
  21. ________call____ExitProcessEx____; Вызываем процедуру ExitProcess(0)
  22. ____main endp
  23. code ends
  24. end main
Made on
Tilda