ХАНДЫФАР

Функция StringTitle преобразует каждый буквенный символ каждого слова в строке, завершающейся (\0) или 0, в верхний регистр. Если указатель на строку равен 0, функция завершает работу без изменений.

Параметры:

  • AX: Указатель на строку, завершающуюся (\0) или 0.

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

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

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

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

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

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

  1. title Автор: Довгополов Евгений Сергеевич
  2. .model small
  3. .stack 100h
  4. data segment public
  5. ____string db "супер сумасшедший и "
  6. ___________db "потрясающий программист\0"
  7. data ends
  8. code segment public
  9. ____assume _ds:data, cs:code
  10. ____include Handyfar.inc
  11. ____main proc
  12. ________call____SetDataSegment
  13. ________lea_____ax, ds:[string]
  14. ________call____StringTitle
  15. ________call____WriteString
  16. ________xor_____al, al
  17. ________call____ExitProcess
  18. ____main endp
  19. code ends
  20. end main
Функция StringTitle преобразует каждый буквенный символ каждого слова в строке, завершающейся (\0) или 0, в верхний регистр. Если указатель на строку равен 0, функция завершает работу без изменений.

Параметры:

  • AX: Указатель на строку, завершающуюся (\0) или 0.

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

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

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

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

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

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

  1. title Автор: Довгополов Евгений Сергеевич
  2. .model small
  3. .stack 100h
  4. data segment public
  5. ____string db "супер сумасшедший и потрясающий программист\0"
  6. data ends
  7. code segment public _____________; Начало сегмента кода
  8. ____assume _ds:data, cs:code
  9. ____include Handyfar.inc_________; Подключаем файл с функциями
  10. ____main proc ___________________; Начало процедуры main
  11. ________call____SetDataSegment___; Вызываем процедуру SetDataSegment
  12. ________lea_____ax, ds:[string]__; Загружаем адрес переменной string в регистр ds:ax
  13. ________call____StringTitle______; Вызываем процедуру StringTitle(ax:string)
  14. ________call____WriteString______; Вызываем процедуру WriteString(ax)
  15. ________xor_____al, al___________; Обнуляем регистр al
  16. ________call____ExitProcess______; Вызываем процедуру ExitProcess
  17. ____main endp ___________________; Конец процедуры main
  18. code ends _______________________; Конец сегмента кода
  19. end main ________________________; Конец файла. Точкой входа указывается процедура main
Made on
Tilda