Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LEC-ASM80.DOC
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
928.77 Кб
Скачать

Тема 14. Директиви умовного асемблювання

Асемблер МП Intel 8080 дозволяє застосовувати умовне асемблювання за допомогою псевдооперацій IF та ENDIF .

Синтаксис

< ім’я >: IF < вираз >

< ім’я >: ELSE

< ім’я >: ENDIF

Якщо значення виразу в операторі IF на етапі асемблювання не дорівнює нулю, то асемблер включає в програму оператори, що знаходяться між псевдокомандами IF та ENDIF . Якщо вираз дорівнює нулю, то відповідні оператори в програму не включаються.

Приклади:

а. CMA; AĀ IF TWOS

INR A; додати 1 для отримання доповненого коду

ENDIF

Якщо змінна TWOS=0, то асемблер включає також команду CMA, що формує обернений код. Якщо TWOS#0, асемблер включає також команду INR A, виконання якої перетворює обернений код в доповнений. За допомогою однієї й тієї ж

асемблерної програми можна виконати арифметичні операції в оберненому або доповненому коді. Вибір режиму здійснюється за допомогою змінної , значення якої встановлюється перед асемблюванням.

б. 8 або 16 – бітне додавання

IF L8; 8 – бітне додавання

LDA OP1

MOV B,A

LDA OP2

ADD B

STA RES

ENDIF

IF L16; 16 – бітне додавання

LHLD OP1

XCHG

LHLD OP2

DAD D

SHLD RES

ENDIF

Дана програма дозволяє вибрати 8 або 16 – бітний варіант додавання в залежності від значення змінних L8 і L16. Якщо L8#0 і L16=0, асемблер транслює команди, що реалізують 8 - бітне додавання. Якщо L8=0 і L16#0, то будуть транслюватися команди, що забезпечують додавання 16 - бітних чисел.

Програмістам не рекомендується зловживати засобами умовного асемблювання. Їх використання робить програми більш заплутаними та ускладнює їх відлагодження. Краще написати дві окремі програми для двох різних випадків, ніж використовувати складні засоби умовного асемблювання. Засоби умовного асемблювання доцільно використовувати для полегшення відлагодження в початкових варіантах програми.

Тема 15. Макрокоманди

В МП Intel 8080 є макрозасоби. Макрокоманди можна використовувати для того, щоб ввести зручне позначення для команд, що існують, розширити систему команд, позначити одним оператором цілу сукупність команд. Для кожної макрокоманди необхідно скласти визначення й присвоїти йому унікальне ім’я. Макрокоманди не можуть включати в себе ні визначення інших макрокоманд, ні посилання на самих себе. Разом з тим вони можуть мати посилання на інші макрокоманди. Для опису макрокоманд в МП Intel 8080 використовують псевдооперації MACRO, ENDM.

Синтаксис

< ім’я > MACRO < список формальних параметрів>

Приклади

в. CLR MACRO Обнулення А і встановлення Сy=0

SUB A

END M

Введення за допомогою макрозасобів мнемоніки CLR робить використання цієї команди (SUB A) більш наглядним.

г. Операція NOR (АБО-НІ)

NOR MACRO REG

ORA REG

CMA

ENDM

В макрокоманді NOR використовується операнд REG.

При використанні макрозасобів програміст повинен враховувати наступні правила:

  1. кожна макрокоманда повинна мати унікальне ім’я;

  2. макровизначення повинно починатися з псевдооперації MACRO і закінчуватися псевдооперацією ENDM;

  3. імена, що визначенні в макрокоманді, локалізовані в ній і не визначені в головній програмі;

  4. макровизначення не повинні включати інших макровизначень.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]