17 а___________________________________________________Глава 7

Тип ПК записан в ПЗУ по адресу $FOOO:$FFFE, т.е. в предпоследнем байте мегабайтного адресного пространства ПК. Значениями этого байта могут быть следующие коды:

Код

Тип ПК

FF

PC

FE

XT

FD

PCjr

FC

AT


Следующая программа выводит на экран тип ПК:

begin

case Mem[$FOOO:$FFFE] of

$FF: WriteLn('PC') ;

$FE: WriteLn('XT');

$FD: WriteLn('PCjr');

$FC: WriteLn('AT');

else

WriteLnCнестандартный тип ПК ',Mem[$FOOO:$FFFE]) end end.

Версию ДОС можно получить с помощью функции ДОС $30. При обращении к этой функции в регистре AL возвращается старший, а в АН — младший номера версии. Например, если используется MS-DOS версии 3.30, то AL содержит 3, а АН — 30:

Uses DOS;

var

R: registers;

begin

with R do begin

AH := $30;

MSDOS(R) ;

WriteLn (' Версия ДОС ', AI,, ' .', АН) end end.

Регистр AL может содержать О, если используется более ранняя версия ДОС чем 2.0.

Ценность этих проверок заключается в их исключительной простоте, однако, согласитесь, что могут найтись тысячи однотипных компьютеров, на которых используется одинаковая версия ДОС, поэтому ограничиваться только этими проверками вряд ли имеет смысл.