- •Тема: «Графические операции в текстовом режиме дисплея»
- •Int 10h ;Установка курсора.
- •Int 10h ;Вывод символа.
- •Int 10h ;Установка курсора.
- •Int 10h ;Вывод символа
- •Int 10h ;Установка курсора.
- •Int 10h ;Вывод символа.
- •Int 10h ;Установка курсора
- •Int 10h ;Установка курсора.
- •Int 10h ;Вывод символа
- •Int 10h ;Установка курсора.
- •Int 10h ;Вывод символа.
- •Int 10h ;Установка курсора
- •Int 10h ;Вывод символа
Федеральное агентство связи
Федеральное государственное бюджетное образовательное
учреждение высшего образования
Поволжский государственный университет
телекоммуникаций и информатики
Кафедра Информационных систем и технологий
Лабораторная работа №8
По дисциплине «Архитектура информационной системы»
Тема: «Графические операции в текстовом режиме дисплея»
Вариант 51 и 54
Выполнили: студент
Руководитель :
__________________ Куляс О.Л.
Самара 2018
1 Цель работы Получение практических навыков использования системных прерываний BIOS и DOS для создания графических изображений на экране дисплея.
4.1 Разработать программу ELOCHKA для изображения на экране прямоугольной рамки размером в 15 строк по вертикали и 40 элементов по горизонтали, расположение которой выбирается в соответствии с последней цифрой номера студенческого билета:
ВАРИАНТ 51
1 – в левой верхней части экрана;
Для четных номеров рамка изображается с помощью одинарных горизонтальных и вертикальных линий, для нечетных – залитыми точками. Коды символов: горизонтальная черточка – 5Fh, вертикальная черточка – 7Сh, залитая точка – 07h , символ «звездочка» (код 2Аh). На вершине елочки поместить мигающий яркий символ «солнышко» (код 0Fh). 13 Вне рамки на свободном пространстве экрана в трех строках разместить поздравительную надпись, причем каждая строка текста должна иметь другой цвет.
TITLE ELOCHKA
;Программа построения графика функции в текстовом режиме экрана
;Входные параметры:
;массив значений элементов графика MAS
.MODEL SMALL
.DATA
A DB 'H A P P Y', 0Dh, 0Ah, '$'
ln1 =55+($ - A)-3
B DB 'N E W', 0Dh, 0Ah, '$'
ln2= 57+($ - B)-3
C DB 'Y E A R !', 0Dh, 0Ah, '$'
ln3 = 55+($ - C)-3
.STACK 256 (?)
.CODE
vertic PROC near
m:
mov AH, 02h ;установка позиции курсора
int 10h ;Установка курсора.
mov CX, 1 ;Выводим по одному символу
mov AL, 7 ;символ ТОЧКИ.
mov BL, 00001110b ;Атрибут: жёлтый по черному фону
mov AH, 09h ;Выбираем функцию вывода символа
int 10h ;Вывод символа.
inc DH ;Переход к координате Y+1.
cmp DH, 15
jb m
RET
vertic ENDP
gorizont PROC near
mov AH, 02h ;установка позиции курсора
Int 10h ;Установка курсора.
mov CX, 40 ;Длина цепочки символов.
mov AL,7 ;Символ точки
mov BL, 00001110b ;Атрибут: жёлтый по черному фону
mov AH, 09h ;Выбираем функцию вывода символа
Int 10h ;Вывод символа.
RET
gorizont ENDP
Start:
mov ax, 03;очистка окна консоли
int 10h
MOV AH, 06h ;Функция прокрутки вверх
MOV AL, 00h ;Очистка всего экрана
;-------- Построение вертикальной---левая
mov BH, 0 ;Используем страницу видеопамяти 0.
mov DL, 0 ;Номер столбца
mov DH, 0 ;Номер строки
CALL vertic
;-------------Построение горизонтальной ---нижняя
mov BH, 0
mov DL, 0 ;Координаты начальной позиции Х=5,
mov DH, 15 ;Y=15
CALL gorizont
;-------- Построение вертикальной --правая
mov BH, 0 ;Используем страницу видеопамяти 0.
mov DL, 39 ;Координаты начальной точки
mov DH, 0
CALL vertic
;-------------Построение горизонтальной верх----------
mov BH, 0
mov DL, 0 ;Координаты начальной позиции Х0,
mov DH, 0 ;Y=12.
CALL gorizont
;-------------Построене мигающей звёздочки-----------
mov BH, 0 ;Используем страницу видеопамяти 0.
mov DL, 20 ;Координаты начальной точки Х=20
mov DH, 6 ; Y = 6
mov AH, 02h ;Выбираем функцию установки курсора.