- •Лабораторная работа 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. Подготовка, ассемблирование и загрузка программы с помощью программных средств сервера.
Лабораторная работа N1.
Лабораторная работа n1. Изучение программно-аппаратных средств разработки и отладки систем на базе mc68000. Введение
В лабораторной работе изучается комплекс программно-аппаратных средств, предназначенный для отладки программ и схемотехники разрабатываемых устройств на базе микропроцессора MC68000 фирмы Motorola, базовой модели широко распространенного семейства 68000. Структурная схема комплекса представлена на рис.1.в. Как видно из рисунка, в состав комплекса входят два устройства:
- Терминал, обеспечивающий ввод директив и данных, а также отображение сообщений и различного рода информации;
- Учебный одноплатный компьютер SBC68K (Single Board Computer) на основе процессора MC68000, позволяющий загружать и выполнять программы, выполнять различные операции с памятью и регистрами процессора, а также многие другие функции описанные ниже.
Рис.1.в. Структура учебно-отладочного комплекса.
Связь между терминалом и платой SBC68K осуществляется по последовательному интерфейсу RS-232. Управление диалогом осуществляет специальная программа - монитор TUTOR, записанная в ПЗУ SBC68K, которая выводит на экран терминала сообщения, воспринимает директивы с клавиатуры терминала и выполняет необходимые действия.
Плата SBC68K имеет возможность подключения терминала непосредственно к серверу терминалов, что позволяет использовать текстовый редактор и кросс-ассемблер для подготовки исходного текста программы, ассемблирования его и загрузки объектного кода, получившегося в результате, в ОЗУ платы SBC68K для последующего выполнения и анализа.
Целью данной лабораторной работы является практическое ознакомление с перечисленными выше программно-аппаратными средствами и подготовка к выполнению последующих работ лабораторного практикума, посвященного изучению микропроцессора MC68000 и подключенных к нему интерфейсных устройств.
Теоретическая часть
Прежде чем перейти к подробному рассмотрению программно-аппаратного комплекса, предназначенного для разработки и отладки программ и схемотехники устройств на базе микропроцессора МС68000, необходимо дать краткую вводную информацию о самом процессоре, которой и посвящен первый раздел.
1. Программная модель мп мс68000
1.1 Внутренние регистры
МП МС68000 имеет 32-битовую внутреннюю структуру и поэтому может выполнять арифметические и логические операции над 32-разрядными числами.
Технические средства МП 68000, используемые для программирования, показаны на рис.1.1. Регистры общего назначения объединены в два набора - регистры данных (D0-D7) и адресные регистры (A0-A7).
ᄉ ᄃ
Рис. 1.1. Набор регистров МП МС68000.
Регистры данных Dn
В МП МС68000 программно доступны восемь регистров данных, обозначенных D0-D7. Каждый из них может быть использован как источник операнда, приемник операнда или как сам операнд. Регистром данных можно оперировать как байтом (8 бит), словом (16 бит) или длинным словом (32 бита). При байтовых операциях используются только младшие 8 бит, а при операциях со словами-младшие 16 бит. Старшие биты в этих операциях не участвуют.
В действительности, команды, оперирующие байтами и словами, вообще не имеют доступа к старшим разрядам регистра данных. Таким образом, чтобы изменить содержимое только старшего байта регистра Dn, нужно переписать содержимое 32-разрядного регистра в память, изменить в памяти соответствующий байт, а затем считать из памяти двойное слово в регистр Dn.