Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Використання в адресних виразах арифметичних або логічних операціях для всіх типів даних




 

Операнди розглядаються як 16 - бітні числа і результат також являє собою 16 – бітне число. Це наступні операції:

“+”; унарне та бінарне арифметичне додавання;

“-”; бінарне арифметичне віднімання або унарна від’ємна величина;

“*”; множення;

“/”; частка при діленні (ціла частина);

MOD; залишок при діленні;

NOT; логічна операція Ні (інверсія);

AND; логічна операція І & (порозрядна);

OR; логічна операція АБО (порозрядна);

XOR; логічна операція додавання по модулю два (порозрядна);

SHL; логічний зсув вліво;

SHR; логічний зсув вправо;

Операції порівняння:

EQ – еквівалентно;

NE – нееквівалентно;

LT – менше;

LE – не більше;

GT – більше;

GE – не менше;

NUL – (використовується для завдання нульового фактичного параметра при макровиклику).

Виділення байту:

HIGH - виділення старшого байту 16 – бітового числа;

LOW - виділення молодшого байту 16 – бітового числа.

 

В результаті виконання операцій порівняння отримують нульовий або одиничний результат. Істина відповідає всім одиницям результату операції, хибне значення – всім нулям. Порівняння виконуються побітно, операнди відділяються від операції проміжками. Оператор NULL використовують тільки в макрозасобах.

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

Приорітети:

1. Вирази в дужках, NUL, HIGH, LOW, *, /, MOD, SHL, SHR

2. +, -, EQ, LT, LE, GT, GE, NE

3. NOT

4. AND

5. OR, XOR

Це значить, що операції множення і ділення виконуються раніше операцій додавання і віднімання, а арифметичні операції раніше логічних. Для пояснення змісту адресних виразів потрібно використовувати дужки. Необхідно уникати складних адресних виразів, так як зрозуміти такі вирази важко, а допустити помилку легко.

Програміст повинен впевнитись, що в результаті обчислень виразів маємо число, що розміщується в адресному полі даної команди.

Всі операції крім операцій +, -, *, / повинні відокремлюватися від операндів хоча б одним проміжком.

 

Поле коментарів може містити свавільну інформацію, якою необхідно постачати поточний оператор. Основне правило для його включення - наявність перед ним крапки з комою. Розділення полів операнда і коментарів проміжком не обов’язково. Оператор мови асемблера може містити тільки коментар.

 

Приклад 11. Таблиця квадратів

Рішення більш складних задач часто можуть полегшити таблиці з готовим результатом. Для прикладу розглянемо програму обчислення квадрату 3-бітного числа. Щоб знайти адресу необхідного елементу таблиці програма повинна додати 3-бітне число до базової адреси. Таблицю можна розмістити і пам’яті за допомогою асемблерної псевдооперації DB.

Нехай число, що знаходиться між 0 та 7 розміщено в комірці за адресою ADDR1, а результат необхідно розмістити в комірку за адресою ADDR2.

Необхідно отримати квадрат числа 4. Елемент, що нас цікавить знаходиться в комірці з адресою SQTAB+4.

 




Поделиться с друзьями:


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


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



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




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