.RU

Код модели компьютера и версия BIOS - Аннотация


^ Код модели компьютера и версия BIOS
На этапе инициализации BIOS записывает в свою область данных по адресу FFFFh:FFFEh байт идентификатора модели компьютера. Ниже мы привели возможные значения этого байта:


Байт

Модель компьютера

FF

IBM PC

FE

IBM XT, Portable PC

FD

PCjr

FC

^ IBM PC/AT

FB

IBM XT с памятью 640 Кбайт на системной плате

FA

IBM PS/2 модель 25 или 30

F9

Convertible PC

F8

IBM PS/2 модели 55SX, 70, 80

9A

Compaq XT, Compaq Plus

30

Sperry PC

2D

Compaq PC


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

Регистры на входе:

AH = C0h

Регистры на выходе:

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

CF = 0 при успешном вызове прерывания;

CF = 1 если в данной версии BIOS функция C0h не реализована


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

Приведем формат указанной таблицы:


Смещение

Размер, байт

Описание

0

2

Размер таблицы в байтах

2

1

Код модели

3

1

Дополнительный код модели

4

1

Модификация версии BIOS

5

1

Байт конфигурации аппаратных средств

6

2

Зарезервировано и равно 0

8

2

Зарезервировано и равно 0


Ниже мы привели описание отдельных бит байта конфигурации аппаратных средств.


^ Номер бита

Описание

0

Зарезервирован

1

Если этот бит установлен в 1, то используется системная шина Micro Channel, в противном случае – шина ISA

2

Применяется расширенная область данных BIOS

3

В BIOS реализована функция ожидания внешнего события

4

Каждый раз после вызова прерывания от клавиатуры INT 9h вызывается функция 4Fh прерывания INT 15h

5

Установлены часы реального времени

6

Установлен второй контроллер прерываний 8259

7

Канал DMA номер 3 используется BIOS для работы с диском


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


^ Код модели

Доп. код модели

Модификация версии BIOS

Тип компьютера

FFh

-

-

Оригинальная версия IBM PC

FEh

-

-

IBM PC/XT

FDh

-

-

PCjr

FCh

00h

01h

IBM PC/AT, модель 239

FCh

01h

00h

^ IBM PC/AT

FCh

02h

00h

IBM PC/XT-286

FCh

04h

00h

IBM PS/2 модель 50

FCh

05h

00h

IBM PS/2 модель 60

FBh

00h

01h

IBM PC/XT

FBh

00h

02h

IBM PC/XT

FAh

00h

00h

IBM PS/2 модель 30

FAh

00h

01h

IBM PS/2 модель 30

FAh

01h

00h

IBM PS/2 модель 25

F9h

00h

00h

PC Convertible

F8h

00h

00h

IBM PS/2 модель 80 с тактовой частотой 16 Мгц

F8h

01h

00h

IBM PS/2 модель 80 с тактовой частотой 20 Мгц

F8h

04h

02h, 03h

IBM PS/2 модель 70

F8h

09h

02h, 03h

IBM PS/2 модель 70

F8h

0Ch

00h

IBM PS/2 модель 55 SX

F8h

1Bhh

00h

IBM PS/2 модель 70-486

9Ah

-

-

Compaq XT или Compaq Plus

30h

-

-

Sperry PC

2Dh

-

-

Compaq PC или Compaq Deskpro


Символ "-" в приведенной выше таблице означает, что функция C0h прерывания INT 15h для данной версии BIOS не реализована. Все, что вы можете сделать в этом случае для идентификации BIOS, это получить байт кода модели по адресу F000h:FFFEh и дату изготовления BIOS, занимающую восемь байт начиная с адреса F000h:FFF5h. Дата хранится в формате ASCII.

Большинство современных так называемых IBM-совместимых персональных компьютеров имеют код модели FCh, а дополнительный код модели 01h. Такие значения, например, записаны в таблице конфигурации компьютера Compaq Deskpro 6000 с процессором Pentium Pro 200.
^ Программа BIOSINFO
Программа BIOSINFO получает и отображает на консоли дату изготовления версии BIOS, а также содержимое таблицы конфигурации, адрес которой определяется с помощью функции C0h прерывания BIOS INT 15h:

BIOSINFO (C)A. Frolov, 1997


BIOS data: 04/18/97

BIOSINFO address: 0212:0190

BIOSINFO Size: 8

Model: FC

SubModel: 1

BIOS Revision: 0

Hardvare Cfg: 70

Reserved1: 00

Reserved2: 00


Hardware configuration

----------------------

Second IRQ Controller 8259

Real Time Clock

Used function 4Fh INT 15h

ISA Bus installed

Исходный текст программы представлен в листинге 1.2.

Листинг 1.2. Файл biosinfo\biosinfo.c

// =====================================================

