ХАНДЫФАР

Функция StringAbbreviateEx создаёт аббревиатуру из указанной строки, состоящую из первых букв каждого слова, и сохраняет её в подготовленном буфере. Функция StringAbbreviateEx автоматически выравнивает стек на 4 байта.

Параметры:

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

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

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

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

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

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

  • Слово определяется как последовательность букв, разделённая пробельными символами.
  • Функция не изменяет значения регистров.

  1. title Автор: Довгополов Евгений Сергеевич
  2. .286C
  3. .model small
  4. .stack 100h
  5. data segment public
  6. ____string _db "Объединенные Арабские "
  7. ____________db "Эмираты\0"
  8. ____strabbr db 10 dup(0)
  9. data ends
  10. code segment public
  11. ____assume _ds:data, cs:code
  12. ____include Handyfar.inc
  13. ____include Handymac.inc
  14. ____main proc
  15. ________call____SetDataSegment
  16. ________pushs___es:[strabbr]
  17. ________pushs___ds:[string]
  18. ________call____StringAbbreviateEx
  19. ________pushs___ds:[strabbr]
  20. ________call____WriteStringEx
  21. ________push____0
  22. ________call____ExitProcessEx
  23. ____main endp
  24. code ends
  25. end main
Функция StringAbbreviateEx создаёт аббревиатуру из указанной строки, состоящую из первых букв каждого слова, и сохраняет её в подготовленном буфере. Функция StringAbbreviateEx автоматически выравнивает стек на 4 байта.

Параметры:

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

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

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

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

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

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

  • Слово определяется как последовательность букв, разделённая пробельными символами.
  • Функция не изменяет значения регистров.

  1. title Автор: Довгополов Евгений Сергеевич
  2. .286C
  3. .model small
  4. .stack 100h
  5. data segment public
  6. ____string _db "Объединенные Арабские Эмираты\0"
  7. ____strabbr db 10 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. ________pushs___es:[strabbr]________; 2-й: Ложим на вершину стека адрес переменной strabbr
  16. ________pushs___ds:[string]_________; 1-й: Ложим на вершину стека адрес переменной string
  17. ________call____StringAbbreviateEx__; Вызываем процедуру StringAbbreviateEx(string, strabbr)
  18. ________pushs___ds:[strabbr]________; Ложим на вершину стека адрес переменной strabbr
  19. ________call____WriteStringEx_______; Вызываем процедуру WriteStringEx(strabbr)
  20. ________push____0___________________; Ложим на вершину стека байтовое значение кода возврата
  21. ________call____ExitProcessEx_______; Вызываем процедуру ExitProcess(0)
  22. ____main endp
  23. code ends
  24. end main
Made on
Tilda