- •Лабораторная работа №1. Средства разработки и отладки систем на базе оэвм мс68нс705с8.
- •1.1. Теоретическая часть.
- •1.1.1. Отладочный модуль м68нс05еvм.
- •Блок оэвм.
- •Последовательный интерфейс.
- •Блок программирования.
- •Порты расширения.
- •Внешнее пзу с отладчиком evm-bug.
- •Псевдо-пзу.
- •1.1.2. Команды отладчика evm-bug. Начало работы.
- •Команды отладчика evm-bug.
- •Ассемблер/дизассемблер (asm - аSseMbler).
- •Заполнение области памяти (bf - Block Fill).
- •Запуск программы на выполнение (g - Go to).
- •Помощь (help).
- •Прозрачный режим (tm - Transparent Mode).
- •Загрузка (load).
- •Отображение памяти (md - Memory Display).
- •Изменение памяти (mm - Memory Modify).
- •Отмена точки останова (nobr - no bReakpoint).
- •Выполнять без учета точек останова (p - Proceed).
- •Отображение регистров (rd - Registers Display).
- •Изменение регистров (rm - Registers Modify).
- •Скорость обмена (speed).
- •Трассировка (т - Trace).
- •1.1.3. Работа с сервером.
- •Запуск и работа ассемблера.
- •1.1.4. Кросс-ассемблер. Формат исходной программы. Формат оператора.
- •Поле метки.
- •Поле команды.
- •Поле операнда.
- •Двухоперандные выражения.
- •Временное переключение систем счисления.
- •Поле комментариев.
- •Элементы программы, определяемые пользователем.
- •1.1.5. Директивы ассемблера.
- •1.2.2. Использование средств сервера для подготовки и загрузки программ.
- •1.3. Контрольные вопросы.
1.2.2. Использование средств сервера для подготовки и загрузки программ.
В качестве примера использования средств сервера для подготовки, ассемблирования и загрузки программ будем использовать рассмотренную выше программу, внеся в нее необходимые изменения и дополнения (текст измененной программы приведен несколько ниже).
Выполним последовательность действий, описанную в разделе "Работа с сервером" из теоретической части.
После выполнения команды перехода в прозрачный режим (ТМ) с последующим двукратным нажатием<RETURN> на дисплее появится сообщение от сервера терминалов:
VCP-300 V4.463
Please type HELP if you need assistance
Enter username>
На запрос имени пользователя необходимо ввести Ваш код в формате ФтГрНр (факультет/группа/номер), например, mp5211.
Теперь, когда установлена связь с сервером терминалов, необходимо произвести соединение с центральной ЭВМ, для чего нажмите клавишу <F16>.
После следующего сообщения следует ввести Ваше регистрационное имя:
login: mp5211
Далее экран очистится и Вы попадаете в редактор. В верхней части экрана находится строка состояния, в которой указана справочная информация следующего вида:
IA |
* [Unnamed] |
Col 2 |
Row 1 |
18:17 |
<F1> to help |
1 |
2 |
3 |
4 |
5 |
6 |
Если файл был изменён, это индицируется символом *.
Имя файла или ‘[Unnamed]’, если оно не задано.
Номер колонки, где расположен курсор.
Номер строки, в которой находится курсор.
Текущее время.
Как вызвать текущий экран справки по командам редактора.
Переключение режима вставки/замены символов производится клавишей <Ins./Repl> на дополнительной клавиатуре.
Для создания нового файла10 нажмите <F3> и укажите его имя:
Name of file to edit (^C to abort): example.S <Return>
Теперь можно приступить к вводу программы. Текст вводится в соответствии с правилами, указанными в разделе "Кросс-ассемблер" теоретической части и выглядит следующим образом (комментарии пишите латинскими буквами или опустите):
.radix h ; шестнадцатиричная система по ; умолчанию
.area sys (abs,ovr) ; обязательная команда в каждом файле
.org 0100 ; начальный адрес программы $0100
store = 60 ; адрес хранения результата
sta *store ; символ*служит для указания кросс-
ldx #10 ; ассемблеру, что необходимо генерировать
; код команды с прямой адресацией
L1: lda 4F,x
add *store
sta *store
decx
bne L1
nop
Для сохранения программы необходимо нажать клавишу <F2>, после этого в нижней строке экрана появится приглашение подтвердить сохранение файла под данным именем (в этом случае просто нажмите <Return>) или записать на диск с другим названием:
Name of file to save (^C to abort): example.S <Return>
Для обращения к существующему файлу в последующих сеансах работы на вопрос о вводе имени файла нажмите дважды <Tab> и выберите при помощи клавиш ? и ? требуемое имя. Так же происходит обращение к стеку ранее введённых имён (при помощи ? и ?).
Перед трансляцией необходимо сохранить изменённый файл и выбрать тип кроссассемблера клавишей F7:
Please select, 1.M68000 / 2.M68HC05: 2
Ассемблирование запускается нажатием клавиши <F8>. Если при отладке программы обнаружены ошибки, то в нижнем окне появится полный их перечень - нажмите <S8>. Теперь можно перемещаться по ошибкам, нажимая <F6> или <S6> (о назначении этих функциональных клавиш см. cоответствующий раздел этой работы)11.
После успешного ассемблирования формируется файл в формате Motorola S-records, готовый к загрузке в память модуля.
Теперь можно выйти из прозрачного режима и переписать объектный код программы в память модуля, для чего следует нажать клавишу <F9>, при этом экран очистится и появится следующее сообщение:
Now press <Ctrl-A> then type:
load h=@
Download operation will be started ....
После ввода <Ctrl-A> происходит разъединение с центральной ЭВМ (которая продолжает, тем не менее, ожидать от отладочного модуля сигнала к началу загрузки) и выход в монитор EVM-bug. Далее следует ввести команду загрузки load h=@ (после load необходим пробел), которая посылает центральной ЭВМ символ начала загрузки и производит загрузку объектного файла программы в память модуля. Теперь с программой можно работать с помощью директив монитора. Проверьте правильность загрузки программы в память ОЭВМ, а также правильность ее работы, используя последовательность действий из раздела "Режимы выполнения программ". Особое внимание обратите на то, что выходить из редактора, используя <Ctrl-A> не рекомендуется, т.к. при всех дальнейших попытках войти в редактор будет выдано сообщение:
IDS: you cannot be logged twice in system !
Если Вы хотите выйти из редактора, не загружая объектный код в ОЗУ отладочного модуля, нажимайте <F10> до тех пор , пока не увидите приглашение VCP> и затем нажмите <Ctrl-A> для возврата в EVM-bug.