// Получение информации о BIOS

//

// (C) Фролов А.В, 1997

//

// E-mail: frolov@glas.apc.org

// WWW: http://www.glasnet.ru/~frolov

// или// http://www.dials.ccas.ru/frolov

// =====================================================

#include

#include

#include


// Структура области данных с информацией о BIOS

typedef struct _BIOSINFO

{

int nSize; // размер структуры

unsigned char bModel; // код модели компьютера

unsigned char bSubModel; // дополнительный код модели

unsigned char bBIOSRevision; // номер изменений

// версии BIOS

unsigned char bHardwareCfg; // конфигурация аппаратуры

int reserved1; // зарезервировано

int reserved2; // зарезервировано

} BIOSINFO;


int main(void)

{

union REGS rg;

struct SREGS srg;

int i;

BIOSINFO far *lpbi;

void far* lp;

unsigned char bHdwCfg;


printf("\nBIOSINFO (C)A. Frolov, 1997");


// Конструируем указатель на дату изготовления

// BIOS. Эта дата записана в ПЗУ по адресу F000h:FFF5h

_FP_SEG(lp) = 0xf000;

_FP_OFF(lp) = 0xfff5;


// Выводим дату на экран

printf("\n\nBIOS data: ");

for(i=0; i<8; i++)

putch(*((char far *)lp + i));


// Вызываем функцию C0h для получения адреса

// таблицы конфигурации компьютера.

rg.h.ah = 0xc0;

int86x(0x15, &rg, &rg, &srg);


// Если в BIOS нет данной функции,

// читаем код модели компьютера

// из ПЗУ по адресу F000h:FFFEh

if(rg.x.cflag == 1)

{

printf("\nFunction C0h INT 15h not supported\n");


// Конструируем указатель на код модели

_FP_SEG(lp) = 0xf000;

_FP_OFF(lp) = 0xfffe;


// Выводим код модели компьютера на экран

printf("\nModel: %02.2X",

(unsigned char)(*(char far *)lp));

return(-1);

}

// Конструируем укзатель на таблицу

// информации о BIOS

_FP_SEG(lpbi) = srg.es;

_FP_OFF(lpbi) = rg.x.bx;


// Выводим на экран содержимое таблицы

printf("\nBIOSINFO address: %Fp"

"\nBIOSINFO Size: %d"

"\nModel: %02.2X"

"\nSubModel: %d"

"\nBIOS Revision: %d"

"\nHardvare Cfg: %02.2X"

"\nReserved1: %02.2X"

"\nReserved2: %02.2X",

lpbi, lpbi->nSize, lpbi->bModel, lpbi->bSubModel,

lpbi->bBIOSRevision, lpbi->bHardwareCfg,

lpbi->reserved1, lpbi->reserved2);

// Определяем конфигурацию компьютера

printf("\n\nHardware configuration"

"\n----------------------");


// Запоминаем байт конфигурации

bHdwCfg = lpbi->bHardwareCfg;


// Расшифровываем байт конфигурации

if(bHdwCfg & 0x80)

printf("\nDMA Channel 3");

if(bHdwCfg & 0x40)

printf("\nSecond IRQ Controller 8259");


if(bHdwCfg & 0x20)

printf("\nReal Time Clock");


if(bHdwCfg & 0x10)

printf("\nUsed function 4Fh INT 15h");


if(bHdwCfg & 0x8)

printf("\nBIOS event wait supported");


if(bHdwCfg & 0x4)

printf("\nExtended BIOS data used");


if(bHdwCfg & 0x2)

printf("\nMicro Channel Bus");


if(!(bHdwCfg & 0x2))

printf("\nISA Bus installed\n");

getch();

return 0;

}

