Информационный сервер для программистов: Исходники со всего света. Паскальные исходники со всего света
  Powered by Поисковый сервер Яndex: Найдется ВСЁ!
На Главную Pascal Форум Информер Страны мира
   Резидентные Программы    >>    intspy
   
 
 Шпион прерываний   Николай Вальтер 06.12.1993

Программа остается резидентной в памяти, шпионит за исользованием указанного прерывания из указанной программы, при активизации записывает на диск протокол использования прерывания



5k 
 

From: Nick Walter <nick@ormix.riga.lv> Subject: Исходник Одной Интересной Резидентной Программы Organization: ORMIX Ltd В последнее время все чаще стали появлятся "коммерческие" .TPU модули. Често признаюсь, что меня не интересовал Turbo Vision, пока у меня не появился RTL. Редко бывает, что в библиотеке, автор предусмотрел все, что может заинтересовать того кто эту библиотеку использует. В Turbo Vision мне не нравилось очень многое и по этому он меня не интересовал до тех пор, пока у меня не появилась возможность его модифицировать. В противоположенность "коммерческим" .TPU предлагаю исходный текст одной очень интересной програмульки. Я предполагаю, что у Вы знаете ассемблер .86 т.к. 90% исходника - ассемблер. Как известно сделать резидентную программу которая после активизации пользуется досовскими прерываниями дело непростое :-| (1000 и 1 перезапуск по зависанию). Тем кого интересует КАК это сделать я и адресую свою програмульку. Хотя я думаю она будет интересна и сама по себе как программа. Программулька остается резидентной в памяти, шпионит за исользованием указанного прерывания из указанной программы, при активизации записывает на диск протокол использования прерывания: 1) адрес памяти откуда было вызвано прерывание 2) содержимое регистров Выкидывает себя из памяти ( если это возможно ) при нажатии определенной комбинации клавиш. Если удастся выкинуть TSR во время работы какой-нибудь Pascal-праграммы, то по выходу из этой Pascal-программы скорее всего произойдет зависание (недостаток инициализационного кода Turbo Pascal). Тем кого моя программа заинтересует и кто захочет продолжения этой темы: Могу предложить исходник более мощной TSR-программы, которая независимо от своих паскалевских размеров (CODE,DATA,STACK,OVERLAY,HEAP), причем реальный размер программы вычисляется автоматически, будет занимать в памяти около 3K(!). Естественно это достигается путем своппинга. По желанию пользователя своппинг производится либо в Extended (Expanded) Memory либо на диск. Предусмотрено удаление программы из памя