Вычислительные машины, системы и сети

Вычислительные машины, системы и сети


Заказать
Дисциплина 'Вычислительные машины, системы и сети'
2 текстовые лабораторные работы

ЛАБОРАТОРНЫЕ РАБОТЫ

Введение

В процессе выполнения данных лабораторных работ студенты должны получить навык по программированию драйверов для управления ПУ. При этом в качестве ПУ рассматриваются наиболее доступные и распространенные устройства - экран и клавиатура.
При выполнении лабораторных работ требуется доступ к MS-DOS, запускаемой в среде операционной системы Windows 95 или 98. А также требуется наличие системных программ: 1) Tasm - транслятор ассемблера; 2) Tlink - редактор связей; 3) Debug - отладчик.
Результаты лабораторных работ оформляются в виде файлов, пересылаемых в ТМЦДО на дискете. Все исходные программы (файлы с расширением asm) должны быть снабжены программными комментариями. При этом особое внимание следует уделить вводным комментариям, поясняющим назначение и интерфейсы программных модулей.

Лабораторная работа №1
ПРОГРАММИРОВАНИЕ ДРАЙВЕРА ЭКРАНА

Задание

Требуется реализовать программно нерезидентный драйвер экрана с видеоадаптером CGA, логическая схема которого приведена на рис.40. Кроме того, требуется разработать прикладную программу, выполняющую вывод на экран ваших фамилии и имени, и, возможно, другой информации (по вашему усмотрению), используя для вывода на экран ваш драйвер. Цвет символов, выводимых на экран, а также цвет фона должны быть выбраны из таблицы 3 в зависимости от номера вашего варианта.

Таблица 3
К Цвет символов Цвет фона
1 черный зеленый
2 синий коричневый
3 зеленый красный
4 голубой черный
5 красный сиреневый
6 сиреневый зеленый
7 коричневый голубой
8 белый черный
9 серый ярко-красный
10 ярко-синий ярко-зеленый
11 ярко-зеленый ярко-белый
12 ярко-голубой ярко-красный
13 ярко-красный желтый
14 ярко-сиреневый ярко-синий
15 желтый ярко-голубой
16 ярко-белый желтый
17 серый ярко-красный
18 ярко-синий серый
19 ярко-зеленый ярко-синий
20 ярко-голубой желтый

Результат выполнения работы оформляется в виде двух файлов с расширением asm (исходные тексты прикладной программы и драйвера) и одного файла с расширением com (загрузочный модуль прикладной программы и драйвера). Все файлы должны быть помещены в каталог LAB1.

Рекомендуемый план отладки

Рекомендуется выполнять отладку драйвера экрана не целиком, а постепенно наращивая его функции в соответствии со следующим планом.
Шаг 1. Прикладная программа выполняет вызов процедуры инициализации, за которым следуют ожидание нажатия клавиши и возврат в MS-DOS. Процедура инициализации выполняет только очистку экрана заданным цветом фона.
Шаг 2. Отличается от шага 1 только тем, что процедура инициализации выполняет не только очистку экрана, но и первоначальную установку курсора.
Шаг 3. Прикладная программа выполняет вызов процедуры инициализации, за которым следуют ожидание нажатия клавиши. Далее она в цикле вызывает процедуру вывода символа, передавая ей каждый раз на вход код следующего символа из символьной строки, заданной в прикладной программе. Данная строка завершается каким-то особым байтом, например, 24h. После завершения вывода прикладная программа ожидает нажатия клавиши и выполняет возврат в MS-DOS.
Шаг 4. Отличается от шага 3 тем, что выводимая на экран символьная строка содержит кроме других символов "возврат каретки" и "перевод строки".
Примечание 1. При выполнении отладки обычно требуется уметь остановить выполнение программы в заданной точке. В данной работе при выполнении прикладной программы подобная остановка используется дважды. Во-первых, после завершения процедуры инициализации, так как требуется время на перемещение курсора. Во-вторых, программа приостанавливается перед возвратом в MS-DOS. В противном случае сразу же после возвращения управления из прикладной программы в MS-DOS, последняя заменит на экране выходные данные программы своими данными.
Для выполнения остановки программы можно воспользоваться си-стемным вызовом BIOS "ожидание ввода с клавиатуры" - INT 16h (функция 0), поместив в программу строки:

MOV AH, 0 ; Номер функции
INT 16h ; Вызов подпрограммы BIOS

