Большинство регистров являются доступными косвенно. Каждая группа регистров (за исключением внешних регистров) включает адресный регистр. Адресный регистр используется для выбора модифицируемого регистра. Bce безадресные регистры (кроме внешних peгистров и регистров графической позиции) имеют индекс. Индекс помещается в адресный регистр, после чего выполняется доступ к нужному регистpy.
EGA и VGA также имеют 4 регистра-защелки, используемые во время доступа к памяти процессора. Регистры-защелки применяются для сохранения информации, находящейся в памяти, во время записи памяти процессора, для последующей передачи содержимого памяти в процессе чтения памяти процессора. Работа регистров-защелок в основном незаметна для пользователя и не связана непосредственно c процессором. Однако некоторые регистры графического контроллера непосредственно работают c содержимым регистров-защелок.
Большинство регистров EGA доступны только для записи и не доступны для чтения. Регистры VGA доступны для чтения/записи, за некоторым исключением.
Примеры программирования видеоподсистемы
Пример 1. Работа через BIOS
Приведенная ниже программа "пролистывает" четыре видеостраницы, останавливаясь на каждой из них. С каждым следующим циклом пауза становится короче. На каждой из страниц добавляется одно слово, формируя сообщение "This shows four pages".
data segment
msg1 db ' This'
msg2 db ' shows'
msg3 db ' four'
msg4 db ' pages.'
pse dw 0F000h ;длительность паузы при выводе
data ends
code segment public
assume CS:code
main proc far
start: push DS
sub AX,AX
push AX
mov AX,data ;получить размещение сегмента данных
mov ES,AX ;установить ES для вызова функции
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.