.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
  • shkola.bystrickaya.ru/s-avtobusa-pereseli-na-motocikl-olga-malish-moskovskie-novosti-moskva-27-15-02-2012-c-5.html
  • uchebnik.bystrickaya.ru/ufologiya-i-psihiatriya-doklad-nlo.html
  • institut.bystrickaya.ru/tel714-66-27-telfaks-550-02-11-sekciya-intensivnih-metodov-obucheniya.html
  • reading.bystrickaya.ru/konspekt-lekcij-po-disciplinetehnologiya-konstrukcionnih-materialov-tema-kristallicheskoe-stroenie-metalla.html
  • school.bystrickaya.ru/analiz-kategorii-materiya.html
  • doklad.bystrickaya.ru/uchebno-metodicheskij-kompleks-uchebnoj-disciplini-vvedenie-v-yazikoznanie.html
  • report.bystrickaya.ru/istoriya-vtoraya-niche-prostranstvo-sergej-lukyanenko.html
  • bystrickaya.ru/velikie-italyanskie-hudozhniki-epohi-vozrozhdeniya-chast-2.html
  • uchit.bystrickaya.ru/trebovaniya-k-referatu-l-s-bayandin-rabochaya-programma-podgotovki-rukovoditelej-rabotnikov-strukturnih-podrazdelenij.html
  • universitet.bystrickaya.ru/tzhribelk-sabatara-arnalan.html
  • upbringing.bystrickaya.ru/koncepciya-nauchno-issledovatelskogo-seminara-po-napravleniyu-030900-68-yurisprudenciya-konstitucionno-pravovoe-obespechenie-gosudarstvennoj-sluzhbi-i-socialnih-funkcij-gosudarstva.html
  • universitet.bystrickaya.ru/struktura-i-svojstva-bumagi-analiticheskie-materiali-poligrafiya.html
  • writing.bystrickaya.ru/geneticheski-modificirovannie-produkti.html
  • learn.bystrickaya.ru/ezhednevnij-monitoring-smi-22-marta-2011.html
  • uchenik.bystrickaya.ru/glava-vtoraya-gestalt-therapy.html
  • writing.bystrickaya.ru/istoriya-23tot-krizhovnik-artur-maksvell-vechernie-rasskazi-dlya-detej-tom-1.html
  • gramota.bystrickaya.ru/vramkah-konferencii-budut-rassmotreni-sleduyushie-voprosi-sostoyanie-i-osnovnie-napravleniya-razvitiya-medicinskoj-robototehniki.html
  • books.bystrickaya.ru/chast-iskusstvenoj-vodnoj-sistemi-dlinoj-testi-po-grammatike-russkogo-yazika-kontrolnie-raboti.html
  • lektsiya.bystrickaya.ru/predsedatel-professor-kafedri-kompyuternih-tehnologij-obshaya-programma-xvi-respublikanskogo-konkursa-issledovatelskih.html
  • knigi.bystrickaya.ru/rekomendacii-organam-mestnogo-samoupravleniya-polozhenie-ob-organizacii-bibliotechnogo-obsluzhivaniya-naseleniya-7-surgutskogo.html
  • grade.bystrickaya.ru/moral-pomoshi-i-vzaimopomoshi-v-dohristianskij-period-rusi-chast-9.html
  • write.bystrickaya.ru/glava-2-lichnost-i-aromat-vzaimnoe-konstruirovanie-svetlana-mirgorodskaya-aromalogiya-quantum-satis.html
  • ucheba.bystrickaya.ru/pravila-i-normi-ogranichivayushie-povedenie-svidetelej-iegovi-5-otnoshenie-svidetelej-iegovi-k-biblii-5-ozaprete-na-perelivanie-krovi-stranica-10.html
  • assessments.bystrickaya.ru/dlya-prinyatiya-resheniya-kreditoram-mozhet-potrebovatsya-sleduyushaya-informaciya-o-zaemshike.html
  • tasks.bystrickaya.ru/19-regulyatori-moshnosti-rele-i-kontaktori-preobrazovateli-davleniya-naporomeri.html
  • laboratory.bystrickaya.ru/zapusk-ochistitelnogo-mehanizma-vstuplenie.html
  • kolledzh.bystrickaya.ru/9384-vakcini-i-anatoksini-primenyaemie-v-veterinarii-0251-nefteprodukti-svetlie-alternativnie-vidi-topliva.html
  • report.bystrickaya.ru/h-k-andersen-snezhnaya-koroleva.html
  • school.bystrickaya.ru/drugoe-tv-mayak-novosti-22-11-2005-bejlin-boris-21-00-12.html
  • knowledge.bystrickaya.ru/metodologicheskie-i-teoreticheskie-problemi-psihologii-stranica-12.html
  • essay.bystrickaya.ru/cel-programmi-obrazovatelnaya-programma-nachalnogo-obshego-obrazovaniya-1-klass-fgos.html
  • studies.bystrickaya.ru/11-voprosi-dlya-podgotovki-k-ekzamenu-uchebno-metodicheskij-kompleks-specialnost-080502-ekonomika-i-upravlenie.html
  • tasks.bystrickaya.ru/323-materiali-tovari-sire-i-postavshiki-emitenta-129110-rossiya-g-moskva-gilyarovskogo-47-str-5-informaciya.html
  • tasks.bystrickaya.ru/250000-nauki-o-zemle-geografiya-xii-mezhregionalnoj-konferencii-festivalya-nauchnogo-tvorchestva-uchashejsya-molodezhi.html
  • predmet.bystrickaya.ru/spisok-analiticheskih-resursov-po-reforme-gosudarstvennogo-upravleniya-v-rf-stranica-28.html
  • © bystrickaya.ru
    Мобильный рефератник - для мобильных людей.