Примечание 2. Обе программы не должны содержать системных вызовов MS-DOS и BIOS, выполняющих вывод на экран.
Примечание 3. При отладке подпрограммы, выполняющей работу с курсором, надо помнить, что подпрограммы MS-DOS и BIOS, выполняющие вывод на экран, будут игнорировать вашу установку курсора и вернут его в то положение, которое он занимал до начала выполнения вашей программы (соответствующее 2-х байтовое значение хранится в области данных BIOS). Например, если вы пользуетесь отладчиком, то во время работы курсор перестает "слушаться" вашу программу и не двигается с места.
Примечание 4. Так как драйвер экрана и прикладная программа находятся в разных исходных файлах, то имена программных процедур, выполняющих реализацию логических процедур "Инициализация экрана" и "Вывод символа"должны быть перечислены в операторах PUBLIC и EXTRN, причем оператор EXTRN с атрибутом NEAR.
Примечание 5. Если программная процедура выполняет запись в регистр DS, то в начале этой процедуры обязательно требуется сохранить, а в конце ее восстановить прежнее содержимое этого регистра. Иначе в вызывающей программе будет нарушена адресация данных.

Лабораторная работа №2
ПРОГРАММИРОВАНИЕ ДРАЙВЕРА КЛАВИАТУРЫ

Задание

Требуется разработать программу нерезидентного драйвера клавиатуры, выполняющего запросы прикладных программ по вводу символов с клавиатуры. Драйвер должен обрабатывать управляющую клавишу <CapsLock>, выполняющую переключение регистров. Перед возвратом в MS-DOS выполняется восстановление системной обработки прерываний от клавиатуры.
Для проверки работоспособности драйвера клавиатуры используется прикладная программа, которая, используя драйвер клавиатуры, выполняет ввод символьной строки с клавиатуры в свой внутренний (прикладной) буфер. Получив код символа $ (24h), прикладная программа выводит содержимое своего буфера на экран, используя для этого драйвер экрана, полученный в результате первой лабораторной работы.
При правильной работе программы введенная с клавиатуры строка должна отобразиться на экране дважды: один раз при наборе на клавиатуре (эхо символов), а второй раз - как результат вывода на экран содержимого прикладного буфера.
Результат выполнения работы оформляется в виде двух файлов с расширением asm (исходные тексты прикладной программы и драйвера клавиатуры) и одного файла с расширением com (загрузочный модуль, включающий прикладную программу, а также драйверы экрана и клавиатуры). Все файлы должны быть помещены в каталог LAB2.

КОНТРОЛЬНАЯ РАБОТА № 2

РАЗРАБОТКА ПРОГРАММЫ НА АССЕМБЛЕРЕ

Варианты контрольной работы №2

