КАТЕГОРИИ: Архитектура-(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; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |