3ТО (КП - будильник)
Описание файла
Файл "3ТО" внутри архива находится в следующих папках: КП - будильник, кулаковы. Документ из архива "КП - будильник", который расположен в категории "". Всё это находится в предмете "системное программирование" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .
Онлайн просмотр документа "3ТО"
Текст из документа "3ТО"
Московский государственный технический университет им. Н.Э.Баумана
_________________________________________________________________
Утверждаю: | |
Большаков С.А. | "__"_____________2006 г. |
Курсовая работа по курсу Системное программирование
«Будильник »
Техническое описание
(вид документа)
писчая бумага
(вид носителя)
5
(количество листов)
ИСПОЛНИТЕЛЬ: | |
студент группы ИУ5-53 | _____________________ |
Кулаков А. С. | "__"_____________2006 г. |
Москва - 2006
________________________________________________________________
Содержание:
1. Общие сведения о программном обеспечении. 3
2. Модульная структура программного обеспечения. 3
3. Описание модулей программного обеспечения. 3
4. Данные и файлы данных программного обеспечения 3
4.1. Файл alrmclck.com 3
4.2. Файл unldtsr.exe 3
5. Основные алгоритмы программного обеспечения. 4
6. Процедуры и функции программного обеспечения 4
7. Вектора прерываний программного обеспечения, переопределяемые в программе. 4
1.Общие сведения о программном обеспечении.
Исходный код, язык: Assembler
Компилятор: Turbo Assembler Version 5.0 Copyright (c) 1988, 1996 Borland International
Сборщик: Turbo Link Version 7.1.30.1 Copyright (c) 1987, 1996 Borland International
Отладчик: Turbo Debugger Version 5.1 Copyright (c) 1988, 1996 Borland International
Исполняемый код: файл alrmclck.com (1150 байт) и unldtsr.exe (1700 байт)
Размер резидентной части программы без переменных окружения: 1328 байт
2.Модульная структура программного обеспечения.
Программа делится на резидентную и нерезидентную (инициализирующую) части. Резидентная часть необходима для отслеживания нажатых клавиш и проверки выгрузки и загрузки программы, а нерезидентная нужна для инициализации резидентной части и для обработки командной строки.
См. документ “Модульная структура программы”.
3.Описание модулей программного обеспечения.
См. документ “Схема взаимодействие с аппаратурой”.
4.Данные и файлы данных программного обеспечения
4.1.Файл alrmclck.com
Имя | Размер | Хранящиеся данные |
old_09 | 4 байта | Адрес старого обработчика прерывания 09h |
old_2F | 4 байта | Адрес старого обработчика прерывания 2fh |
old_08 | 4 байта | Адрес старого обработчика прерывания 08h |
mess_loaded | 35 байта | Строка ‘Program was succesfully loaded !!!’ |
mess_load | 31 байта | Строка ‘Program has already loaded !!!’ |
mess_help | 352 байт | Строка справки |
error_param | 16 байт | Строка ‘Error param !’ |
control_line | 10 байт | Строка ‘ 00:00:00 ’ |
alarm | 10 байт | Строка ‘•00:00:00 ‘ |
alarm_position | 2 байта | Координаты будильника на экране |
output_line | 10 байт | Строка ‘ 00:00:00 ’ |
start_position | 2 байта | Координаты часов на экране |
flag | 1 байт | Признак равенства строки будильника и часов |
color | 1 байт | Признак окраски фона будильника |
sound | 1 байт | Признак выдачи звукового сигнала |
clear_line | 11 байт | ‘ ’ – 11 пробелов |
4.2.Файл unldtsr.exe
Имя | Размер | Хранящиеся данные |
mess_hasnt_load | 33 байт | Строка ‘Program hasnt already loaded !!!’ |
mess_unload | 45 байт | Строка ‘Program unloaded and interrupts restored !!!’ |
5.Основные алгоритмы программного обеспечения.
Алгоритмы программ чаще всего разветвляющиеся, с условными и безусловными переходами. Алгоритмы разбиты на небольшие логические части, каждая из которых отвечает за определенные функции.
См. документ “Блок-схема алгоритма программы”.
6.Процедуры и функции программного обеспечения
Название | Входные данные | Выходные данные | Описание |
new_09 | нет | нет | Процедура обработчика прерываний от клавиатуры |
new_2F | AH-признак пользовательской функции (0xFF) AL-опция (0x00-проверка наличия, 0x01-выгрузка) | AL-результат (0xAA-загружена) | Процедура обработчика проверки наличия резидента в ОП |
new_08 | нет | нет | Процедура обработчика прерываний от таймера |
bcd2asc | AL - упакованное BCD-число | AH - преобразованная ASCII старшая цифра BCD-числа AL - преобразованная ASCII младшая цифра BCD-числа | Процедура преобразования BCD-числа в ASCII-символ |
STR_OUT | DX - адрес строки | нет | Процедура вывода строки на экран |
HELP | нет | нет | Процедура проверки параметра командной строки |
BEEP | нет | нет | Процедура выдачи звукового сигнала |
ATOI | control_line - строка, DI - номер символа | AH - число | Функция преобразования строки (2 символа - control_line[DI] и control_line[DI+1]) в однобайтовое число |
7.Вектора прерываний программного обеспечения, переопределяемые в программе.
В программе переопределяются 2 вектора прерываний:
09h – для обработки клавиши F1, F2
2Fh – для возможности проверки наличия программы в памяти, а также для выгрузки резидентной части программы.
08h – для вывода на экран времени, на которое установлен будильник, текущего времени, а также их сравнения, и выдачи сигнала при необходимости.
5