
- •Лабораторная работа 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. Подготовка, ассемблирование и загрузка программы с помощью программных средств сервера.
1.2. Форматы данных и размещение данных в памяти Форматы данных
Микропроцессор МС68000 позволяет оперировать данными, которые могут быть записаны в следующих форматах:
·беззнаковый двоичный код;
·знаковый двоичный код;
·двоично-десятичный код;
·êîä ASCII.
Беззнаковый двоичный код.
Неотрицательное число может быть представлено в двоичной форме (по основанию числа 2). Таким образом в каждом регистре можно записать неотрицательное число от 0 до 4,294,967,295 (0 - 232-1). Словом можно представить число от 0 до 65535(0 - 216-1), а байтом-от 0 до 255(0 - 28-1).
Знаковый двоичный код.
Для выполнения операций с отрицательными числами используется дополнительный код. В этом формате отрицательное число -N представляется в виде:
-N=2n-N, ãäå
n-число бит, используемых для записи числа. Например десятичное число -45 в форме байта будет записано в следующем виде:
100000000-00101101=11010011,
что может быть полученно инвертированием числа 00101101 и добавлением единицы к результату.
Арифметические операции сложения и вычитания для знаковых чисел выполняются так же как и для беззнаковых. Интепретация результата определяется пользователем.
Двоично-десятичный код.
В двоично-десятичном формате каждая десятичная цифра кодируется четырьмя битами. Таким образом в одном байте может хранится две десятичные цифры. Например число 3509 записывается двумя байтами:
00110101 00001001
МС68000 имеет в своем распоряжении команды, позволяющие выполнять операции сложения и вычитания с использованием двоично-десятичного кода.
ASCII-êîä.
Нечисловые данные обычно хранятся в формате ASCII (American Standart Code for Information Interchange). Данные представляются строкой ASCII символов, каждый из которых записывается одним байтом, используя 7 бит. Таким образом можно закодировать 128 символов, включая управляющие. При передаче ASCII символов старший бит используется для проверки четности.
Размещение данных в памяти.
МП МС86000 имеет возможность доступа в памяти к байту (8 бит), слову (16 бит) и длинному слову (32 бита). В отличие от МП фирмы Intel (8086, 80286, 80386, 80486) в МП 68000 приняты следующие соглашения:
· слова (длинные слова) могут размещаться только по четным адресам;
· старшие байты слова (двойного слова) располагаются в ячейках с меньшими адресами;
· адресом слова (двойного слова) считается его старший байт.
Таким образом, в соответствии с концепцией, принятой фирмой Моторола, слово размещается в памяти в двух соседних ячейках и начинается со старшего байта. Это означает, что при чтении слова, размещенного по адресу Х МС68000 считывает два соседних байта, причем байт по адресу Х интерпретируется как старший, а байт по адресу Х+1 как младший. Соответственно, длинное слово размещается в четырех смежных ячейках памяти, причем старший байт длинного слова находится по меньшему адресу. На рис.1.3 в качестве примера приведено размещение слов в памяти в доступном адресном пространстве 16М байт.
Рис.1.3. Принцип организации размещения слов в памяти.
Учитывая важность вышеизложенного материала, приведем несколько примеров размещения данных в памяти (все цифры приведены в шестнадцатеричной системе счисления).
Пусть в памяти находятся по соответствующим адресам следующие данные:
Адрес Данные
.
.
.
001204 12
001205 34
001206 56
001207 78
.
.
.
00350Ñ 9À
00350D BC
00350E DE
00350F F0
Выполняемая процессором МС68000 операция: Результат:
1) Чтение байта по адресу 001205 Байт 34
2) Чтение слова по адресу 001204 Слово 1234
3) Чтение длинного слова по адресу 001204 Длинное слово 12345678
4) Запись байта 11 по адресу 00350С Ячейки 00350С-00350F
содержат 11, BC, DE и F0
5) Запись слова 1122 по адресу 00350С Ячейки 00350С-00350F
содержат 11, 22, DE и F0
6) Запись длинного слова 11223344 Ячейки 00350С-00350F
по адресу 00350С содержат 11, 22, 33 и 44