Макрокоманды

В МП Intel 8080 имеются макросредства, в МП Motorola 6800 они не предусмотрены. Макрокоманды можно использовать для того, чтобы Двести удобные Обозначения для существующих команд, расширить систему команд, обозначить одним оператором целую совокупность команд. Для каждой макрокоманды требуется составить определение и присвоить ей уникальное имя/Макрокоманды не могут включать в себя ни определения других макрокоманд, ни ссылки на самих себя. Вместе в тем оии могут содержать ссылки на другие макрокоманды. Для описания макрокоманд в МП Intel 8080 используются пеевдооперации MACRO, ENDM. Приведем несколько примеров макрокоманд

Пример 1. Обнулить аккумулятор и уетановить признак ПЕРЕНОС.

CLR MACRO

SUB А

ENDM

Использование команды SUB А позволяет просто выполнить очистку аккумулятора и установку в 1 признака ПЕРЕНОС Введение с помощью макросредств мнемоники CLR делает использование этой команды более наглядным.

Пример 2 Операция NOR (ИЛИ — НЕ).

NOR MACRO REG ORA REG

СМА ENDM

В макрокоманде NOR используется операнд REG, Определив эту макрокоманду, можно использовать логическую операцию NOR так же, как любую другую, входящую в состав системы команд МП Intel 8080. Например. NOR С выполняет логическую операииюИЛИ — НЕ над содержимым аккумулятора в регистра С.

Пример 3. Косвенная адресация (ЗАГРУЗИТЬ АККУМУЛЯТОР С КОСВЕННОЙ АДРЕСАЦИЕЙ).

LIND MACRO ADDR LWLD ADDR M0V A, M ENDM

С помощью приведенного макроопределения в МП Intel 8080 можно реализовать косвенную адресацию

При использовании макросредств программист должен соблюдать следующие правила:

1) каждая макрокоманда должна иметь уникальное имя;

2) макроопределение должно начинаться с псевдооперации MACRO и за канчиваться псевдооперацией ENDM;

3) имена, определенные в макрокоманде, локализованы в ней и не определены в главной программе;

4) макроопределения не должны включать других макроопределений.

Вывод результатов ассемблирования

Ассемблеры МП Intel 8080 и Motorola 6800 выдают программу на перфоленте. Ассемблер МП Intel 8080 использует так называемый BNPF-формат. Символы в этом формате имеют следующее значение:

В — начало 8-битного слова,

N — двоичный нуль,

Р — двоичная единица,

F — конед 8-битного слова.

Данные в этом формате используются для программирования ПЗУ и ППЗУ фирмы Intel.