Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Формирование изображения в видеоадаптере VGA в графическом режиме
Цель работы: изучение организации и основных приемов работы с видеоадаптером ПК в графическом режиме.
При работе в графическом режиме программное обеспечение для вывода изображений на экран должно непосредственно управлять цветом всех точек на экране. Поэтому видеоадаптеры ПК в графическом режиме позволяют программно обратиться ко всем точкам экрана. Прообраз выводимого на экран монитора изображения записывается в видеопамять видеоадаптера. Прообраз – это закодированная информация по каждой точке экрана. Как известно, весь экран монитора разбивается на множество точек, размещенных по горизонтальным строкам (N) сканирования экрана. Количество точек (M) на каждой строке одинаковое. Общее количество точек экрана (M х N) называется разрешающей способностью экрана. В видеосистемах каждая точка экрана называется пиксель. В цветных видеосистемах цвет каждого пикселя определяется интенсивностью трех лучей: R-красный, G-зеленый, B-синий, сфокусированных в местоположение пикселя. Таким образом, изображение, получаемое на экране монитора, строится по экранным пикселям. При этом для каждого пикселя необходимо задавать его цвет. Видеоадаптер VGA поддерживает несколько монохромных и цветных графических режимов. Например, режим 11h является монохромным и имеет разрешение 640х480; режим 0Eh – цветной, имеет разрешение 640х200 и позволяет отображать 16 различных цветов; режим 13h – цветной, имеет разрешение 320х200 и позволяет отображать 256 различных цветов. Рассмотрим схему управления цветами в видеоадаптере VGA в цветном графическом режиме 13h. Пусть разрешающая способность экрана монитора – (M x N). При этом экран монитора разбивается на N строк (0, 1, 2,...... (N-1)), а строка состоит из M пикселей (0, 1, 2,..... (M-1)). Для записи информации о цвете каждого пикселя в графическом режиме в VGA отводится один байт. Адрес первой ячейки видеопамяти для видеоадаптера VGA – A000: 0000. Видеопамять организована линейно (рис. 3.1). В каждой ячейке видеопамяти хранится код Pij о цвете соответствующего этой ячейке пикселя, то есть пикселя, расположенного на i – ой строке и j – ой позиции в строке.
Строка 0 A000: 0000
Строка1
........ ........
Строка (Y-1)
........ Рис.3.1. Размещение информации в видеопамяти в текстовом режиме
Значение смещения (SM) от начала видеопамяти для байта, управляющего пикселем Pij с координатами (i, j), то есть расположенного на i-й строке и j-колонке на экране монитора, определяется по формуле:
SM = (M * j + i),
где M – общее количество пикселей, расположенных на одной линейке. Для видеорежима 13h значение М=320, а значение N=200. Таким образом, всего точек 320х200, следовательно, для их изображения на дисплее требуется 64 Кбайт видеопамяти для работы в режиме 13h. Схема управления цветами в видеоадаптере VGA представлена на рис. 3.2. Видеоадаптер VGA работает с аналоговым монитором, имеющим три раздельных видеовхода R, G и B. Величина напряжения на каждом из них управляет соответственно интенсивностью красного, зеленого и синего изображения. Аналоговое напряжение для монитора формируется из двоичной цветовой информации при помощи трех цифро-аналоговых преобразователей (ЦАП). Цветовая 8-битовая информация, поступающая из ячейки видеопамяти с адресом A000: SM, через регистр адреса таблицы цветов преобразуется согласно таблице цветов в три 6-битовых сигнала для трех ЦАП. Одним из основных узлов в видеоадаптере VGA является RAMDAC (цифро-аналоговый преобразователь данных, хранящихся в его регистрах). Его назначение – преобразование кода цвета пикселя в аналоговый сигнал. В схему RAMDAC входят: - 256 18-разрядных регистров (именно эти регистры и образуют оперативную память RAM в узле RAMDAC); - выходной 18-разрядный регистр цвета (Рвых цвета), выходы которого соединяются с соответствующими входами ЦАП; - трехканальный 6-разрядный ЦАП.
Видеопамять А000: 0000 А000: SM
Регистр адреса таблицы цветов
18 18 бит Рвых цвета
На монитор
Рис. 3.2. Схема управления цветами (VGA)
Разрядность ЦАП определяет количество оттенков цвета, которые потенциально может сформировать видеоадаптер VGA, т.е. размер его палитры. Несложно подсчитать, что палитра составляет (26)3 = 218 = 262144 оттенков. Оттенок цвета текущего пикселя определяется кодом, записанным в выходной регистр цвета Рвых цвета. Однако на практике количество оттенков цвета, которые видеосистема VGA в состоянии отобразить одновременно, значительно меньше размера его палитры и равно количеству регистров цвета, т.е. 256. Видеоадаптер VGA не позволяет загрузить в выходной регистр цвета произвольное значение – туда заносятся данные только из регистров цвета, которых в видеоадаптере VGA насчитывается только 256. Содержимое регистров цвета ЦАП можно изменять программно, т.е. центральный процессор ПК как считывает данные регистров, так и записывает в них информацию. Для регистров цвета в адресном пространстве портов ввода-вывода ПК выделены адреса (3С6 –3С9)h. Однако для пользователей более удобным инструментом при работе с палитрами пикселей является драйвер монитора (программа обслуживания видеосистемы) INT 10h. Программа INT 10h позволяет выполнить множество операций обслуживания видеосистемы. Номер выполняемой операции устанавливается в регистре АН перед вызовом программы. Кроме того для выполнения конкретной операции необходимо перед вызовом программы задать некоторые исходные параметры. Для этого используются регистры микропроцессора. Рассмотрим операцию программы INT 10h при работе с регистрами цвета RAMDAC. Регистр АН=16 – выбор операций для видеосервиса VGA. Регистр AL=16 – выбор операции «Установить регистр цвета». ВХ – номер регистра RAMDAC; CH, CL, DH – шестибитовые коды интенсивностей зеленого, синего и красного цветов для выбранного регистра. Таким образом, при работе напрямую с видеопамятью в графическом режиме необходимо сделать следующее: 1. Перевести адаптер в графический режим (для лабораторной работы - функция 0 (AH=0, AL=13h) программы прерывания 10h прерывания 10h). 2. Начать работу с видеопамятью. 3. Изменить цвет выводимого на экран монитора рисунка, используя функцию 16 (АН=16, АL=16) программы прерывания 10h. 4. По окончании работы с программой вернуть адаптер в текстовый режим (функция 0 (AH=0, AL=3) программы прерывания 10h). Задание на лабораторную работу
Необходимо написать и отладить программу на ПК на языке Ассемблер, которая прямым доступом к видеопамяти в графическом режиме, выполнила следующие операции: а) формирование одноцветного фона экрана, закрашивая одним цветом весь экран монитора, для чего все ячейки видеопамяти VGA в графическом режиме заполнить одинаковым кодом; б) рисование на экране прямоугольника с координатами пикселей ((X1, Y1); (X2, Y1); (X2, Y2); (X1, Y2)) цветом отличным от установленного цвета фона (X – столбец, Y – строка пикселя на экране). Затем путем программного обращения к регистрам цвета RAMDAC изменить цвет прямоугольника путем изменения содержимого соответствующего регистра цвета. Алгоритм этой программы может быть, к примеру, следующий: 1. Установка работы видеосистемы в графический режим. 2. Инициализация ES, DI, CX (Инициализация регистра ES сегментным адресом видеобуфера и регистра DI начальным смещением в нем. Установка счетчика ячеек). 3. Формирование цвета фона экрана. Цвет фона выбрать по своему усмотрению. 4. Рисование прямоугольника с заданными координатами в соответствии с полученным номером задания. Цвет прямоугольника выбрать по своему усмотрению. 5. Изменение цвета прямоугольника в соответствии с полученным вариантом задания (параметр «С» в таблице заданий). 6. Переход в текстовый режим и выход из программы. Чтобы иметь возможность успеть посмотреть на экране результаты работы программы, необходимо после шагов 3, 4, 5 вызвать функцию 0 прерывания 16h (ожидание символа с клавиатуры).
Варианты заданий на лабораторную работу:
Содержание отчета по лабораторной работе Отчет должен содержать задание и текст программы с комментариями.
|