Вывести пять мигающих символов в указанной позиции экрана - Assembler

Узнай цену своей работы

Формулировка задачи:

написать программу в masm Вывести пять мигающих символов "A" в 0-й строке 10-м столбце экрана

Решение задачи: «Вывести пять мигающих символов в указанной позиции экрана»

textual
Листинг программы
.model small
 
.stack 100h
 
.data
        VideoPage       db      ?       ;активная видеостраница
 
.code
 
main    proc
        mov     ax,     @data
        mov     ds,     ax
 
        ;перед установкой курсора на экране понадобится уточнить
        ; - номер видеостраницы
        ; - количество колонок на экране
        ; - количество строк на экране
        ;часть данных получаем через видеосервис BIOS
        mov     ah,     0Fh     ;уточнить параметры видеорежима
        int     10h             ;
        mov     [VideoPage],bh  ;номер текущей видеостраницы
        ;установка курсора на требуемую позицию
        ;0-я строка 10-я колонка
        mov     ah,     02h
        mov     bh,     [VideoPage]     ;видеостраница
        mov     dl,     10      ;столбец (от 0)
        mov     dh,     0       ;строка (от 0)
        int     10h
        ;вывод символов с атрибутами
        mov     ah,     09h
        mov     al,     'A'     ;символ
        mov     bh,     [VideoPage]     ;видеостраница
        mov     bl,     0Ah     ;attribute
        mov     cx,     5       ;количество повторов символа
        int     10h
 
        mov     ax,     4C00h
        int     21h
main    endp
 
end     main

Объяснение кода листинга программы

  1. Объявление переменной VideoPage для хранения номера активной видеостраницы.
  2. Получение номера активной видеостраницы с помощью сервиса BIOS int 10h.
  3. Сохранение номера активной видеостраницы в переменную VideoPage.
  4. Установка курсора на 10-ю колонку и 0-ю строку с помощью сервиса BIOS int 10h.
  5. Вывод символа 'A' с атрибутом 10 (основной атрибут) на активной видеостранице с помощью сервиса BIOS int 10h.
  6. Повторение вывода символа 'A' с атрибутом 10 пять раз с помощью цикла mov cx, 5.
  7. Завершение работы программы с помощью команды int 21h.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5
Похожие ответы