Определение времени работы программы

Определение времени работы программы - student2.ru

………………..

;фрагмент программы

Определение времени работы программы - student2.ru ……………….

 
  Определение времени работы программы - student2.ru

Сравнение содержимого

 
  Определение времени работы программы - student2.ru

Определение времени работы программы - student2.ru Да (нету перехода через 0)

 
  Определение времени работы программы - student2.ru

Определение времени работы программы - student2.ru

Получаем результат на dx Sub dx,bx
нет (переход через 0)

       
  Определение времени работы программы - student2.ru
    Определение времени работы программы - student2.ru
 

Продолжение работы

………………………..


3.3 Входные данные и выходные данные

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

-Ввод первого пароля.

-Ввод второго пароля.

-Имя файла, который необходимо создать.

-Строка которую нужно записать в файл.

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

Выходными данными является информация, помещенная в файле, и выведенная на экран.

Алгоритм работы программы

Программа состоит из трёх частей. Первой частью запускается интерфейсная часть, которая грузиться резидентно в оперативную память.

При запуске программы пользователю необходимо ввести первый пароль. Если пароль введен неверно, то выдается сообщение на экран и программа завершается. Но если пользователь ввел правильный пароль и необходимое условие выполняется, то выводится сообщение о продолжительности ввода пароля.

После ввода первого пароля, выдается запрос на ввод второго пароля. Если дополнительный файл находится не в той же директории где и исполняемый файл, то выдается сообщение об ошибке. Если файл находится в той же директории выдается предложение на ввод пароля. Если пароль не верный выдается сообщение на экран и программа завершается, если пароль верный, то выдается соответствующее сообщение и выдается запрос на ввод имени файла.

После имени файла выдается запрос на ввод строки. Если строка больше 28 символов, то программа завершается, если условия соблюдены, то строка записывается в файл и программа завершается. Во время выполнения программы в правом верхнем углу экрана присутствует информация о разработчике.

Третья часть программы – это выгрузка интерфейсной части программ и её окружения из оперативной памяти.

Описание процедур

Load.asm:

Программа устанавливает свой собственный обработчик прерывания 1Сh, который все время выводит в правый верхний угол экрана информацию о разработчике.

Для этого выполняются следующие действия:

– сохраняем НА:СМ системного обработчика прерывания 1Ch в 60h строке таблицы векторов прерываний (функции 35h и 25h прерывания 21h), чтобы в дальнейшем можно было его восстановить;

– загружаем резидентно в память свой собственный обработчик прерывания 1Ch.

Вывод информации.

My_dz.asm:

1.Происходит инициализации стека.

2.Очищается экран – вызывается процедура ClrScr.

3.При помощи макроса Curs происходит установка курсора в позицию 5,5 на экране монитора предлагается ввести пароль «Введите пароль:»

4. Вызывается процедура Vvod_pass которая предлагает пользователю ввести пароль. После ввода 3 символов строка, введенная пользователем, сохраняется в переменной. Далее, пароль который ввел пользователь сравнивается с эталоном с помощью процедуры My_pas.Время выполнение этих двух процедур подсчитывается и выводится на экран.

5.Вызывается процедура Size_fileв которой определяется размер файла 1ch.asm.Для корректного ввода этот файл должен находится в текущей директории. Размер этого файла 1348байт. Размер файла сохраняется в переменную filelenght. С помощью макроса Moveascii размер в байтах переводится в строку. Далее, выдается запрос на ввод пароля с помощью макроса Curs в позицию 12,12 с сообщением «Введите пароль:». С помощью процедуры Vvod_pass_2 пароль введенный с клавиатуры сохраняется в переменную etalon_2.Процедура My_pas_2сравнивает введенный пароль с клавиатуры(etalon_2) с размером файла(filelenght).

6.При помощи макроса Cursпроисходит установка курсора в позицию 5,8 с сообщением «Введите имя файла:». Процедура Vvod_nazvсчитывает с клавиатуры имя файла введенное пользователем. Процедура File_create создает файл. Макрос Cursустанавливает курсор в позицию 10,10 с сообщением «Введите строку не более 28 символов:». Процедура My_strсохраняет строку введенную пользователем с клавиатуры. Процедура File_rec введенную сохраняет строку в файл. Процедура Close_fзакрывает файл.

Unload.asm:

Программа восстанавливает системный обработчик прерывания 1Сh и выгружает из памяти свой собственный.

Для этого выполняются следующие действия:

– восстанавливаем НА:СМ системного обработчика прерывания 1Сh, которые берем из 60h строки таблицы векторов прерываний (функции 35h и 25h прерывания 21h).

– с помощью функции 49h прерывания 21h выгружаем из памяти обе части собственного обработчика прерывания (программу и окружение). Для этого необходимо заранее сохранить его начальный адрес.

Руководство пользователя

Данная программа состоит из трёх выполняемых файлов:

1. Load.com

1. My_dz.com

2. Unload.com

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

При запуске второго выполняемого файла на дисплее появится запрос программы на ввод пароля. Пароль имеет значение «123».Если пароль будет введён неправильно, то работа программы будет прекращена. Если пароль будет введен правильно, на экране появится предложение ввести второй пароль. Если второй пароль не верный, появится сообщение и программа завершится. Если пароль правильный, на экране отобразится запрос на ввод имени файла. После ввода имени файла , на дисплее появится запрос на ввод строки. После ввода строки, программа завершится.

Для просмотра результата откройте созданный файл.

Обязательно!!! Для ввода корректного пароля файл 1ch.asm должен быть в текущей директории.

Руководство программиста.

Исходный текст программ на языке Assembler находится в файлах Load.asm, My_dz.asm, Unload.asmкоторого будет достаточно для удачной компиляции.
Подробное описание процедур присутствует в пункте 3.5

Помочь проанализировать, а возможно и модифицировать данную программу программисту поможет тщательное изучение и анализ пунктов данной записки рассмотренных выше.

Заключение.

Данное домашнее задание, выполнено на языке программирования низкого уровняAssembler, является решением поставленной задачи. Она достаточно удовлетворяет всем поставленным условиям и является одним из универсальных средств достижения результатов в условиях данной задачи. При необходимости в программе можно сделать некоторые дополнения, но, в принципе, программа достаточно отвечает поставленным требованиям.

Список литературы

1.Конспект лекций по курсу «Системное программирования»

2.Конспект лекций по курсу «Архитектура компьютера»

3. Teach-help

Наши рекомендации