Удаление слов использованием резидентной программы

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

ent.asm

Транзитная часть программа, которая исполняет следующие функции:

  1. проверка на повторную загрузку;
  2. загрузка резидента в память;
  3. сохранение входных параметров;
  4. выгрузка резидента из памяти.

Резидентная часть программа, которая исполняет следующие функции:

  1. выполнение функции резидента, а именно вывод содержимого файла;

Входные данные

Входных данных для транзитной части нет.

Входными данными для резидентной ввод с клавиатуры.

Выходные данные

Для транзитной части в процессе ее работы выходными данными будет сообщение о загрузке резидента в память: Loading. В резидентной части выходными данными содержимое файла после удаления слова.

Процессы обработки

Процесс обработки транзитной части заключает в себе:

  1. проверка на повторную загрузку будет осуществляться путем переопределения одной из функций мультиплексного прерывания 2Fh.
  2. передача управления резидентной части посредством вызова прерывания int 66h;;
  3. переопределение мультиплексного прерывания int 2Fh для выгрузки резидента из памяти;

Методические ограничения

В модуле не используется методологически сложных операций и все процессы обработки являются в общем виде работой с прерываниями и памятью компьютера.

Аппаратные ограничения

Для работы программного модуля необходимо дисковое пространство в размере не менее 5 кБ, свободная оперативная память в размере не менее 1МБ, а также микропроцессор 80486 или выше.

 

 

3. Рабочий проект

 

3.1 Введение

 

В данном программном изделии используются технологии работы с использованием портов ввода вывода (средства BIOS).

 

3.2 Назначение разработки

 

Программное изделие можно использовать в работе с операционной системой DOS. При помощи данного программного продукта можно производить удаление слов из текстового файла без учета регистра, считая пробел разделителем.

 

3.3 Требования к программе или программному изделию

 

3.3.1 Стандарты

Программное изделие выполнено согласно стандартам, указанным в техническом задании в пункте 1.4.1.

 

3.3.2 Требования к составу и параметрам технических средств

Программное изделие работает на компьютере, совместимом с IBM PC. Программа не требовательна к оперативной памяти.

Вся информация вводится при помощи клавиатуры цифровые клавишы алфавитно-цифрового блока. Контроль информации осуществляется при помощи дисплея с видеорежимом 40/80-25.

 

3.3.3 Требования к информационной и программной совместимости

Программное изделие написано на языке Ассемблер для компилятора TurboAssemler 3.1, и работает под управлением операционной системы MS-DOS и виртуальной машины DOS в операционной системе Windows 95 XP.

 

3.3.4 Результирующие компоненты изделия

Согласно пункту 1.4.6. технического задания все файлы программы предоставляются на дискете формата 3,5 дюйма.

 

3.3.5 Безопасность и секретность

Данный программный продукт не является секретным и не требует защиты, поэтому ограничение доступа к нему не предусматривается.

 

3.3.6 Рестарт

В случае, когда программа по внешним причинам перестает отвечать на запросы пользователя, необходимо:

  • в системе DOS нажать комбинацию клавиш CTRL+ALT+DEL и средствами операционной системы прервать программу
  • в виртуальной машине DOS операционной системы Windows просто закрыть окно.
  • и затем заново запустить ее согласно пункту 1.4.8. технического задания.

 

3.4.1 Структура модуля

Общая статическая схема резидента

Общая статическая схема резидента представлена на рисунке 3.1.

 

Рисунок 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

  • Функция 09h int 21h вывод строки на экран

Вход:

AH = 09h;

DS:DX адрес выводимой строки, которая должна заканчиваться служебным символом $.

  • Функция 0ah int 21h ввод строки произвольной длины:

Вход:

AH = 0Ah.

Выход: введенная строка по адресу Buffer.

  • Функция 39h int 21h создание директории D:\temp

Вход:

АН=39h

DS:DX адрес ASCIZ-строки с путем, в котором все директории,