ХАНДЫФАР

Функция SetCursorPosition устанавливает позицию каретки (курсора) на экране текстового режима в указанные ряд и колонку.

Параметры:

  • AH: Номер ряда (строка), начиная с 0.
  • AL: Номер колонки (столбец), начиная с 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
  11. ________call____SetDataSegment
  12. ________mov_____ax, 0606h
  13. ________call____SetCursorPosition
  14. ________lea_____ax, ds:[string]
  15. ________call____WriteString
  16. ________xor_____al, al
  17. ________call____ExitProcess
  18. ____main endp
  19. code ends
  20. end main
Функция SetCursorPosition устанавливает позицию каретки (курсора) на экране текстового режима в указанные ряд и колонку.

Параметры:

  • AH: Номер ряда (строка), начиная с 0.
  • AL: Номер колонки (столбец), начиная с 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. ________mov_____ax, 0606h__________; Копируем новую позицию курсора в регистр ax
  13. ________call____SetCursorPosition__; Вызываем процедуру SetCursorPosition(ah:06, al:06)
  14. ________lea_____ax, ds:[string]____; Загружаем адрес переменной string в регистр ds:ax
  15. ________call____WriteString________; Вызываем процедуру WriteString(ax:string)
  16. ________xor_____al, al_____________; Обнуляем регистр al
  17. ________call____ExitProcess________; Вызываем процедуру ExitProcess
  18. ____main endp _____________________; Конец процедуры main
  19. code ends _________________________; Конец сегмента кода
  20. end main __________________________; Конец файла. Точкой входа указывается процедура main
Made on
Tilda