Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб_системное программ.doc
Скачиваний:
21
Добавлен:
07.05.2019
Размер:
249.34 Кб
Скачать

Лабораторная работа 6 "Вывод информации на экран дисплея с использованием системных вызовов ос cp/m".

Приобретение навыков использования системных вызовов операционных систем на примере ОС CP/M.

Приобретение навыков написания программ управления консолью вывода в текстовом режиме.

Подготовка к работе

Повторить темы "Подпрограммы и стек в 8080". Изучить системные вызовы ОС CP/M, связанные с выводом информации на консоль. Обратить внимание на таблицы кодировок символов ASCII, КОИ-8, альтернативную кодировку IBM PC.

Вопросы для самоконтроля

Как выполняется команда вызова подпрограмм 8080?

Каковы главные требования к подпрограмме?

Какие команды 8080 позволяют инициализировать указатель стека?

Программа работ

Получить у преподавателя исходные данные:

- количество и вид программ для отладки - вывод символа, вывод символьной строки, вывод символа в шестнадцатеричном виде, вывод последовательности байтов в шестнадцатеричном виде и т.п.

Написать простейшую программу для вывода символа с кодом из диапазона 31H...39H.

Набрать текст программы, используя встроенный редактор файлового менеджера NC (VC,FAR). Присвоить программе имя и расширение ".ASM".

Загрузить эмулятор

Ассемблировать программу с помощью макроассемблера MAC. Убедиться, что ассемблирование прошло без ошибок.

Загрузить результат ассемблирования, используя возможности отладчика.

Выполнить программу и наблюдать за появлением на экране символа, соответствующего выбранному коду.

Написать программу вывода символьной строки, используя ранее написанный примитив для вывода очередного символа (символьная строка - последовательность символов, расположенных последовательно друг за другом; признаком завершения строки является специальный символ, например '$' 24H или 00H).

Ассемблировать, загрузить и отладить указанную программу.

Отчет должен содержать:

- листинг текста программ с комментариями

- описание структуры данных, используемых в программе

Методические указания

Для написания программ необходимо изучить системный вызов 01 ОС CP/M, описанный в приложении.

При работе с символьными строками возможно два способа определения конца символьной последовательности:

- запись специального символа - признака окончания строки

- задание длины строки в явном виде.

В качестве символа, завершающего строку, в ОС CP/M выбран символ 24H (см. описание функции __), однако удобнее использовать код 00.

При выводе байта в шестнадцатеричном виде используются 2 вызова системной функции 1: сначала выводится символ, соответствующий старшей тетраде (старшие 4 бита выводимого байта), а затем выводится символ, соответствующий младшей тетраде (младшие 4 бита выводимого байта).

Контрольные вопросы

Обязательна ли инициализация стека перед вызовом системной функции?

Почему не совсем удобен выбор символа - признака окончания символьной строки, принятый в CP/M?

Как можно преобразовать тетраду в код символа шестнадцатеричного алфавита?

Каким еще способом можно вывести в ОС CP/M символьную строку на экран?

Можно ли вывести на экран дисплея символы русского алфавита?

Что такое управляющие символы?

Как использовать управляющие символы для улучшения читабельности выводимой информации?

Объяснить принцип методики управления выводом на экран, именуемой "метод ESC - последовательностей".