Система команд

СИСТЕМА КОМАНД МІКРОПРОЦЕСОРА8085 ФІРМИINTEL

A.1. Що таке система команд?

Будь-який комп'ютер, незалежно від того, як визначати це поняття, може робити тільки те, що йому наказує робити людина. Програма для комп'ютера - це послідовність команд, які комп'ютер розпізнає та відповідно до цього виконує певні дії. Помістивши один раз програму в область пам'яті, доступну для процесора, можна змусити комп'ютер виконати закодовану в цій програмі послідовність дій стільки разів, скільки разів Вам потрібно вирішити те саме завдання. Набір команд, які вміє розпізнавати процесор 8085A, зафіксований в конструкції кристала.

Кожна команда комп'ютера ініціює виконання певної дії. У мікропроцесорі 8085А реалізована група команд пересилання даних між регістрами, між регістрами та ОЗУ та між регістрами та портами вводу-виводу. Крім того, є арифметичні та логічні команди, команди умовного та безумовного переходу, команди управління Мікропроцесор розпізнає ці команди лише у тому випадку, коли вони закодовані у двійковому уявленні.

А.2. Символи таскорочення

Наступні символи та скорочення використовуються в короткому описі системи команд мікропроцесора 8085A.

Акумулятор Реєстр А

Дані 8-розрядні дані

Дані 16 16-розрядні дані

Байт2Другий байт команди

Байт 3 Третій байт команди

r, r1, r2 Один з регістрів

DDD, SSS Бітові комбінації, що вказують на один з регістрів А. В, С, Д Е, Н, L

(DDD-приймач, SSS-джерело):

DDD або SSS Ім'я регістру

rp Одна з реєстрових пар:

В визначає пару B-С у регістрі В-старші розряди, в регістрі С-молодші.

D визначає пару D-E, в регістрі D - старші розряди, в регістрі Е-молодші Н-визначає пару Н-L-в регістрі Н-старші розряди, в регістрі L-молодші SP визначає 16-розрядний регістр-покажчик стека

RP Комбінація розрядів, що вказує на одну з пар регістрів

RP Реєстрова пара

rh Перший регістр (містить старші розряди) із зазначеної регістрової пари.

rl Другий регістр (містить молодші розряди) із зазначеної регістрової пари.

PC 16-розрядний регістр лічильника

команд (для посилання на старші та молодші 8 розрядів використовуються відповідно позначення РСН та PCL)

SP 16-розрядний регістр покажчика стека (для посилання на старші та молодші 8 розрядів використовуються відповідно позначення SPH та SPL)

rm m-й розряд регістру r (розряди пронумеровані від 7 до 0 зліва направо)

АС Додаткове перенесення

( ) Вміст комірки пам'яті

або регістру, зазначеного у дужках

U Логічне АБО

¯ «Доповнення» (наприклад, (?))

n Номер осередку програмного переривання (від 0-7)

NNN Двійкове представлення номера осередку програмного переривання (000-111)

У довіднику системи команди, наведеному нижче, дається докладний опис всіх команд мікропроцесора 8О85А, Опис кожної команди складається з наступних пунктів:

Формат макроассемблера MCS-85, що складається з мнемоніки команди та полів операндів, розташований у першому рядку опису.

У тому ж рядку у дужках наводиться назва команди.

Наступний рядок містить символьний опис дій команди.

За символьним слідує словесний опис.

Після словесного опису наведено схематичнезображення двійкову форму команди.

О.З. Формати команд іданих

Дані у пам'яті зберігаються у вигляді 8-розрядних двійкових цілих чисел:

Старший біт молодший біт

При зберіганні даних у регістрі чи комірці пам'яті необхідно визначити порядок запису розрядів. У процесорі 8085А біт 0 визначений як молодший значний розряд (LSB), а біт 7-як старший значний розряд (MSB).

команди

Реєстровий -у команді визначається регістр або пара регістрів, у яких зберігаються дані.

Безпосередній – дані містяться безпосередньо в команді. Дані можуть бути як 8-розрядні, так і 16-розрядні (спочатку молодші розряди даних, потім старші).

А.5. Прапори умов

У мікропроцесорі 8085А існує п'ять прапорів умов, пов'язаних із виконанням команд: Нуль, Знак, Четність, Перенесення та Додаткове перенесення. Кожен їх представляється як одноразрядного регістру (чи тригера) мікропроцесора. Прапор встановлюється занесенням у розряд 1, а скидається занесенням 0.

У всіх випадках, коли це не обговорюється особливо, команди впливають на прапори умов таким чином:

Нуль - якщо результат виконання команди мав значення 0, то прапор встановлюється, інакше скидається.

Знак - якщо старший розряд результату виконання команди має значення 1 (число негативне), то прапор встановлюється, інакше скидається.

Четність - якщо сума бітів результату виконання команди за модулем 2 дорівнює 0 (тобто якщо число одиниць у ньому парне), то прапор встановлюється, в іншому випадку (тобто коли число одиниць в результаті непарне) скидається.

Перенесення - якщо в результаті виконання команди було перенесення (наприклад, в результатіскладання) або позику (у результаті - віднімання чи порівняння) з старшого значущого розряду, то прапор встановлюється, інакше скидається. Додаткове перенесення якщо команда викликає перенесення з третього до четвертого розряду результату, то прапор встановлюється, інакше скидається. Цей прапор встановлюється командами додавання, віднімання, збільшення, зменшення, порівняння та логічними операціями, але в основному використовується в команді DAA-десяткової корекції акумулятора.

А.6. Довідник посистемі команд

У цьому розділі наводиться опис всіх команд мікропроцесора 8085А, розділених на п'ять груп таким чином:

Команди пересилання даних -пересилають дані між регістрами або між регістрами та осередками пам'яті. Включають команди пересилання, завантаження, запису та обміну.

Арифметичні команди - складають, віднімають, збільшують і зменшують дані в регістрах та пам'яті,

Логічні команди – виконання операцій І, АБО, ВИКЛЮЧНЕ АБО, порівняння, зсуву та доповнення даних у регістрах або осередках пам'яті.

Команди переходу - умовні та безумовні переходи, виклики підпрограм, повернення з підпрограм та програмні переривання.

Команди роботи зі стеком, введення-виведення та управління процесором - команди роботи зі стеком, читання вхідних портів, запис у вихідні порти, встановлення та читання масок переривань та прапорів умов.

Описані у довіднику формати команд відповідають коду, що генерується асемблером, який використовується в інструментальних системах Intellec® фірми Intel.

А.6.1. Команди пересилання даних

Команди цієї групи служать для пересилання даних між регістрами, і навіть між регістрами і осередками пам'яті. Ці команди не впливають на прапори умов.

Вміст регістру r2 пересилається в регістр r1.