- •Тема 1.Системи відліку
- •Тема 2.Пеpевод чисел із однієї системи відліку в іншу
- •Тема 3.Представлення чисел в еом
- •Тема 4.Двійкова арифметика
- •Тема 5.Арифметичні дії над числами з плаваючою комою
- •Тема 6.Аpхітектуpа мікpопpоцесоpа кр580вм80
- •Мультиплексор
- •Тема 7.Пpогpамна модель мп кр580вм80а
- •Тема 8. Методи адpесацiї
- •Тема 9. Машина мова та асемблер
- •Тема 10. Загальна архітектура еом
- •Центральний процесор
- •Запам’ятовуючі пристрої
- •Пристрій введення-виведення
- •Регістри
- •Тема 11. Система команд
- •Групи команд
- •Алгоритм виконання команд
- •Тема 12.Склад команд мп кр580вм80 Склад команд аpифметичних дій мп кр580вм80
- •Додавання з подвійною точністю
- •Операції віднімання
- •Віднімання з позикою
- •Команди інкрементування і декрементування
- •Склад команд передачі даних
- •Команди прямої адресації
- •Додаткові команди
- •E 0101 0111 e не змінюється
- •Склад команд логічних операцій
- •18. Cmc Cy Діє лише на біт Cy.
- •Команди розгалуження і переходів
- •Команда виклику підпрограми
- •Склад команд управління
- •Така задача виникає при аналізі станів сукупності тумблерів, пускачів, перемикачів або індикаторів.
- •Тема 13. Псевдокоманди мп кр580вм80
- •Програма
- •Програма
- •Програма
- •Приклад 10. Додавання десяткових чисел
- •П рограма Алгоритм
- •Тема 14. Директиви умовного асемблювання
- •Тема 15. Макрокоманди
- •Тема 16. Одно та двохпрохідний асемблери
- •Тема 17. Представлення інформації в полях назв, операцій, операндів та коментарів
- •Використання в адресних виразах арифметичних або логічних операціях для всіх типів даних.
- •Приклад 11. Таблиця квадратів
- •Програма Алгоритм
- •Тема 18. Літерно-цифровий код
- •Обробка символьної інформації
- •Приклад 12. Довжина рядка символів в коді ascii
- •Програма Алгоритм
- •Тема 19. Структура управління мп Intel 8080
- •Тема 20. Конструювання програм
- •Структурне програмування
Використання в адресних виразах арифметичних або логічних операціях для всіх типів даних.
Операнди розглядаються як 16 - бітні числа і результат також являє собою 16 – бітне число. Це наступні операції:
“+”; унарне та бінарне арифметичне додавання;
“-”; бінарне арифметичне віднімання або унарна від’ємна величина;
“*”; множення;
“/” ; частка при діленні (ціла частина);
MOD ; залишок при діленні;
NOT ; логічна операція Ні (інверсія);
AND ; логічна операція І & (порозрядна);
OR ; логічна операція АБО (порозрядна);
XOR ; логічна операція додавання по модулю два (порозрядна);
SHL ; логічний зсув вліво;
SHR ; логічний зсув вправо;
Операції порівняння:
EQ – еквівалентно;
NE – нееквівалентно;
LT – менше;
LE – не більше;
GT – більше;
GE – не менше;
NUL – ( використовується для завдання нульового фактичного параметра при макровиклику ).
Виділення байту:
HIGH - виділення старшого байту 16 – бітового числа;
LOW - виділення молодшого байту 16 – бітового числа.
В результаті виконання операцій порівняння отримують нульовий або одиничний результат . Істина відповідає всім одиницям результату операції, хибне значення – всім нулям. Порівняння виконуються побітно, операнди відділяються від операції проміжками. Оператор NULL використовують тільки в макрозасобах.
Використання дужок дозволяє вказувати порядок виконання операцій і робить вираз більш зрозумілим. Першим обчислюється самий внутрішній вираз в дужках. Порядок виконання операцій при відсутності дужок визначається їх приорітетом (причому операції одного приорітету виконуються по порядку зліва направо).
Приорітети:
Вирази в дужках, NUL, HIGH, LOW, *, /, MOD, SHL, SHR
+, -, EQ, LT, LE, GT, GE, NE
NOT
AND
OR, XOR
Це значить, що операції множення і ділення виконуються раніше операцій додавання і віднімання, а арифметичні операції раніше логічних. Для пояснення змісту адресних виразів потрібно використовувати дужки. Необхідно уникати складних адресних виразів, так як зрозуміти такі вирази важко, а допустити помилку легко.
Програміст повинен впевнитись, що в результаті обчислень виразів маємо число, що розміщується в адресному полі даної команди.
Всі операції крім операцій +, -, *, / повинні відокремлюватися від операндів хоча б одним проміжком.
Поле коментарів може містити свавільну інформацію, якою необхідно постачати поточний оператор. Основне правило для його включення - наявність перед ним крапки з комою. Розділення полів операнда і коментарів проміжком не обов’язково. Оператор мови асемблера може містити тільки коментар.
Приклад 11. Таблиця квадратів
Рішення більш складних задач часто можуть полегшити таблиці з готовим результатом. Для прикладу розглянемо програму обчислення квадрату 3-бітного числа. Щоб знайти адресу необхідного елементу таблиці програма повинна додати 3-бітне число до базової адреси. Таблицю можна розмістити і пам’яті за допомогою асемблерної псевдооперації DB.
Нехай число, що знаходиться між 0 та 7 розміщено в комірці за адресою ADDR1, а результат необхідно розмістити в комірку за адресою ADDR2.
Необхідно отримати квадрат числа 4. Елемент, що нас цікавить знаходиться в комірці з адресою SQTAB+4.
