VGA BIOS 您所在的位置:网站首页 网红段宏楠哪里人 VGA BIOS

VGA BIOS

2024-05-13 06:29| 来源: 网络整理| 查看: 265

Содержание 1 Список функций 2 POST 2.1 Функция 00h Set video mode 2.2 Функция 01h Set cursor size 2.3 Функция 02h Set cursor position 2.4 Функция 03h Get cursor position 2.5 Функция 04h Get light-pen position 2.6 Функция 05h Change active page display 2.7 Функция 0Eh  Write TTY Charecter 3 Ссылки/ используемая литература Список функций[] Int 10h Название AH BH Установить видеорежим. 00h Установить размер каретки 01h Установить позицию каретки. 02h Получить позицию каретки 03h Получить позицию светового пера 04h Сменить активную страницы дисплея. 05h Прокрутить активную страницу вверх 06h Прокрутить активную страницу ввниз 07h Считать символ и атрибут

(в позиции каретки)

08h Записать символ и атрибут

(в позиции каретки)

09h Считать символа в позицию каретки 0Ah Установить цвет 0Bh 00h Установить палитру 0Bh 01h Нарисовать пиксель 0Сh Считать пиксель 0Dh Вывести символ методом телетайпа. 0Eh Получить видео парамтеры 0Fh Напечатать страку 13h POST[]

После включения компьютера BIOS производит опрос системной шины на наличие периферии. Если среди таковой было найден графический адаптер, то он отображает его ПЗУ на диапазон физических адресов 0С0000h-СFFFFh. И перенаправляет запросы с вектора int 10h на эти адреса.

Для встроенной видеокарты используется встроенный сервис int 10h.

В дальнейшем BIOS производит установку начального видео режима, одного из ниже перечисленных: 

02 -  для чёрно-белого монитора. 03 -  для цветного монитора. 07 - для монохромного монитора. Функция 00h Set video mode[]

Установить видеорежим. 

Входные параметры: AH = 00hAL = Номер видео режима; очистка экранаВыходные параметры: отсутствуюОписание функции:

Функция имеет задержка  около 600 мс.  Для того чтобы монитор успел среагировать.

Стандартные VGA режимы 00h-13h. Если бит 7 в AL, равен 1 то экран не очищается.

Пример использования:

mov ah,0 ; функция выбора режима работы видеоадаптера mov al,mode ; выбираем режим mode int 10h ; Вызов прерывания видео сервиса.

Исходный код: Временно не приводиться в виду большого объёма кода. 

Функция 01h Set cursor size[]

Установить размер каретки. Входные параметры: AH = 01h CH=биты 0..4 верхняя линия курсора CL=биты 0..4 нижняя линия курсора Выходные параметры: отсутствуют Описание функции: Устанавливает размер каретки. Пример использования: Исходный код: Временно не приводиться в виду большого объёма кода. 

Функция 02h Set cursor position[]

Установить позицию каретки. Входные параметры: AH = 02h BH=страница для которой установить курсор. (0-текущая) DL=позиционный номер столбца[в символах] DH=позиционный номер стоки[в символах] Выходные параметры: отсутствую Описание функции:

Примечание! В таких эмуляторах как Bochs и Qemu необходимо разрешить аппаратное прерывания для работы данной функции.

Пример использования: Исходный код: Временно не приводиться в виду большого объёма кода. 

Функция 03h Get cursor position[]

Получить позицию каретки. Входные параметры: AH = 03h BH=страница для которой установить курсор. (0-текущая) Выходные параметры: CH=биты 0..4 верхняя линия курсора CL=биты 0..4 нижняя линия курсора DL=позиционный номер столбца[в символах] DH=позиционный номер стоки[в символах] Описание функции: Пример использования: Исходный код: Временно не приводиться в виду большого объёма кода. 

Функция 04h Get light-pen position[]

Получить позицию светового пера

Функция осталась на обочине истории. И не поддерживается. 

Входные параметры: AH = 04h Выходные параметры: AH=00 (означает что функция не активна) Описание функции:Пример использования: Исходный код: Временно не приводиться в виду большого объёма кода. 

Функция 05h Change active page display[]

Сменить активную страницу дисплея. Входные параметры: Выходные параметры: отсутствую Описание функции: Пример использования: Исходный код: Временно не приводиться в виду большого объёма кода. 

Функция 0Eh  Write TTY Charecter[]

Вывести символ методом телетайпа.

Выводит символ с обработкой служебных кодов таких как перевод строки.

Входные параметры: AH = 0Eh AL = Символ для записи BH = Display page number (text modes) BL = Foreground color (graphics modes) Выходные параметры: отсутствую Описание функции: При выводе по протоколу TTY используются следующие служебные символы и правила. 7 Биип, телефонный звонок8 Backspace, «пробел назад» или затирания последнего символа.10 Перевод каретки на новую строку13 возврат каретки в начало стоки

Остальные символы обрабатываются как простые знаки.

Но при их выводе надо учитывать:1)если строка закончится, то будет перенос на новую строку2)если закончились строки, то происходит прокрутка экрана вверх.3) При прокрутки вверх для заполнения используется атрибут последнего символа.

При затирании символов, надо учесть что: 1) если мы затираем символ с позицией 0, то мы должны остаться в этой позиции. После вывода любого символа происходит перемещение каретки. 

Пример использования: Исходный код: Временно не приводиться в виду большого объёма кода. 

Ссылки/ используемая литература[]

1. Описание БИОСа IBM PS/2; http://www.mcamafia.de/pdf/ps2bios2.pdf 2. Описание БИОСа Phoenix; http://www.esapcsolutions.com/ecom/drawings/PhoenixBIOS4_rev6UserMan.pdf 3. Библиотека системного программиста. Том 3. Программирование видеоадаптеров CGA, EGA и VGA http://www.frolov-lib.ru/books/bsp/v03/index.html 4. Руководствоп на BIOS от NVidia "NVidia BIOS V3XX Manual.doc"



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有