- •Лабораторная работа 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. Подготовка, ассемблирование и загрузка программы с помощью программных средств сервера.
4. Подготовка, ассемблирование и загрузка программы с помощью программных средств сервера.
В качестве примера использования средств сервера для подготовки, ассемблирования и загрузки программ будем использовать рассмотренную в предыдущем разделе программу, внеся в нее необходимые изменения и дополнения (текст измененной программы приведен несколько ниже).
Выполним последовательность действий, описанную в разделе "Работа с сервером" из теоретической части.
Для физического соединения с сервером терминалов необходимо ввести команду ТМ:
TUTOR 1.32> TM (RETURN)
На дисплее появится сообщение:
TUTOR 1.32> TM (RETURN)
*TRANSPARENT* EXIT=$01=CTL A
Далее следует нажать два раза клавишу (RETURN), после чего на экране сформируется сообщение от сервера терминалов:
VCP-300 V4.463
Please type HELP if you need assistance
Enter username>
На запрос имени пользователя необходимо ввести Ваш код в формате ФтГрНр (факультет/группа/номер), например, МР2501.
Теперь, когда установлена связь с сервером терминалов, необходимо произвести соединение с центральной ЭВМ, для чего вводится команда
VCP> CO TE 192.210.210.2
Через короткий промежуток времени на экран будет выведено сообщение:
Local -010- session 1 to 192.210.210.2 established
MIEE Telnetd v0.99 (MIEE) (VCP-300 TermServer)
После следующего сообщения следует ввести ваш код (теперь для создания Вашего именного подкаталога на жестком диске) и далее подтвердить его:
Please enter your user ID: MP4901
ID entered : MP4901
Is it correct? (Y)
The volume label in drive C is OS2.
The Volume Serial Number is 666E:7015
Далее выводится директория вашего подкаталога:
Directory of C:\USR\HOME\STUD\MP4901
8-31-94 5-22p <DIR> 0 .
8-31-94 5-22p <DIR> 0 ..
2 file(s) 0 bytes used
68172800 bytes free
Далее Вам предлагается ввести имя файла для редактирования:
Enter new filename : MP4901.ASM
Press <ENTER> to continue...
После нажатия клавиши RETURN Вы оказываетесь в текстовом редакторе/компиляторе. Экран очищается и курсор устанавливается в левом верхнем углу. С этого момента можно пользоваться клавишей <F1> для вывода меню помощи. Теперь можно приступить к вводу текста программы. Текст вводится в соответствии с правилами, указанными в разделе "Кросс-ассемблер" теоретической части и выглядит следующим образом:
BEGIN ORG $1000
MOVE.W #7,D1
J1 MOVE.B D0,(A0)+
ADD.B #1,D0
DBF.L D1,J1
J2 BRA.S J2
END
Для сохранения программы необходимо нажать клавишу F2, после этого экран очищается и появляется сообщение:
File saved successfuly
Press <ENTER> to continue...
После нажатия RETURN (он же ENTER) производится возвращение в текстовой редактор.
Перед ассемблированием необходимо выбрать тип ассемблера клавишей F7:
Select: A) MC68000 B) MC68HC05 A
CPU type is now MC68000
Press <ENTER> to continue...
Ассемблирование запускается нажатием клавиши F8 и, в случае отсутствия ошибок и предупреждений, выводится сообщение:
Assembling:
No errors detected
No warnings generated
Press <ENTER> to continue...
В процессе ассемблирования формируется объектный файл в формате S-records, готовый к загрузке в память модуля.
Теперь можно выйти из прозрачного режима с записью объектного файла программы в память модуля, для чего следует нажать клавишу F9, при этом после листинга программы появляется сообщение:
Press Ctrl-A, then enter 'LO ;=' to start download and disconnect
После ввода Ctrl-A происходит разъединение с центральной ЭВМ (которая продолжает, тем не менее, ожидать от модуля SBC68K сигнала к началу загрузки) и выход в монитор TUTOR. Далее следует ввести команду загрузки LO ;=(после LO необходим пробел), которая посылает центральной ЭВМ символ начала загрузки и производит загрузку объектного файла программы в память модуля. Теперь с программой можно работать с помощью директив монитора. Проверьте правильность загрузки программы в память модуля SBC68K, а также правильность ее работы, используя последовательность действий из раздела "Режимы выполнения программ". Обратите внимание, что произошла замена команды ADD ее более короткой формой ADDQ.
Контрольные вопросы.
1. Перечислите внутренние регистры MC68000.
2. С какими типами данных может оперировать МП МС68000?
3. Какие программные и аппаратные средства входят в состав учебно-отладочного комплекса?
4. Перечислите основные элементы структуры модуля SBC68K, назовите функции, выполняемые каждым из них.
5. Какая область памяти отведена в модуле под программы/данные пользователя?
6. Перечислите известные вам команды монитора TUTOR.
7. Какая команда используется для заполнения области памяти одинаковой константой?
8. Что произойдет после выполнения следующей команды: BM 1200 1250 3000 ?
9. С помощью каких команд монитора можно просмотреть содержимое внутренних регистров процессора?
10. Перечислите функции выполняемые командами MM и MD.
11. Какие команды запуска программы на выполнение вам известны? В чем их различие?
12. Что такое точки останова и для чего они используются?
13. Что представляет собой режим трассировки? Как он выполняется?
14. Как, с помощью команд монитора, записать информацию в определенный регистр процессора?
15. В чем состоит отличие команд и директив ассемблера?
16. Что такое ASCII строка?
17. Какие префиксы используются для обозначения шестнадцатиричных, десятичных, восьмеричных и двоичных чисел в ассемблере?
18. Какая директива используется в ассемблере монитора TUTOR? Какое назначение она имеет?
19. Какие команды монитора позволяют производить ассемблирование, реассемблирование программы, как их использовать?
20. Для каких целей используются программы сервера?
21. Какая последовательность действий подразумевается при при подготовке программы с помощью сервера?
22. Что представляет собой входной файл для кросс-ассемблера? Как он подготавливается?
23. Каким образом отделяется поле метки и поле комментария в исходном тексте программы для кросс-ассемблера?
24. Перечислите директивы кросс-ассемблера.
Микропроцессор МС68000. Лабораторный практикум.