+——————————————+;

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