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.
Ценность этих проверок заключается в их исключительной простоте, однако, согласитесь, что могут найтись тысячи однотипных компьютеров, на которых используется одинаковая версия ДОС, поэтому ограничиваться только этими проверками вряд ли имеет смысл.