
- •Однокристальная микроЭвм мс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.
- •Определение методов адресации.
- •Практическая часть.
- •Использование средств сервера для подготовки и загрузки программ.
- •Контрольные вопросы.
Ассемблер/дизассемблер (asm - аSseMbler).
ASM <адрес>
где <адрес> представляет собой адрес начала ассемблирования/дизассемблирования программы.
Команда ASM позволяет пользователю вводить в память ОМ программу в виде мнемонических команд. После набора каждой команды и ввода ее нажатием клавиши (RETURN) происходит преобразование мнемоники в машинный код с записью его в память по указанному в команде ASM адресу. После ассемблирования команды указатель переводится на следующую свободную ячейку памяти с приглашением ко вводу следующей команды. Таким образом, строка за строкой, вводится вся программа. Платой за простоту работы с таким ассемблером является ряд существенных ограничений. Поскольку ассемблер транслирует одновременно только одну команду, он, очевидно, не может вычислить адрес, скажем, десятой команды, следующей за вводимой. Как следствие, использование меток невозможно.
Для вычисления адреса перехода, например, в команде вызова подпрограммы приходится вводить в команде вызова любой "фиктивный" адрес, вводить всю программу, после чего, когда адрес перехода становится известен, возвращаться к редактированию команды вызова и устанавливать в ней правильный адрес.
Использование нумерации строк и комментариев также невозможно.
Несмотря на описанные ограничения, команда ASM позволяет достаточно просто вводить небольшие программы (в частности, все программы настоящего лабораторного практикума могут быть введены таким образом).
Для подготовки и ассемблирования более сложных программ (например, при выполнении самостоятельных заданий) можно воспользоваться программами текстового редактора и кросс-ассемблера, которые работают на центральной ЭВМ и лишены указанных недостатков. Работа с центральной ЭВМ (сервером) подробно описана в соответствующем разделе.
Работа ассемблера завершается вводом символа "." (точка).
Пример:3
>ASM $0100
0100 00 00 00 BRSET 0,$00,$0103>NOP
0100 C9 NOP
0101 00 00 00 BRSET 0,$00,$0104>.
>
Заполнение области памяти (bf - Block Fill).
BF <адрес 1> <адрес 2> <данные>
здесь:
<адрес 1>-адрес начала блока;
<адрес 2>-адрес конца блока;
<данные>-шестнадцатиричная величина для заполнения.
Команда BFпозволяет пользователю заполнять одинаковым содержимым область памяти. Следует соблюдать осторожность при изменении внутренних служебных областей ОЭВМ (адреса портов, регистры таймера и т.д.). См. карту памяти на рис. 3.
Пример:
>BF $50 $0059 $EF
>
Установка точки останова (br - bReakpoint).
BR [<адрес>]...
Команда BRустанавливает на указанный адрес точку останова. Во время выполнения программы пользователя, остановка происходит непосредственно перед выполнением команды, адрес которой является точкой останова.
Нельзя помещать точку останова на команду програмного прерывания, так как эту команду монитор использует для обработки точек останова. Можно установить максимум 5 точек останова. После установки точки останова на экран выводятся адреса всех установленных точек останова. В одной командной строке может быть введено несколько точек останова.
Пример:
>BR $0104 $107
Brkpts=0104 0107
>BR
Brkpts=0324 0212 0100
>
Запуск программы на выполнение (g - Go to).
G [<адрес>]
где <адрес>-начальный адрес, с которого начнется выполнение программы.
Команда Gпозволяет начать выполнение программы в режиме реального времени с заданного пользователем адреса. Когда в командеGадрес не указывается, программа выполняется с текущего адреса програмного счетчика. Выполнение программы продолжается до тех пор, пока не встретится точка останова или до нажатия кнопок S1 (ABORT) или S3 (MASTER RESET) на плате ОМ.
Пример:
>G 100