kollektivnij-dogovor-polozhenie-ob-organizacii-raboti-po-ohrane-truda-v-otrasli-svyaz-o-sisteme-upravleniya-ohranoj.html
kollektivnij-dogovor-stranica-4.html
kollektivnij-dogovor-v-respublike-kazahstan.html
kollektivnij-sbornik-stihov.html
kollektivnoe-bessoznatelnoe-kak-priem-semanticheskogo-razvertivaniya-teksta-na-materiale-poeticheskoj-knigi-n-gumileva-ognennij-stolp.html
kollektivnoe-sostavlenie-algoritma-1-metodi-organizacii-intellektualno-rechevoj-deyatelnosti-shkolnikov.html
  • universitet.bystrickaya.ru/tajnij-plan-elvin-toffler.html
  • znanie.bystrickaya.ru/amangeldievna-sovershenstvovanie-mehanizma-funkcionirovaniya-kreditnogo-rinka-na-materialah-bankov-vtorogo-urovnya-rk-08-00-10-finansi-denezhnoe-obrashenie-i-kredit.html
  • credit.bystrickaya.ru/plan-prospekt-kursovih-meropriyatij-gosudarstvennogo-obrazovatelnogo-uchrezhdeniya-respubliki-kareliya-dopolnitelnogo-professionalnogo-obrazovaniya-povisheniya-kvalifikacii-specialistov.html
  • institut.bystrickaya.ru/sravnitelnij-portret-muzhskoj-populyacii-izmerenie-urovnya-samoaktualizacii-o-geometrii-tela-i-duha.html
  • write.bystrickaya.ru/glava-vosmaya-podmasterya-sergej-palij-monohrom.html
  • crib.bystrickaya.ru/kak-pomoch-rebenku-levshe-esli-rebenok-levsha.html
  • kontrolnaya.bystrickaya.ru/razdel-6-fizicheskie-osnovi-poluprovodnikovoj-elektroniki-v-i-braginskij-v-p-bazhenov.html
  • letter.bystrickaya.ru/municipalnoe-pravo.html
  • spur.bystrickaya.ru/letayushie-monstri-vitalij-aleksandrovich-simonov.html
  • upbringing.bystrickaya.ru/l-s-barishnikova-kompyuternaya-verstka.html
  • teacher.bystrickaya.ru/glava-4-dostovernost-biblii-dzhosh-makdauell.html
  • obrazovanie.bystrickaya.ru/pravit-v-kulture-i-iskusstve-gagarin-yurij-alekseevich.html
  • college.bystrickaya.ru/353-primenenie-induktivnih-ip-sertifikaciya.html
  • obrazovanie.bystrickaya.ru/programma-orenburg-2005-organizacionnij-komitet-konferencii-predsedatel.html
  • literatura.bystrickaya.ru/sedmaya-ramochnaya-programma-nauchno-tehnologicheskogo-sotrudnichestva-es-7rp-programma-stranica-7.html
  • klass.bystrickaya.ru/4-solnechnie-mostovie-dzhejms-bollard.html
  • zanyatie.bystrickaya.ru/student-dolzhen-znat-gou-vpo-mgmsu-roszdrava-akademicheskij-kalendar-studenta-ii-kursa.html
  • nauka.bystrickaya.ru/upominanie-ekspertnaya-statya-stranica-9.html
  • report.bystrickaya.ru/kitaj-v-mirovoj-ekonomike-chast-4.html
  • shpargalka.bystrickaya.ru/vichislitelnie-metodi-linejnoj-algebri.html
  • teacher.bystrickaya.ru/formirovanie-strategicheskogo-upravleniya-kak-faktor-povisheniya-konkurentosposobnosti-firmi.html
  • knigi.bystrickaya.ru/sovetskij-chervonec.html
  • exchangerate.bystrickaya.ru/list-vkladka-rabochej-programmi-uchebnoj-disciplini-uchebno-metodicheskij-kompleks-uchebnoj-disciplini-pravoohranitelnie.html
  • shpargalka.bystrickaya.ru/vihodyat-na-arenu-silachi-golomolzin-evgenij-golomzina-marina-grani-novogo-mira.html
  • ekzamen.bystrickaya.ru/sabati-tairibi-tema-zanyatiya-theme-sharl-perro-debi-ertegler-sabati-lgs-tip-zanyatiya-type-of-the-lesson-aralas.html
  • literature.bystrickaya.ru/bibliograficheskij-spisok-tehnologiya-produktov-obshestvennogo-pitaniya.html
  • zadachi.bystrickaya.ru/proizvodstvo-betonnih-rabot-pri-stroitelstve-gidrotehniche-skih-sooruzhenij.html
  • apprentice.bystrickaya.ru/vselennaya-bez-singulyarnostej-chast-2.html
  • crib.bystrickaya.ru/icebookreaderprofessionalheaderstart-stranica-28.html
  • student.bystrickaya.ru/13-socialnaya-politika-informaciya-o-vipolnenii-programmi-zakonoproektnih-rabot-tulskoj-oblastnoj-dumi-na-2008-god-118.html
  • essay.bystrickaya.ru/deyatelnost-komitetov-i-komissij-gd-gosduma-rf-monitoring-smi-1-iyunya-2007-g.html
  • zanyatie.bystrickaya.ru/programma-itogovoj-gosudarstvennoj-attestacii-gekgak-po-napravleniyu-istoriya.html
  • shkola.bystrickaya.ru/nalogooblozhenie-operacij-s-cennimi-bumagami-ukraina.html
  • lesson.bystrickaya.ru/ratnavali-ratnavali.html
  • shkola.bystrickaya.ru/naibolee-effektivno-ispolzovat-poluchennie-monitoringovie-dannie-programma-shilikovskoj-municipalnoj-srednej.html
  • © bystrickaya.ru
    Мобильный рефератник - для мобильных людей.