Код модели компьютера и версия BIOS - Аннотация
.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
  • gramota.bystrickaya.ru/zelenij-petuh-vstrechaet-belogo-aista-novosti-iz-razlichnih-istochnikov-22.html
  • school.bystrickaya.ru/elektronnie-vidi-informacionnih-resursov-v-oblasti-socialno-ekonomicheskih-i-gumanitarnih-znanij-koncepciya-razrabotki.html
  • letter.bystrickaya.ru/nauchno-populyarnaya-chast-soderzhanie-dissertacii-i-avtoreferata.html
  • turn.bystrickaya.ru/plan-prakticheskih-zanyatij-po-farmakologii-dlya-studentov-3-kursa-lechebnogo-fakulteta-na-osennij-v-semestr.html
  • universitet.bystrickaya.ru/t-e-m-a-20-povtorenie-metodika-sistemi-raboti-po-formirovaniyu-orfograficheskoj-zorkosti-u-uchashihsya-25.html
  • credit.bystrickaya.ru/polozhenie-oblastnogo-konkursa-zashiti-ozonovij-sloj-i-klimat-zemli.html
  • education.bystrickaya.ru/4-10-1-niccolum-sulphuricum-stranica-10.html
  • education.bystrickaya.ru/3grazhdanskoe-obshestvo-kurs-lekcij-novosibirsk-201.html
  • write.bystrickaya.ru/glava-iii-lichnij-adyutant-verhovnogo-komanduyushego-russkimi-vojskami-generala-kornilova-kapitan-pokrovskij-netoroplivo.html
  • kontrolnaya.bystrickaya.ru/proizvedeniya-predostavleni-dlya-oznakomleniya-stranica-100.html
  • tetrad.bystrickaya.ru/v-m-bakusev-zam-predsedatelya-yu-v-bozhko-a-v-gofman-v-v-sapov-l-s-chibisenkov-predsedatel-perevod-s-nemeckogo-a-k-sudakova-nomer-stranici-predshestvuet-stranice-prim-skanirovshika-stranica-8.html
  • institute.bystrickaya.ru/eto-samoe-mesto-kotoroe-ti-nazivaesh-izgnaniem-stranica-8.html
  • literatura.bystrickaya.ru/rekomendovano-osnovnaya-obrazovatelnaya-programma-visshego-professionalnogo-obrazovaniya.html
  • report.bystrickaya.ru/kniga-prodolzhaet-seriyu-100-velikih-stranica-46.html
  • knowledge.bystrickaya.ru/metodicheskoe-pismo-o-provedenii-gosudarstvennogo-vipusknogo-ekzamena-po-russkomu-yaziku-i-matematike-v-2010-2011-uchebnom-godu-stranica-2.html
  • laboratornaya.bystrickaya.ru/rabochaya-programma-professionalnogo-modulya-pm-01-uchastie-v-proektirovanii-zdanij-i-sooruzhenij.html
  • student.bystrickaya.ru/3-voennaya-operaciya-na-r-halhin-gol-v-1939-g-i-v-shepelina-nauchnij.html
  • essay.bystrickaya.ru/dt-aribzhanov-m-v-avdeenko-3-d-t-aribzhanov-7-o-n-asadchikova-11-e-v-belyaeva-16-o-a-beher-17.html
  • shkola.bystrickaya.ru/proekt-modernizacii-ceha-proizvodstva-marmelada-s-razrabotkoj-fasovochnogo-oborudovaniya-predpriyatiya-oao-kezskij-pishekombinat-sever.html
  • shpora.bystrickaya.ru/yavlyaetsya-kompleksnoj-sistemoj-ochistki-stochnih-vod-dlya-domov-s-postoyannim-prozhivaniem-4-h-6-ti-chelovek-obyom-stochnoj-vodi-do-1-m-v-sutki.html
  • uchebnik.bystrickaya.ru/urokam-dlya-uchitelya-po-uchebnomu-predmetu-russkaya-hudozhestvennaya-kultura-stranica-16.html
  • composition.bystrickaya.ru/organizacii-invalidov-fotokonkurs-ya-i-mama-obyavil-krasnogvardejskij-otdel-soczashiti-s-4-teplij-dom-dlya-semej.html
  • ucheba.bystrickaya.ru/predmetnij-ukazatel-k-r-popper-karl-r-popper-objective-knowledge-an-evolutionary-approach.html
  • esse.bystrickaya.ru/programma-reshenie-uravnenij-s-modulem-uchebnij-kurs-predprofilnoj-podgotovki-dlya-uchashihsya-9-h-klassov-s-orientaciej-na-nauchnoestestvennij-profil-12-chasov.html
  • studies.bystrickaya.ru/kpcnb-imlihacheva-65570-otdel-nauchno-issledovatelskoj-i-metodicheskoj-raboti.html
  • credit.bystrickaya.ru/okazivayushaya-polnij-spektr-perevodcheskih-i-yuridicheskih-uslug-v-moskve-sankt-peterburge-priglashaet-k-sotrudnichestvu-studentov-fakulteta.html
  • laboratornaya.bystrickaya.ru/razdel-3-utverzhdayu.html
  • kolledzh.bystrickaya.ru/azamatti-sot-sn-zhrgzuge-advokatti-atisui-zekt-mseleler-mejrbekova-g-b.html
  • doklad.bystrickaya.ru/urok-rossiya-v-mirovom-soobshestve-cel-uroka.html
  • ucheba.bystrickaya.ru/prilozhenie-4-nekotorie-meri-po-obespecheniyu-bezopasnosti-dlya-nebolshih-centrov-gst-ustarelo.html
  • crib.bystrickaya.ru/gosudarstvennoe-strategicheskoe-planirovanie-socialno-ekonomicheskogo-razvitiya-regiona-modelirovanie-socialno-ekonomicheskih-processov.html
  • tetrad.bystrickaya.ru/v-zavis-ot-sferi-v-kotvostrebov-yazik-videl-5-funkc-razdelov-voprosi-k-gosudarstvennomu-ekzamenu-po-napravleniyu.html
  • predmet.bystrickaya.ru/slagaemie-avtoriteta-rukovoditelya.html
  • knigi.bystrickaya.ru/skazka-ch-1-stranica-4.html
  • books.bystrickaya.ru/duhovnoe-kraevedenie-podmoskovya.html
  • © bystrickaya.ru
    Мобильный рефератник - для мобильных людей.