- •Лабораторная работа n1. Изучение программно-аппаратных средств разработки и отладки систем на базе mc68000. Введение
- •Теоретическая часть
- •1. Программная модель мп мс68000
- •1.1 Внутренние регистры
- •Регистры данных Dn
- •Регистры адреса
- •Программный счетчик рс (Program Counter)
- •Регистр состояния sr (Status Register)
- •1.2. Форматы данных и размещение данных в памяти Форматы данных
- •Форматы команд
- •2. Структура и возможности учебного одноплатного компьютера sbc68k
- •Структура организации памяти модуля sbc68k
- •Каналы последовательного обмена.
- •Порты параллельного ввода/вывода.
- •Программируемые таймеры/счетчики.
- •Контроллер дисковода.
- •3. Встроенный монитор (отладчик)
- •Инициализация системы.
- •Символы управления терминалом.
- •Формат командной строки.
- •Выражение в качестве параметра.
- •Адрес в качестве параметра.
- •Сообщения монитора при выполнении команд.
- •Система команд монитора
- •Заполнение блока памяти (Block of memory Fill)
- •Перемещение блока (Block Move)
- •Ввод точек останова (bReakpoint)
- •Поиск ячеек памяти (Block of memory Search)
- •Преобразование данных (Data Conversion)
- •Отображение состояния регистров процессора.
- •Выполнение программы в реальном времени (go)
- •Непосредственное выполнение программы.
- •Выполнение программы до точки останова (Go unTil breakpoint)
- •Вывод справочной информации (hElp)
- •Загрузка программы в память модуля (lOad)
- •Отображение содержимого памяти (Memory Display)
- •Изменение содержимого памяти (Memory Modify)
- •Запись блока данных в память (Memory Set)
- •Удаление точек останова (nobReakpoint)
- •Отображение/изменение содержимого определенного регистра.
- •"Прозрачный" режим работы последовательных портов (Transparent Mode)
- •Трассировка (tRace)
- •Трассировка до текущей точки останова (Trace to Temporary breakpint)
- •3. Встроенный ассемблер/реассемблер.
- •Язык ассемблера mc68000.
- •Мнемонические обозначения и специальные символы
- •Список символов
- •Директива определения константы dc.W (Define Constant.Word)
- •4. Работа с сервером
- •Запуск и работа ассемблера.
- •Кросс-ассемблер. Формат записи программы.
- •Поле метки
- •Операторы в выражениях.
- •Определение методов адресации.
- •Особенности записи в ассемблере некоторых команд Команды переходов.
- •Команда movem.
- •Команды быстрых вычислений (moveq, addq, subq).
- •Директивы ассемблера. Org Установка начального адреса.
- •Equ Определение имени.
- •Set Установка имени.
- •Reg Определение набора регистров.
- •Dc Определение константы.
- •44 43 20 45 78 61 6D 70 6c 65 0d 0a 00 (в шестнадцатиричном виде). Dbc Определение блока констант.
- •Ds Резервирование памяти.
- •End Конец транслируемого файла.
- •Формат s-Record
- •Содержимое записи s-record.
- •Типы записей s-record.
- •Практическая часть
- •1. Ввод исходных данных и анализ результатов работы программы с помощью команд просмотра и модификации памяти и регистров.
- •2. Ввод программы с помощью встроенного ассемблера
- •3. Режимы выполнения программы
- •4. Подготовка, ассемблирование и загрузка программы с помощью программных средств сервера.
Символы управления терминалом.
Ввод команд пользователя осуществляется через терминал. Для редактирования информации в командной строке используются две клавиши:
·Delete - удаление последнего введенного с терминала символа.
·RETURN - запуск введенной команды на выполнение.
Формат командной строки.
Командная строка монитора имеет следующий формат:
TUTOR 1.32> <команда> [<параметры>] [;<опции>]
ãäå:
TUTOR 1.32> сообщение, которое монитор выводит в начале каждой командной строки;
команда выполняемая команда;
параметры разделяются пробелами и могут иметь две формы: <расширение> и <адрес>;
опции выбор различных вариантов выполнения команды.
Замечания:
·Формат командной строки определяется с использованием специальных символов, которые имеют следующий синтаксический смысл:
< > обязательная синтаксическая переменная.
[ ] необязательное поле.
Эти символы являются определительными и не вводятся пользователем.
·Запуск команды на выполнение осуществляется нажатием клавиши RETURN.
·Между собой поля должны отделятся одним или более пробелами.
Выражение в качестве параметра.
<выражение> может представлять собой одну или несколько численных величин, разделенными между собой арифметическими операциями сложения (+) или вычитания (-). По умолчанию число считается записанным в шестнадцатеричном виде, для записи десятичного числа, перед ним ставится символ "&".
Следует иметь ввиду, что во встроенном ассемблере монитора по умолчанию записываются десятичные числа, а перед шестнадцатеричными ставится символ "$".
Адрес в качестве параметра.
Многие команды используют <адрес> в качестве параметра. Синтаксис, используемый монитором, в данном случае такой же, как и во встроенном ассемблере. Форматы адреса:
1 Формат
|
Пример
|
Описание
|
2 выражение
|
140
|
Абсолютный адрес.
|
3 (Am)
|
(A5)
|
Косвенная регистровая адресация.
|
4 (Am,Dn) 5 (Am,An)
|
(A6,D4)
|
Косвенная регистровая адресация с индексом.
|
6 выражение(An)
|
120(A3)
|
Косвенная регистровая адресация со смещением.
|
7 выражение (Am,Dn) 8 выражение (Am,An)
|
110(A2,D1)
|
Косвенная регистровая адресация с индексом + смещение
|
9 [выражение]
|
[100]
|
Дополнительный косвенный режим адресации (нет в синтаксисе встроенного ассемблера).
|
Сообщения монитора при выполнении команд.
При выполнении большинства команд, использующих параметры, введенная информация отображается на дисплее в физическом формате так, что пользователь может видеть результирующие выражения или адреса. Если при выполнении команды произошла какая-либо ошибка, то также выдается соответствующее сообщение. Например, если произошел доступ к слову памяти по нечетному адресу, то появляется сообщение: "INVALID ADDRESS=XXXXXXXX". В таблице 1 сведены различные виды сообщения, отображаемые монитором TUTOR.
Таблица 1.
Сообщение монитора
|
Содержание
|
ADDR TRAP ERROR
|
попытка доступа к команде по нечетному адресу
|
BUS TRAP ERROR
|
попытка чтения несуществующей памяти
|
CHKSUM=
|
индицирует получение некорректной контрольной суммы или приводит значение корректной
|
DATA DID NOT STORE
|
данные не записываются
|
ERROR
|
общее сообщение об ошибке
|
FAILED AT xx WROTE=y READ=z
|
невозможность произвести чтение или запись, выводится командой BT
|
ILLEGAL INSTRUCTION
|
некорректный машинный код команды в программе
|
INVALID ADDRESS=
|
недействительный адрес: очень большой ("1" в битах 24-31) или нечетный для .W или .L ("1" в бите 0)
|
IS NOT A HEX DIGIT
|
запись некорректного символа в поле, требующее шестнадцатеричной величины
|
NOT HEX=
|
то же самое, что и IS NOT A HEX DIGIT
|
PRINTER NOT READY
|
принтер неправильно подключен или не может принять выходные данные
|
PRINTER IS NOT ATTACHED
|
TUTOR прерывает процесс подключения
|
PC within "DEBUGGER"
|
отображается, если пользователь пытается произвести трассировку монитора
|
SOFTWARE ABORT
|
отображается после нажатия клавиши ABORT
|
SYNTAX ERROR
|
ошибка в командной строке
|
TIMEOUT
|
отображается, если Порт 2 не получает отклик в течение 10с при выполнении команд LO или VE
|
UNDEFINED TRAP 14
|
не определен код системного прерывания
|
WHAT
|
монитор не распознает введенную команду
|