.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
  • exchangerate.bystrickaya.ru/bol.html
  • uchitel.bystrickaya.ru/razdel-ii-osnovi-voennoj-sluzhbi-uchebnoe-posobie-izdatelstvo-drofa-2009-g-375-str.html
  • upbringing.bystrickaya.ru/lyuminescentnij-analiz-metodicheskie-rekomendacii.html
  • laboratornaya.bystrickaya.ru/rabochaya-programma-uchebnoj-disciplini-finansovie-rinki-po-napravleniyu-magisterskoj-podgotovki-080500-magisterskaya-professionalnaya-programma-521513.html
  • knigi.bystrickaya.ru/risajkling-kak-klyuchevoj-element-sovremennoj-sistemi-sbora-i-pererabotki-tverdih-bitovih-othodov.html
  • learn.bystrickaya.ru/ezhednevnie-novosti-podmoskove-moskva-36-02-03-2012-c-1.html
  • lesson.bystrickaya.ru/osnovnie-dvizheniya-programma-korrekcionno-razvivayushej-raboti-v-logopedicheskoj-gruppe-detskogo-sada-dlya-detej-s.html
  • zadachi.bystrickaya.ru/sto-velikih-kompozitorov-stranica-14.html
  • uchebnik.bystrickaya.ru/uchebnoe-posobie-po-anglijskomu-yaziku-dlya-studentov-ii-kursa-fakulteta-meo-stranica-13.html
  • grade.bystrickaya.ru/nash-mir-pridumal-konechno-kakoj-to-dostoevskij-no-ne-takoj-talantlivij-kak-fedor-mihajlovich-stranica-2.html
  • student.bystrickaya.ru/210-uchitelyu-informatiki-metodicheskie-rekomendacii-petropavlovsk-kamchatskij-2009-bbk-74-204-4-o-64.html
  • desk.bystrickaya.ru/pasport-proekta-monitoring-kachestva-obrazovaniya-programma-razvitiya-centra-detskogo-yunosheskogo-tehnicheskogo.html
  • shpargalka.bystrickaya.ru/universitetskij-obrazovatelnij-standart-visshego-professionalnogo-obrazovaniya-052400-dizajn-stranica-5.html
  • ekzamen.bystrickaya.ru/rossijskij-gosudarstvennij-pedagogicheskij-universitet-im-a-i-gercena-stranica-4.html
  • obrazovanie.bystrickaya.ru/pravovoj-rezhim-tovarnih-znakov-i-znakov-obsluzhivaniya.html
  • writing.bystrickaya.ru/bortovij-rentgenometr.html
  • zadachi.bystrickaya.ru/protokoli-tcp-ip.html
  • tests.bystrickaya.ru/kriminologiya-ugolovnogo-zakona.html
  • university.bystrickaya.ru/glava-70-avtorskoe-pravo-statya-1226-intell.html
  • tetrad.bystrickaya.ru/uchebno-metodicheskij-kompleks-po-discipline-konstruktorsko-tehnologicheskoe-obespechenie-proizvodstva-evm-nazvanie.html
  • kontrolnaya.bystrickaya.ru/proizvodstvo-otdelnih-vidov-produkcii-selskogo-hozyajstva-shema-territorialnogo-planirovaniya-lyubimskogo-municipalnogo.html
  • spur.bystrickaya.ru/matematika-pshnnen-5-9-siniptara-arnalan.html
  • writing.bystrickaya.ru/23revolyuciya-i-a-savkin-dizajn-oblozhki.html
  • predmet.bystrickaya.ru/sozdanie-multimedijnogo-konspekta-lekcij-po-lazernoj-fizike-s-ispolzovaniem-flash.html
  • literature.bystrickaya.ru/bitva-pod-moskvoj-mezhdunarodnoe-znachenie.html
  • ucheba.bystrickaya.ru/programma-po-discipline-linejnie-topologicheskie-prostranstva-dlya-specialnosti-511200-matematika-prikladnaya-matematika.html
  • studies.bystrickaya.ru/istoki-vozrast-srednej-gruppi.html
  • lektsiya.bystrickaya.ru/prirodnie-pamyatki-vladimirskoj-oblasti-chast-2.html
  • student.bystrickaya.ru/-statistika-cen-.html
  • letter.bystrickaya.ru/mezhdu-metafizikoj-durnoj-i-konkretnoj-rezolyuciya-vtorogo-rossijskogo-filosofskogo-kongressa.html
  • textbook.bystrickaya.ru/immigraciya-zachem-i-pochemu-referat-doklada-politika-immigracii-i-naturalizacii-v-rossii-sostoyanie-del-i-napravleniya-razvitiya.html
  • thescience.bystrickaya.ru/klassnij-chas-dlya-nachalnih-klassov-tema-tvori-dobro.html
  • thesis.bystrickaya.ru/prirodno-resursnij-potencial-respubliki-kalmikiya-polozhenie-respubliki-kalmikiya-v-yufo-11-prirodno-resursnij-potencial.html
  • occupation.bystrickaya.ru/na-kotorij-i-natolknulis-lyubiteli-sensacij.html
  • essay.bystrickaya.ru/d-v-hrobostov-zasluzhennij-rabotnik-kulturi-rsfsr-a-g-richkov-zasluzhennij-rabotnik-kulturi-rsfsr-a-p-chencov.html
  • © bystrickaya.ru
    Мобильный рефератник - для мобильных людей.