Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

Тема 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 - бітних чисел.

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

 

 

В МП 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) макровизначення не повинні включати інших макровизначень.

 

 

<== предыдущая лекция | следующая лекция ==>
Програма Алгоритм. Приклад 10. Додавання десяткових чисел | Тема 17. Представлення інформації в полях назв, операцій, операндів та коментарів
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 407; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.