Требования к программе или программному изделию
Стандарты
Программное изделие выполнено согласно стандартам, указанным в техническом задании в пункте 1.4.1.
Требования к составу и параметрам технических средств
Программное изделие работает на компьютере, совместимом с IBM PC. Программа не требовательна к оперативной памяти.
Вся информация вводится при помощи клавиатуры цифровые клавишы алфавитно-цифрового блока. Контроль информации осуществляется при помощи дисплея с видеорежимом 40/80-25.
Требования к информационной и программной совместимости
Программное изделие написано на языке Ассемблер для компилятора TurboAssemler 3.1, и работает под управлением операционной системы MS-DOS и виртуальной машины DOS в операционной системе Windows 95 – XP.
Результирующие компоненты изделия
Согласно пункту 1.4.6. технического задания все файлы программы предоставляются на дискете формата 3,5 дюйма.
Безопасность и секретность
Данный программный продукт не является секретным и не требует защиты, поэтому ограничение доступа к нему не предусматривается.
Рестарт
В случае, когда программа по внешним причинам перестает отвечать на запросы пользователя, необходимо:
· в системе DOS нажать комбинацию клавиш «CTRL+ALT+DEL» и средствами операционной системы прервать программу
· в виртуальной машине DOS операционной системы Windows просто закрыть окно.
· и затем заново запустить ее согласно пункту 1.4.8. технического задания.
|
|
Структура модуля
Общая статическая схема резидента
Общая статическая схема резидента представлена на рисунке 3.1.
Рисунок 3.1 – Общая статическая схема резидента
Описание подпрограмм
Подпрограмма 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-строки с путем, в котором все директории, кроме последней, существуют. Для DOS 3.3 и более ранних версий длина строки не должна превышать 64 байта.
Выход: CF=0 если директория создана
CF=1 и АХ = 3, если путь не найден
CF=1 и АХ = 5, если доступ запрещен.
· Функция 5Bh int 21h – Создание файла
Вход:
AH = 5Bh.
· Функция 40h int 21h – запись в file.
Вход:
AH = 40h.
DS:DX адрес начала строки
Выход:
CF = 0 AX число записанных байтов
CF=1 код ошибки.
· Функция 3eh int 21h – закрытие file
Вход:
AH = 3Eh;
BX – идентификатор файла;
Выход:
CF=0 если не произошла ошибка
CF=1и АХ = 6, если неправильный идентификатор.
· Функция 3dh int 21h – открыть существующий файл
Вход:
AH = 3Dh;
DS:DXадрес ASCIZ-строки с полным именем файла
|
|
Выход:
CF=0и АХ = идентификатор файла, если не произошла ошибка CF=1и АХ = 2, если файл не найден
CF=1и АХ = 3, если путь не найден
CF=1и АХ = 4, если слишком много открытых файлов
CF=1и АХ = 5, если доступ запрещен
CF=1и АХ = 0Сh, неправильный режим доступа.
· Функция 3Fh int 21h чтение файла
Вход:
АН=3Fh
BX идентификатор файла
CX число байтов
DS:DX адрес буфера для приема данных.
Выход:
CF=0и АХ = число считанных байтов, если не произошла ошибка
CF=1и АХ = 05h, если доступ запрещен
CF=1и АХ = 6, если неправильный идентификатор.
· Функция 41h int 21h – удаление файла
Вход:
AH = 41h
DS:DXадрес ASCIZ-строки с полным именем файла.
Выход:
CF=0 если файл удален
CF=1и АХ = 02h, если файл не найден
CF=1и АХ = 03h, если путь не найден
CF=1и АХ = 05h, если доступ запрещен.
· Функция 56h int 21h – Переименовать файл.
Вход:
AH = 56h;
Текст подпрограмм
Cм. приложение А.
Тестирование
Цель испытаний
Выяснить поведение программы в различных ситуациях, созданных пользователем.
Тесты
Тест №1
Действия: первый запуск резидентной программы.
Реакция программы: выводится уведомление об установке резидента. См. рисунок 3.3.
Рисунок 3.3 Тест №1
Дата добавления: 2019-07-15; просмотров: 186; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!