
- •Лабораторная работа 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. Подготовка, ассемблирование и загрузка программы с помощью программных средств сервера.
Какую работу нужно написать?
44 43 20 45 78 61 6D 70 6c 65 0d 0a 00 (в шестнадцатиричном виде). Dbc Определение блока констант.
Данная директива заполняет область памяти одинаковыми константами. Формат директивы:
<метка> DBC.<размер> <длина>,<величина>
<Метка> определяет начало размещения блока в памяти. <Размер> определяет размерности записываемых констант: байт (.B), слово (.W) или длинное слово (.L); по умолчанию выбирается размер слово. <Длина> может описываться как выражение, она определяет количество байт, слов или длинных слов в блоке. Значение длины не должно быть отрицательным. Значение параметра <величина> определяет константу, которой будет заполнятся блок.
Ds Резервирование памяти.
Данная директива используется для резервирования блока памяти. Формат директивы:
<метка> DS.<размер> <длина>
Метка указывает на начальный адрес резервируемого блока памяти. Размер определяет блок байт (.B), слов (.W) или длинных слово (.L); по умолчанию выбирается размер слово. Длина может описываться как выражение, она определяет число байт, слов или длинных слов в блоке. Значение длины не должно быть отрицательным. Работа директивы заключается в увеличении значения локального счетчика на байт (при DS.B), слово (при DS.W) или длинное слово (при DS.L) столько раз, сколько указывается в параметре <размер>.
End Конец транслируемого файла.
Данная директива используется в качестве указателя конца транслируемого файла, является необязательной и имеет следующий формат:
END
Ассемблер будет игнорировать всю информацию, указанную после этой директивы.
Формат s-Record
Формат S-record был разработан с целью шифрования программ или блоков данных для перемещения их между компьютерными системами. Процесс перемещения может быть визуально отображен и запись в формате S-record может быть легко отредактирована.
Содержимое записи s-record.
С точки зрения пользователя, запись S-record, по существу, является символьной строкой, состоящей из нескольких полей, которые определяют тип записи, ее длину, адрес памяти, данные и контрольную сумму. Каждый байт двоичных данных кодируется как 2-символьное шестнадцатиричное число: первый символ представляет старшую тетраду, второй - младшую.
Запись S-record состоит из пяти полей, представленных ниже:
Тип Длина Адрес Код/Данные Контрольная сумма
Поля имеют следующие значения:
-
Ïîëå
Количество символов
Значение
òèï
2
тип записи S-record
длина записи
2
число 2-символьных слов в записи, не включая тип и длину записи
адрес
4, 6 èëè 8
2-, 3- или 4-байтовый адрес, начиная с которого данные должны быть загружены в память
код/данные
0-2n
от 0 до n байт машинных кодов, данных или символьной информации
контр. сумма
2
младший байт дополнения до единиц суммы 2-символьных составляющих величин длины записи, адреса и кодов/данных