WriteLn('- базовую память 64К');

case (a shr 4) and 3 of

0: WriteLn('- адаптер типа EGA или VGA');

1: WriteLn('- цветной адаптер 40х25');

2: WriteLnC- цветной адаптер 80х25');

3: WriteLn('- монохромный адаптер') end;

WriteLnf'- ',(a shr 9) and 7,' каналов связи');

if (a shr 12) and lo0 then

WriteLn('- игровой порт');

WriteLn('- ',(a shr 14),' принтеров') end end.

Производительность микропроцессора обычно измеряется с помощью многократного прогона тестового участка программы за заданный интервал времени. Количество прогонов и является мерой производительности ПК. Для определения нужного интервала времени удобнее всего использовать переменную типа Longint по адресу $0000:$046С, в которой ДОС хранит текущее системное время в виде количества 55 — миллисекундных интервалов, прошедших от 0 часов.

Следующая программа оценивает производительность процессора и выводит на экран среднее количество прогонов тестового участка программы за один 55 — миллисекундный интервал:

{ Определение производительности ПК ] const

N = 10; {Количество повторов} var

Time: Longint; {Моменты времени} k : Longint; {Счетчик вычислений} j : Integer; {Счетчик повторов} begin k := 0;

for j := 1 to N do begin

Time := MemL[0:$O46C]; {Начальное время} while MemL[O:$O46C]=Time do

; {Ждать, пока не изменится время} inc(Time,2); {Конечное время} while MemL[O:$O46C]OTime do

inc(k); {Цикл вычислений} end;

WriteLn(k div N) end.

В этой программе цикл

while MemL[0:$046C]«Time do;