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;