Док 6 - Техническое описание (КП - управление принтером, 1 вариант)
Описание файла
Файл "Док 6 - Техническое описание" внутри архива находится в следующих папках: КП - управление принтером, 1 вариант, max. Документ из архива "КП - управление принтером, 1 вариант", который расположен в категории "". Всё это находится в предмете "системное программирование" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "системное программирование" в общих файлах.
Онлайн просмотр документа "Док 6 - Техническое описание"
Текст из документа "Док 6 - Техническое описание"
Московский Государственный Технический Университет им. Н.Э.Баумана
Утверждаю:
Большаков С.А.
«___»____________ 2003 г.
Курсовая работа по дисциплине СП
«Управление принтером»
техническое описание
(вид документа)
А4
(носитель)
_____________
(кол-во листов)
Выполнил:
студент группы ИУ5-53
Пыченков А.Б.
Москва
2003
СОДЕРЖАНИЕ
-
Общие сведения
-
Данные и файлы данных
-
Процедуры и функции
-
Переопределяемые в программе векторы прерываний
-
Общие сведения
Исходный код, язык: Assembler
Компилятор: Turbo Assembler Version 3.2i Copyright (c) 1988, 1992 Borland International
Сборщик: Turbo Link Version 5.1 Copyright (c) 1992 Borland International
Исполняемый код: файл prnctl.com (857 байт) и unldtsr.exe (892 байта)
-
Данные и файлы данных
Файл prnctl.com
Резидентная часть:
Имя | Размер | Хранящиеся данные |
oldKeybVector | 4 байта | Старый вектор обработчика прерываний от клавиатуры |
oldMyVector | 4 байта | Старый вектор обработчика прерывания 2fh |
currentFont | 1 байт | Текущий шрифт – 0 или 1 |
currentSize | 1 байт | Текущий режим – 0 или 1 |
f1key | 16 байт | Строка «Прогон страницы» |
f2key0 | 8 байт | Строка «Шрифт 1» |
f2key1 | 8 байт | Строка «Шрифт 2» |
f3key0 | 8 байт | Строка «Режим 1» |
f3key1 | 8 байт | Строка «Режим 2» |
screenbuffer | 40 байт | Буфер для хранения участка экрана, на котором выводится надпись статуса |
Нерезидентная часть (загрузчик)
Имя | Размер | Хранящиеся данные |
alreadyPresentsStr | 26 байт | Строка «Программа уже загружена» |
loadedStr | 19 байт | Строка «Программа загружена» |
helpStr | 117 байт | Строка «prnctl.com - управление принтером, Для выгрузки программы используйте unldtsr.exe, автор: Пыченков Алексей, ИУ5-53» |
cmdErrStr | 66 байт | Строка «Неверный аргумент. Для получения справки введите prnctl.com /?» |
Файл unldtsr.exe
Имя | Размер | Хранящиеся данные |
notpresentstr | 34 байт | Строка «Программа не загружена в память» |
unloadedstr | 32 байт | Строка «Программа выгружена из памяти» |
-
Процедуры и функции
Название
Входные данные
Выходные данные
Описание
storebuffer
Участок видеопамяти длиной 40 байт
screenbuffer
Данная процедура сохраняет начало видеопамяти в переменной screenbuffer
printbuffer
screenbuffer
Участок видеопамяти длиной 40 байт
Данная процедура записывает содержимое массива screenbuffer в видеопамять
printstring
si – указатель на начало строки
Участок видеопамяти
Эта процедура выводит строку, на которую указывает si на экран ярко-голубым цветом на черном фоне
keybdint
нет
screenbuffer, currentFont, currentSize
Процедура-обработчик прерывания 9h от клавиатуры. В зависимости от нажатых клавиш выводит на экран нужную надпись, подает команды принтеру и восстанавливает экран
myint
ah – идентифицирующий номер программы, al – номер функции
ax
Это – процедура-обработчик прерывания 2fh. Она используется для проверки наличия программы в памяти (al=1) или выгрузки программы с восстановлением старых векторов прерывания(al=2)
главная функция
нет
нет
Реализует резидентную загрузку программы в память, обработку параметров командной строки, запоминание старых векторов прерываний 09h и 2fh
-
Переопределяемые в программе векторы прерываний
В программе переопределяются 2 вектора прерываний:
-
09h – для обработки сочетаний клавиш Ctrl+F1, Ctrl+F2, Ctrl+F3 с последующим выводом надписи и подачи команды принтеру
-
2fh – для возможность проверки наличия программы в памяти, а также для выгрузки имеющейся части