Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Belenko.doc
Скачиваний:
3
Добавлен:
28.10.2018
Размер:
193.02 Кб
Скачать

4.Відеосторінки і їх програмування. Етапи програмування.

Область видеопамяти 4000 байт наз. видеостраницей. Для VBA 8 видеостраниц. По умолчанию в стандартном режиме устанавливается нулевая видеостраница.

Каждую из 8 видеостр.можно запрограммировать. При программировании видеопамять удобно представить в виде ленты. Можно реализовать смену видеостраниц. Для каждой аппаратной части существует ячейка памяти портов. Можно обратиться к портам напрямую, можно использовать библиотеку BIOS и через нее обратиться к портам, можно обратиться к библиотеке DOS, которая обратиться к BIOS.

Для смены видеостраниц также можно использовать пятую функцию 10-го прерывания (05h):

MOV AH, 05h

MOV AL, Npage – № новой видеостр

INT 10h Функция 05h меняет точку входа (адрес) в видеопамять. Сущ. функция для уточнения № видеостр. (0Fh): MOV AH, 0Fh INT 10h

В результате в АL будет содержатся № текущей видеостраницы

Программная организация смены видеостраницы.

ячейки памяти 3d4h, 3d5h — порт видеоадаптера.

Для смены видеостраниц можно использовать пятую функцию прерывания 10h:

V_Page Macro N_Page

mov ah,05h

mov al,Npage

int 10h

ENDM

Функция 5 меняет адрес точки входа в видеопамять, пропускает 96 байт.

Макрос для уточнения номера страницы:

VidoePage Macro

mov ah, 0fh

int 10h

EndM

На выходе al = N — номер видеостраницы

Пропускная способность=разрядность*тактовая частота шины.Эта характеристика конкретной шины РС определяет то количество бит, или байт, или Мбайт информации, которое передается/принимается этой шиной за одну секунду.

2.Взаємодія мікропроцесора з текстовим відеобуфером. Байт атрибутів vga. (Проілюструвати фрагментом програми).

Байт атрибутов VGA.(Фрагмент прогр.)

Организация адресного пространства 1-го Мб в зависимости от модификаций компьютера может отличатся, но размещение адресов для некоторых важных компонент остаются унифицированы. Адресное пространство А0000h (640 Кб) … С0000h (768 Кб) зарезервировано для видео подсистем и наз. видеобуфером. Физически этой памяти в ОЗУ нет, она находится на видеокарте. Сегмент смещения остается точно таким же как для ОЗУ. Видеобуфер разбит на 2 равные части по 64 Кб: от А0000h до В0000h – графический видеобуфер, от В0000h до С0000h – текстовый видеобуфер. Текстовый видеобуфер состоит из 2 частей: черно-бел и цв.

Первые 256 Кб VGA адаптера разбиты на 4 цветовые плоскости или 4 банка памяти. Эти банки размещены в одном адресном пространстве МП, т.е. за 1 такт МП обращается ко всем 4 банкам, что обеспечивает быстродействие. Каждый из банков имеет свое функциональное значение. Банк 0 содержит номера ASCII (то есть номер символа в кодовой таблице), банк 1–атрибуты, банк 2–таблицу трансляции для преобразования в ASCII, банк 3 в текстовом режиме не используется. ЦАП преобразует цифры в аналоги, затем знакогенератор печатает.

Адресное пространство памяти видеоподсистемы называется видеобуфером. Находится в диапазоне A0000h (640 кб) — C0000h (768 кб). Физически данной памяти в ОЗУ компьютера нет, она находится на видеокарте.

Программная организация обращения к видеопамяти. При программировании VGA следует рассматривать видеопамять как отдельный сегмент памяти.

Необходимо:

- Настроить сегментный регистр на видеопамять. Для этого используется регистр ES. Для этого нужно записать в ES базовый адрес, начиная с которого мы обращаемся к видеопамяти.

- Выбрать место видеопамяти (адрес куда помещаем данные)

- Переслать из программы данные в видеопамять.

Пример:

mov ax,0b800h

mov es, ax

mov bx,((80*2)*n)+m*2; n – номер строки, m – номер столбца--------

mov al, 41h; - код символа ‘A’ -------загружаем видеопамять

mov ah,10101100b; - атрибут символа -------

mov ES:[bx], ax; -> в память. -------

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]