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



Стандарты

Программное изделие выполнено согласно стандартам, указанным в техническом задании в пункте 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!