устройства, которые перед запуском защищаемой программы подсоединяются к стандартному каналу последовательного или параллельного ввода—вывода (например, для одной из используемых мною программ этот ключ вставляется как переходник между разъемом параллельного порта и кабелем принтера). Электронные ключи реализуются на основе заказных микросхем и осуществляют нужное интерфейсное взаимодействие с защищаемой программой.
Объем доступной оперативной памяти на IBM— совместимых ПК может составлять от 64 до 640 Кбайт (речь идет о стандартной памяти, см. п.5.1). При инициации ДОС в двухбайтное слово по адресу $0000:$0413 заносится количество килобайт доступной ДОС оперативной памяти. Следует заметить, что к моменту загрузки ДОС в памяти могут устанавливаться резидентные программы (чаще всего это драйверы устройств), так что доступная остальным программам ДОС память в общем случае будет меньше физической памяти ПК. Чтобы определить объем физически установленной в ПК оперативной памяти, следует предварительно определить тип ПК. Дело в том, что для компьютеров класса IBM AT и PS/2 используется специальная энергонезависимая КМОП—память1 , хранящая некоторую весьма полезную информацию о составе аппаратных средств ПК и, в том числе, — о доступной памяти, в то время как на компьютерах IBM PC и IBM XT такой памяти нет.
Структура КМОП—памяти может быть описана следующим образом:
type
CMOS_Type = record case Byte of
1: (
Sec . Byte {Секунды системного времени}
ASec Byte {Секунды будильника}
Min Byte {Минуты системного времени}
AMin Byte {Минуты будильника}
Hour Byte {Часы системного времени}
AHour Byte {Часы будильника}
DOW Byte {День недели текущей даты}
Day ' Byte {День текущей даты}
Month Byte {Месяц}
Year Byte {Год}
StatA Byte {Состояние порта А}
StatB Byte {Состояние порта В}
StatC Byte {Состояние порта С}
StatD Byte {Состояние порта D)
POST Byte {Статус завершения программы POST
(проверка работоспособности ПК)} Shut Byte {Байт состояния программы перезагрузки ДОС}
1 КМОП — сокращение от Комплементарная пара Металл—Окисел—Полупроводник (англ. CMOS) — название технологии изготовления микросхем с пониженным энергопотреблением. Энергонезависимость КМОП—памяти достигается ее питанием от автономной батарейки или аккумулятора.