Вывести пять мигающих символов в указанной позиции экрана - 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
Объяснение кода листинга программы
- Объявление переменной
VideoPage
для хранения номера активной видеостраницы. - Получение номера активной видеостраницы с помощью сервиса BIOS
int 10h
. - Сохранение номера активной видеостраницы в переменную
VideoPage
. - Установка курсора на 10-ю колонку и 0-ю строку с помощью сервиса BIOS
int 10h
. - Вывод символа 'A' с атрибутом 10 (основной атрибут) на активной видеостранице с помощью сервиса BIOS
int 10h
. - Повторение вывода символа 'A' с атрибутом 10 пять раз с помощью цикла
mov cx, 5
. - Завершение работы программы с помощью команды
int 21h
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д