end end end;

m := m*64 end;

WriteLn('B ПК установлено ',m,' КБайт основной памяти');

if е<>0 then

WriteLn(' и ',е, ' Кбайт дополнительной') end.

Информация о других устройствах, входящих в состав ПК, может быть получена на основании анализа так называемого регистра оборудования. Этот регистр для машин класса IBM XT формируется программами ПЗУ при загрузке ДОС и располагается в двухбайтном слове по адресу $0000:$0410. Его разряды имеют следующий смысл:

Разряд

Значение

Смысл

о

i

В ПК имеются накопители ГД

i

i

Есть арифметический сопроцессор

2-3

3

Бсть стандартная память 64 Кбайт

4-5

Тип активного видеоадаптера:

0

Адаптер EGA или VGA

1

Цветной адаптер 40х25

2

Цветной адаптер 80х25

3

Монохромный адаптер

6-7

Число НГД (если бит 0 имеет значение 1)

8

Не используется

9-11

Количество адаптеров связных каналов

12

1

Есть игровой порт

13

Не используется

14-15

Количество принтеров


Для IBM AT информацию о переферийных устройствах содержит поле Equipm в КМОП—памяти. Назначение разрядов этого байта аналогично назначению разрядов О...7 регистра оборудования, за исключением разрядов 2...3, которые не используются. Количество связных каналов последовательного типа для компьютеров этого класса можно получить путем анализа области памяти BIOS: начиная с адреса $0000:$0400 в памяти располагаются четыре двухбайтных слова, содержащие адреса последовательных портов; порту СОМ1 соответствует адрес в слове $0000:$0400, а COM4 — в слове $0000:$0406; нулевое содержимое этих слов говорит об отсутствии соответствующего канала связи. Точно так же можно анализировать адреса параллельных портов ($0000:$0408,...,$0000:$040Е).

Следующая программа сообщает оСъс;! памяти, указываемый в слове $0000:$0413, и расшифровывает рс.истр (G^h) оборудования и область адресов каналов связи (для AT):

^—————————————————————————+

¦ Программа анализирует байт оборудования \ ¦ и выводит на экран его расшифровку I