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

Эмулятор ос cp/m

Эмулятор 80cpm.exe рассчитан на исполнение на PC под управлением ДОС; при некоторых условиях возможна работа в среде Win 95/98. Эмулируются большинство возможностей CP/M; файловая система не поддерживает низкоуровневые системные вызовы; порты ввода/вывода недоступны; объем памяти - 64К.

Из программных продуктов, поддерживаемых CP/M, доступны по крайней мере следующие:

- отладчик SID;

- макроассемблер MAC;

- ассемблер ASM

Написание текстов программ с помощью текстовых редакторов CP/M возможно, но нецелесообразно. Рекомендуется тексты обрабатывать встроенным текстовым редактором ДОС файловых менеджеров FAR, VC, NC.

Лабораторная работа 1 "Работа в ОС CP/M "

Цель работы:

изучение возможностей ОС CP/M и подготовка к проектированию программ на языке 8080.

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

Изучить основные особенности CP/M.

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

Насколько подобны интерфесные особенности CP/M и MS DOS при запуске последней в режиме командной строки?

Насколько подобны структурные особенности CP/M и MS DOS?

Как запускаются на исполнение программы в среде CP/M?

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

Подготовить рабочую папку для выполнения эмулятора и сохранения рабочих файлов

Записать в рабочую папку следующие программы:

80cpm.exe

z80mu.exe

sid.com

sid3.com

mac.com

test1.com

Загрузить эмулятор 80cpm.exe.

Проверить функционирование встроенных команд ОС CP/M

dir, ren, save, type

Запустить CP/M программу TEST1.COM и наблюдать процесс ее выполнения.

Запустить отладчик SID. Найти корректный способ возврата в ОС CP/M.

Найти корректный способ выхода из эмулятора в ОС CP/M.

Методические указания Контрольные вопросы

Какие области памяти используются ОС?

С какого адреса загружается программа?

Какой объем памяти доступен для использования прикладными программами?

Лабораторная работа 2 "Исследование отладчика sid. Программирование в кодах 8080".

Цель работы:

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

Изучить основные особенности отладчика SID.

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

Как завершить выполнение отладчика и вернуться в CP/M?

С какого адреса после загрузки отладчика можно располагать отлаживаемые пограммы?

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

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

Проверить функционирование директивы D отладчика - вывод содержимого области памяти в шестнадцатеричном и символьном виде на экран:

>D

>D100

>D100,120

Проверить функционирование директивы S отладчика - просмотр и модификация заданных ячеек памяти

>S100

Проверить функционирование директивы L отладчика - вывод содержимого области памяти в мнемоническом виде (встроенный дизассемблер) на экран

>L100

Проверить функционирование директивы X отладчика - вывод содержимого регистров общего назначения (РОН) 8080 в шестнадцатеричном виде на экран

>X

Ввести начиная с адреса 0100H код команды межрегистровой пересылки MOV A,B

>S100 ??

Проверить функционирование директивы G - запуск программы с точками останова на примере ранее введенной команды:

>G100,101.

Ввести начиная с адреса 0100H код команды считывания ячейки памяти LDA 0840H

>S100

100 ?? 3A

101 ?? 40

102 ?? 08

103 ?? .

Просмотреть директивой D введенные коды:

D100,103

Просмотреть директивой L введенную. команду в символическом обозначении:

L100,103

Выполнить введенную команду директивой G:

>G100,103

Наблюдать содержимое аккумулятора:

>X

Проверить содержимое ячейки 0840Н на равенство содержимому аккумулятора:

>D840

Изменить директивой S содержимое ячейки 0840 и повторить исследование команды

LDA 0840H

Исследовать аналогичным образом команды

- записи в ячейку памяти

- загрузки байтовой константы в регистр

- загрузки двухбайтовой константы в регистровую пару

- отдельные логические команды

- команду XCHG

- команды инкрементирования и декрементирования регистров и регистровых пар.

Написать программу, считывающую в регистр С содержимое ячейки памяти 0840H с использованием косвенной адресации.

Ввести коды команд директивой S начиная с адреса 100H

Проверить правильность набора директивой L

Выполнить программу директивой Gadr,ostanov1

Убедиться в правильности функционирования программы.

Ранее написанную программу ввести начиная с адреса 0100H более удобным способом - с помощью директивы A.

Проверить правильность набора директивой L.

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

Для выяснения кодов команд 8080 воспользуйтесь таблицей из ПРИЛОЖЕНИЯ

Для выяснения директив отладчика воспользуйтесь таблицей из ПРИЛОЖЕНИЯ

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

Какими способами сохраняется и восстанавливается рабочая область памяти при отладке?

Какие директивы отладчика позоляют