TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

7.2.1. Проверка типа ПК и версии ДОС

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

Тип ПК записан в ПЗУ по адресу $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.

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

 

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz