Курсовая работа: Удаление слов использованием резидентной программы
Рисунок 3.1 – Общая статическая схема резидента
3.4.2 Описание подпрограмм
Подпрограмма new_2Fh
Входные данные: ах – номер функции.
Выходные данные: нет.
Процессы обработки: происходит сравнение регистров общего назначения на предмет наличия определенного значения. Если значение регистра ax равно 0c801h, то производится выгрузку резидентной части и восстановление старого прерывания. В противном случае, вызывается системный обработчик прерывания int 2fh.
Используемые регистры: AX, DX, DI, DS, ES, CS.
Используемые внешние переменные: old_2Fh.
Подпрограмма iniz
Входные данные: нет.
Выходные данные: нет.
Процессы обработки: являясь секцией инициализации резидента, процедура осуществляет проверку на повторную загрузку резидента, используя внешнюю переменную, с уникальным значением, инсталляцию резидента в память, передачу данных резиденту с использованием вектора свободного прерывания, передачу управления резиденту посредством передачу управления резиденту посредством вызова int 66h , вывод информационных сообщений.
Используемые регистры: AX, BX, DX, DS, ES, CS, DS, DI.
Используемые внешние переменные: old_2Fh, mes.
Блок-схема подпрограммы представлена на рисунке 3.4.
Рисунок 3.2 Блок-схема подпрограммы iniz
Описание используемых функций DOS
· Функция 09hint21h– вывод строки на экран
Вход:
AH= 09h;
DS:DX– адрес выводимой строки, которая должна заканчиваться служебным символом '$'.
· Функция 0ah int 21h ввод строки произвольной длины:
Вход:
AH= 0Ah.
Выход: введенная строка по адресу Buffer.
· Функция 39h int21hсоздание директории D:\temp
Вход:
АН=39h