Аппаратное обеспечение IBM PC



Определение типа компьютера и версии BIOS


У вас есть две возможности определить модель компьютера и получить некоторую информацию о конфигурации - прочитать эту информацию из ячеек ПЗУ BIOS, или вызвать одну из функций прерывания INT15h, возвращающую адрес таблицы конфигурации.

ПЗУ BIOS содержит по адресу FFFF:FFFE байт, значение которого можно использовать для идентификации типа компьютера:

FF оригинальный IBM PC;
FE XT, Portable PC;
FD PCjr;
FC AT;
FB XT с памятью 640 К на материнской плате;
FA PS/2 модель 25 или 30;
F9 Convertible PC;
F8 PS/2 модели 55SX, 70, 80;
9A Compaq XT, Compaq Plus;
30 Sperry PC;
2D Compaq PC, Compaq Deskpro

Для определения модели компьютера таким способом мы предлагаем следующую функцию:

/** *.Name pc_model * *.Title Определить модель компьютера * *.Descr Функция возвращает байт, идентифицирующий * модель персонального компьютера * *.Params Нет * *.Return Код модели персонального компьютера: * * FF оригинальный IBM PC; * FE XT, Portable PC; * FD PCjr; * FC AT; * FB XT с памятью 640 К на материнской плате; * FA PS/2 модель 25 или 30; * F9 Convertible PC; * F8 PS/2 модели 55SX, 70, 80; * 9A Compaq XT, Compaq Plus; * 30 Sperry PC; * 2D Compaq PC, Compaq Deskpro. * **/

#include <stdio.h> #include <dos.h> #include "sysp.h"

char unsigned pc_model(void) {

char unsigned _far *modptr;

modptr = FP_MAKE(0xf000,0xfffe);

return *modptr; }

Функция pc_model() возвращает байт, идентифицирующий код компьютера. В большинстве случаев вам достаточно проверить этот байт и сделать вывод о типе компьютера и составе его аппаратных средств.

Более подробную информацию можно получить, вызвав функцию C0h прерывания BIOS INT 15h:

На входе: AH = C0h

На выходе: ES:BX = адрес таблицы конфигурации, таблица находится в ПЗУ BIOS;

CF = 0 при успешном вызове прерывания; CF = 1 если данная версия BIOS не поддерживает функцию C0h.

После выполнения прерывания регистры ES:BX будут указывать на таблицу в области ПЗУ BIOS. В этой таблице имеется более точная информация о типе компьютера, номер версии BIOS, сведения об аппаратных особенностях конкретной модели.




Содержание  Назад  Вперед