+——————————————+;
var
a,b: Word;
begin
{Сообщаем объем оперативной памяти}
WriteLn(MemW[0:$413],' Кбайт оперативной памяти');
{Определяем тип ПК}
if Mem[$FOOO:$FFFE] = $FC then begin {Тип AT}
WriteLn('Компьютер типа IBM AT содержит:');
Port[$70] := $14;
a := Port[$71] ;
if a and K>0 then case (a shr 6) and 3 of
0: WriteLn('- один накопитель ГМД');
1: WriteLn('- два накопителя ГМД');
end;
if a and 2 о 0 then
WriteLn('- арифметический сопроцессор');
case (a shr 4) and 3 of
0: WriteLn('- адаптер EGA или VGA');
1: WriteLn('- цветной адаптер 40х25');
2: WriteLn('- цветной адаптер 80х25');
3: WriteLn('- монохромный дисплей') end;
{Анализируем количество последовательных портов} а := 0;
for b := 0 to 3 do
if MemW[O:$4OO+b shi 2]<>0 then inc (a) ;
WriteLn('- ',a,' последовательных порта');
{Анализируем количество параллельных портов) а := 0;
for b := 0 to 3 do
if MemW[O:$408+b shi 2]<>0 then inc (a) ;
WriteLn('- '/а,' параллельных порта') end else
begin {Тип XT}
WriteLn('Компьютер типа IBM XT содержит:');
a := MemW[0:$ 410];
if a and 1<>0 then
WriteLn('- ',(a shr 6) and 3,' накопителей ГМД');
if a and 2<>0 then
WriteLn('- арифметический сопроцессор');
if a and 12<>0 then