- •Однокристальная микроЭвм мс68нс705с8.
- •Теоретическая часть.
- •Отладочный модуль м68нс05еvм.
- •Блок оэвм.
- •Последовательный интерфейс.
- •Блок программирования.
- •Порты расширения.
- •Внешнее пзу с отладчиком evm-bug.
- •Псевдо-пзу.
- •Команды отладчика evm-bug. Начало работы.
- •Формат командной строки.
- •Команды отладчика evm-bug.
- •Ассемблер/дизассемблер (asm - аSseMbler).
- •Заполнение области памяти (bf - Block Fill).
- •Установка точки останова (br - bReakpoint).
- •Запуск программы на выполнение (g - Go to).
- •Помощь (help).
- •Прозрачный режим (tm - Transparent Mode).
- •Загрузка (load).
- •Отображение памяти (md - Memory Display).
- •Изменение памяти (mm - Memory Modify).
- •Отмена точки останова (nobr - no bReakpoint).
- •Выполнять без учета точек останова (p - Proceed).
- •Отображение регистров (rd - Registers Display).
- •Изменение регистров (rm - Registers Modify).
- •Скорость обмена (speed).
- •Трассировка (т - Trace).
- •Работа с сервером.
- •Кросс-ассемблер. Формат исходной программы. Формат оператора.
- •Поле метки.
- •Поле команды.
- •Поле операнда.
- •Поле комментариев.
- •Элементы программы, определяемые пользователем.
- •Директивы ассемблера.
- •Регистры нс05.
- •Определение методов адресации.
- •Практическая часть.
- •Использование средств сервера для подготовки и загрузки программ.
- •Контрольные вопросы.
Псевдо-пзу.
Как уже отмечалось выше, в псевдо-ПЗУ записываются (вводятся с клавиатуры либо загружаются) программы пользователя для их последующего выполнения. Чтобы узнать, куда можно записывать (загружать) программы, рассмотрим карту памяти ОЭВМ МС68НС705С8, представленную на рис. 3, и показанную с учетом особенностей эмуляции данной ОЭВМ отладочным модулем.
Рис. 3. Карта памяти.
Особенности следующие:
·вместо встроенного ПЗУ на карте памяти обозначено псевдо-ПЗУ (с точки зрения программиста их можно считать идентичными; различие состоит в том, что псевдо-ПЗУ доступно для записи командами отладчика, но, подобно реальному ПЗУ ОЭВМ, недоступно для записи из программы);
·регистр конфигурации, выполняющий некоторые специфические функции (см. лабораторную работу №2) и расположенный в реальной ОЭВМ по адресу $1FDF, в ОМ находится по адресу $3FDF.
Таким образом, пользователь может располагать свои программы с адреса $0020 по адрес $004F и с адреса $0100 по адрес $1FFF.
Встроенное ОЗУ, занимающее адреса с $0050 по $00FF, является полным аналогом встроенного ОЗУ реальной ОЭВМ и, естественно, доступно для чтения и записи как командами отладчика, так и из программы.
Наконец, область портов ввода/вывода и внутренних регистров содержит служебные ячейки, отвечающие за работу встроенных аппаратных средств ОЭВМ, которые будут подробно рассматриваться в следующих лабораторных работах.
Команды отладчика evm-bug. Начало работы.
После включения питания или нажатия кнопки S3 (MASTER RESET) отладчик отображает на экране терминала следующее сообщение:
EVMbug-HC05 2.2
S=FF P=хххх A=хх X=хх C=E8 111.I...
>
Знак хпоказывает, что регистры установлены в неопределенное состояние. Последним в строке отображается состояние регистра флагов (С) в шестнадцатиричной и двоичной форме. При этом возможен вывод следующих знаков:
-
1
фиксированные установленные биты
.(точка)
флаг сброшен
H
Half carry
установлен бит полупереноса
I
Interrupt mask
установлен бит маски прерывания
N
Negative
установлен бит отрицательного результата
Z
Zero
установлен бит нулевого результата
C
Carry
установлен бит переноса/заема
Знак > означает, что ОМ ожидает ввода команды с пользовательского терминала. Формат возможных команд подробно описан ниже.
Формат командной строки.
Командная строка имеет следующий формат:
><команда> [<параметры>] (RETURN)
здесь:
<команда>-мнемоническое обозначение команды,
<параметры>-выражение или адрес.
Команды отладчика evm-bug.
Список команд отладчика приведен в таблице 1.
Таблица 1.Список команд отладчика EVM-bug2.
ASM <адрес> |
Ассемблер/дизассемблер (диалоговый) |
BF <адр.1> <адр.2> <данные> |
Блочное заполнение памяти |
BR [<адрес>]... |
Установить точки останова |
BULK <устр-во> |
Полное стирание ЭСППЗУ |
CHCK [<адр.1> <адр.2>] <устр-во> |
Проверка на незапрограммированность ППЗУ/СППЗУ/ЭСППЗУ |
G [<адрес>] |
Запуск программы на выполнение |
COPY [<адр.1> <адр.2>] <устр-во> |
Копирование ППЗУ/СППЗУ/ЭСППЗУ |
HELP |
Вывод на экран списка команд |
LOAD <порт>[=<текст>] |
Загрузка из порта ввода/вывода |
MD <адр.1> [<адр.2>] |
Отображение памяти |
MM <адрес> |
Изменение памяти |
NOBR [<адрес>]... |
Отменить точку останова |
P [<число раз>] |
Выполнять, игнорируя точку останова |
PROG [<адр.1> <адр.2>] <устр-во> |
Програмирование ППЗУ/СППЗУ/ЭСППЗУ |
RD |
Отображение регистров |
RM |
Изменение регистров |
SPEED <скорость в бодах> |
Выбор скорости обмена через порт ввода/вывода |
T <число команд> |
Трассировка |
TM [<символ выхода>] |
Прозрачный режим |
VERF [<адр.1> <адр.2>] <устр-во> |
Проверка ППЗУ/СППЗУ/ЭСППЗУ |