Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Определение конфигурации компьютера программными средствами.




Дополниетльный теоретический материал,

необходимый для выполнения лабораторной работы №2.

Определение конфигурации компьютера программными средствами.

 

Если ваша программа работает с устройствами компьютера на низком уровне или использует какие-либо аппаратные особенности периферии, она должна " уметь" определять конфигурацию аппаратных средств.

В настоящее время выпускается много различных моделей персональных компьютеров и серверных платформ. В компьютере могут быть установлены процессоры различных моделей и различные версии BIOS. Что же касается номенклатуры периферийных устройств, таких как сетевые контроллеры, видеоадаптеры, сетевые и звуковые адаптеры и т. д., то она практически безгранична.

Конфигурация аппаратных средств записывается в область данных BIOS и в энергонезависимую память CMOS специальной программой BIOS Setup.

BIOS

Подробную информацию о BIOS можно узнать в Разделе 1, подразделе «Загрузка ОС и прикладных программ».

Определение конфигурации с помощью BIOS.

Доступ к BIOS.

 

Для доступа к BIOS используются программные прерывания. При этом каждая точка входа в BIOS использует свой вектор прерываний. Если точка входа обслуживает несколько процедур ( называемых функциями BIOS ), то номер функции задается в регистре AH.

За процедурами BIOS закреплены прерывания Int 10h – Int 11Ah.

Например, Int 12h вызывает процедуру, которая возвращает вызвавшей ее программе размер оперативной памяти ПЭВМ.

Входные и выходные параметры процедур BIOS передаются в регистрах общего назначения центрального процессора ПЭВМ.

Например, для установки системного времени нужно подать следующие команды:

MOV AH, 1                               ; Функция 1 - установка времени

MOV CX, HIGH_COUNT                  ; CX: DX = новое значение времени MOV DX, LOW_COUNT

INT 1AH                                  ; Точка входа в BIOS, обслуживающая запросы к таймеру

Для чтения времени используется следующая программа:

MOV AH, 0                     ; Функция 0 - чтение времени

INT 1AH                      ; Запрос к BIOS. Результат будет возвращен в регистрах CX и DX.

Процедуры BIOS сохраняют значения всех регистров, кроме тех из них, в которых возвращаются значения.

Области данных BIOS.

 

Области данных BIOS - это либо области ОЗУ, в которых хранится текущая информация о состоянии ПЭВМ, либо области ПЗУ, в которых записаны аппаратные характеристики устройств.

Сведения о наличии основных устройств компьютера записывается в область данных BIOS с адресом 0000: 0410 размером в двухбайтовое слово - слово конфигурации. С помощью прерывания INT 11h программа может получить в регистре AX слово конфигурации из указанной выше области данных BIOS.

Функции BIOS.

Int 10h - Управление экраном:

Для варианта №12, Лабораторной работы №2 - Определить режим видеоадаптера (текстовый, графический, разрешение(BIOS 10h)).

00h Задание видеорежима

01h Задание формы курсора

02h Задание позиции курсора

03h Чтение позиции и формы курсора

04h Чтение позиции светового пера

05h Задание активной страницы дисплея

06h Прокрутка окна вверх

07h Прокрутка окна вниз

08h Чтение атрибута и символа в текущей позиции курсора

09h Вывод атрибута и символа в текущую позицию курсора

0Ah Вывод символа в текущую позицию курсора

0Bh Задание цветовой палитры

0Ch Вывод пикселя на экран

0Dh Чтение пикселя

0Eh Вывод символов в режиме телетайпа

0Fh Чтение текущего состояния дисплея

10h Установка регистров палитр (PCjr, EGA, VGA, MCGA)

11h Управление знакогенератором (EGA, VGA, MCGA)

12h Выбор альтернативы (EGA, VGA, MCGA)

13h Вывод строки на экран (многие ПЭВМ)

14h Управление плазменным дисплеем (Convertible)

15h Чтение параметров активного дисплея (Convertible)

1Ah Чтение/вывод кода комбинации дисплеев (PS/2)

1Bh Чтение функциональной информации (PS/2)

1Ch Сохранение/восстановление состояния дисплея (VGA)

Примечание. Функции 00h - 0Fh поддерживаются BIOS всех ПЭВМ (единственное исключение состоит в том, что BIOS не поддерживает графический режим монохромного адаптера Hercules ). Остальные функции реализуются только теми адаптерами и теми ПЭВМ, которые указаны в скобках после их описания (подробная информация о каждой функции приведена ниже).


Выбор режима работы - функция 00h

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

 

На входе: AH 00h
  AL Номер устанавливаемого режима работы видеоадаптера, если бит D7 = 1, то при установке режима видеопамять не очищается
На выходе:

Не используются

 

Приведем пример выбора режима видеоадаптера:

mov ah, 0

mov al, 3; Выбираем режим номер 3 (16 цветной, текстовый,

int   10h; разрешение 25х80 символов)

 

Информацию о видеоадаптерах и его режимах можно найти, например:

1. «Библиотека системного программиста» - Александр Фролов, Григорий Фролов Том 21, Программирование видеоадаптеров, М.: Диалог-МИФИ, 1995, 271 стр.

2. http: //www. codenet. ru/cat/Applications/Graphics/VGA-VESA-Standarts/

3. http: //www. codenet. ru/progr/video/vbe-svga. php

4. и т. д.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...