Вариант 1. Резидентная программа инициируется нажатием клавиши <F1> и выводит на экран ваши имя и фамилию, записанные английскими буквами. При нажатии клавиши <F2> программа уничтожается.
Примечание. Для вывода на экран следует использовать свой драйвер экрана.
Вариант 2. Резидентная программа инициируется нажатием клавиши <F2> и выводит на экран ваши имя и фамилию, записанные русскими буквами. При нажатии клавиши <F1> программа уничтожается.
Примечание. Для вывода на экран следует использовать свой драйвер экрана.
Вариант 3. Разработать простейший отладчик программ, который получает имя загрузочного модуля прикладной программы в качестве своего параметра, и выполняет эту программу покомандно, выдавая после завершения каждой ее команды на экран содержимое регистров AX и BX в шестнадцатеричной системе счисления. (Некоторый аналог команды T Debug.)
Примечание 1. Работа программы основана на запуске трассируемой программы и обработке исключения "Трассировка" (см. замечание в конце п.2.6.2).
Примечание 2. Для вывода на экран шестнадцатеричного содержи-мого регистров можно использовать программную процедуру, алгоритм которой рассматривается в [2].
Вариант 4. Разработать простейший отладчик программ, который вводит с клавиатуры имя загрузочного модуля прикладной программы, и выполняет эту программу покомандно, выдавая после завершения каждой ее команды на экран содержимое регистров CX и DX в двоичной системе счисления. (Некоторый аналог команды T Debug.)
Примечание 1. Работа программы основана на запуске трассируемой программы и обработке исключения "Трассировка" (см. замечание в конце п.2.6.2).
Примечание 2. Для вывода на экран двоичного содержимого регистров можно использовать программную процедуру, алгоритм которой рассматривается в [2].
Вариант 5. Разработать простейший интерпретатор команд, выполняющий обработку командных файлов (bat-файлов). Имя командного файла вводится с клавиатуры. Имя запускаемой программы (строка bat-файла) не имеет параметров. После завершения запуска очередной программы на экран выводится сообщение об успешности запуска.
Вариант 6. Разработать простейший интерпретатор команд, выполняющий обработку командных файлов (bat-файлов). Имя командного файла интерпретатор команд получает при своем запуске (в качестве параметра команды). Имя запускаемой программы (строка bat-файла) не имеет параметров. После завершения запуска очередной программы на экран выводится сообщение об успешности запуска.
Вариант 7. Прикладная программа выполняет запуск другой (дочерней) прикладной программы, получив предварительно ее имя с клавиатуры. При своем запуске дочерняя программа получает на входе (в PSP) строку символов, которую она выводит на экран.
Примечание. Для вывода на экран дочерняя программа должна использовать ваш драйвер экрана.
Вариант 8. Прикладная программа выполняет запуск другой (дочерней) прикладной программы, получив ее имя в качестве своего параметра (хвоста команды). При своем запуске дочерняя программа получает на входе (в PSP) строку символов, которую она выводит на экран.
Примечание. Для вывода на экран дочерняя программа должна использовать ваш драйвер экрана.
Вариант 9. Прикладная программа выводит на экран содержимое своего блока окружения.
Примечание. Для вывода на экран программа должна использовать ваш драйвер экрана.
Вариант 10. Прикладная программа выполняет уничтожение файла. Имя уничтожаемого файла вводится с клавиатуры.
Примечание. Для ввода с клавиатуры и для вывода на экран следует использовать ваши драйверы.
Вариант 11. Прикладная программа вводит с клавиатуры имя нового текстового файла, записывает в него содержимое своего блока окружения, а также "хвоста", а затем выводит содержимое этого файла на экран.
Вариант 12. Прикладная программа вводит с клавиатуры имя существующего текстового файла, "дописывает" в него содержимое своего блока окружения, а также "хвоста", а затем выводит содержимое этого файла на экран.
Вариант 13. Резидентная программа инициируется из прикладной программы, выполняя вывод на экран блока окружения и "хвоста" при-кладной программы.
Примечание. Для того чтобы обрабатывать данные вызывающей программы, содержимое регистров сегментов данных должно соответствовать прикладной, а не резидентной программе.
Вариант 14. Прикладная программа вводит с клавиатуры имена двух существующих текстовых файлов, а затем инициирует резидентную программу (передав ей на вход через PSP имена файлов), которая "расширяет" первый файл, добавив в него содержимое второго файла.
Вариант 15. Прикладная программа вводит с клавиатуры имя существующего текстового файла, а затем выводит его содержимое на экран.
Примечание. Для вывода на экран следует использовать свой драйвер экрана.
Вариант 16. Прикладная программа получает в качестве параметра команды имя существующего текстового файла, а затем выводит его содержимое на экран.
Примечание. Для вывода на экран следует использовать свой драйвер экрана.
Вариант 17. Прикладная программа вводит с клавиатуры имя тек-стового файла, содержащего имена других текстовых файлов. А затем выводит на экран содержимое этих текстовых файлов.
Вариант 18. Прикладная программа получает в качестве параметра команды имя текстового файла, содержащего имена других текстовых файлов. А затем выводит на экран содержимое этих текстовых файлов.
Вариант 19. Прикладная программа выполняет копирование файла. Имена исходного файла и файла-копии вводятся с клавиатуры.
Примечание. Для вывода на экран следует использовать свой драйвер экрана.
Вариант 20. Прикладная программа выполняет копирование файла. Имя исходного файла вводится с клавиатуры, а имя файла-копии программа получает в качестве параметра команды.
Примечание. Для вывода на экран следует использовать свой драйвер экрана.


Форма заказа

Для удобства наших клиентов, проходящих обучение на ФДО ТУСУРа, была создана данная форма заказа, с помощью которой Вы можете БЕСПЛАТНО УЗНАТЬ СТОИМОСТЬ оказания помощи в выполнении работ по тем дисциплинам, которые Вам необходимы. Если Вы хотите заказать ОПТОМ выполнение одного и более семестров, то мы предложим Вам выполнение работ под ключ по самым выгодным ценам. Пожалуйста свяжитесь с нами по следующим контактам

Помощь студентам ФДО ТУСУР
Пожалуйста, заполните все необходимые поля формы:

Ваше имя*:
Ваш город*:
Ваша страна:
Ваш E-mail*:
Сотовый:
ICQ:
Ваша учебная специальность:

Список дисциплин и работ, которые необходимо выполнить*:
Работы необходимо выполнить до:


Введите код с картинки:
код

ВНИМАНИЕ ! На работу предоставляется гарантия - т.е. мы БЕСПЛАТНО внесем в её текст все необходимые дополнения/изменения если это потребуется в будущем (в течение 6-и месяцев). Другими словами - в течение полугода Вы можете обращаться с доработками данного заказа по рецензиям преподавателя (включая просто дополнительные вопросы преподавателя) - мы всё сделаем БЕСПЛАТНО и в кратчайшие сроки (стандартное время доработки: 2-3 дня, если нужно экстренно - то 24 часа). Заказ будет дорабатываться неограниченное количество раз в рамках 6-и месяцев с момента первичного выполнения заказа, если доработки понадобятся по истечении данного срока, то они также возможны, но за дополнительную плату. Критерием защиты работы является оценка 4(хорошо), либо получение зачёта. Если Вы получите зачёт с оценкой 3(удовлетворительно) это будет считаться достижением цели. Вы не вправе требовать от нас частичный возврат средств если Вам поставят тройку, т.к. мы готовы дорабатывать заказ до четверки, если есть техническая возможность такой пересдачи.

 Я принимаю Пользовательское соглашение