Загальна характеристика команд.
Стр 1 из 6Следующая ⇒
Мікро-ЕОМ даного сімейства є типовими мікропроцесорними пристроями з архітектурою SISC - з стандартним набором команд. Їх система команд включає 111 основних команд довжиною один, два або три байти, причому більшість з них (94%) – одно- або двобайтні. Всі команди виконуються за один або два машинні цикли (відповідно 1 або 2 мкс при тактовій частоті 12 Мгц) за винятком команд множення та ділення, які виконуються за чотири машинні цикли (4 мкс). Мікро-ЕОМ виконують 13 типів команд, які приведені в табл. 1. З неї випливає, що перший байт команди завжди містить код операції (КОП), а другий та третій (якщо вони є в команді) – адреси операндів або їх безпосередні значення. Табл.1. Типи команд.
Операнди бувають чотирьох типів: 1-бітні, 4-бітні, 8-бітні, 16-бітні. Мікроконтролер має 128 програмно-керованих прапорців користувача. Існує також можливість адресації окремих бітів блоку регістрів спеціальних функцій та портів. Для адресації бітів використовується прямий 8-ми бітний адрес (bit). Непряма адресація бітів неможлива. 4-бітні операнди використовуються тільки при операціях обміну SWAP та XCHD. 8-бітним операндом може бути комірка пам’яті програм (ПП) або пам’яті даних (резидентної (РПД) або зовнішньої (ЗПД)), константа (безпосередній операнд), регістри спеціальних функцій, а також порти вводу/виводу. Порти та регістри спеціальних функцій адресуються тільки прямим способом. Байти пам’яті можуть адресуватися також і непрямим способом через адресні регістри R0, R1, DPTR та PC.
Двобайтні операнди (16-бітні) – це константи та прямі адреси, для представлення яких використовуються другий та третій байти команди. Всі команди сімейства MCS51 по функціональним ознакам можна розділити на 5 груп: § команди пересилки даних; § команди арифметичних операцій; § команди логічних операцій; § команди операцій над бітами; § команди передачі керування. Набір команд MCS51підтримує такі режими адресації: § Пряма адресація (Direct Addressing). Операнд визначається 8-бітним адресом в команді. Ця адресація використовується тільки для ВПД та регістрів SFR. § Непряма адресація (Indirect Addressing). В цьому випадку команда адресує регістр, що містить адрес операнда. Дана адресація може використовуватись при звертанні як до внутрішнього, так і до зовнішнього ОЗП. Для адресації 8-бітних адресів можуть використовуватись регістри R0 та R1 вибраного банку регістрів та вказівник стеку SP. Для 16-бітної адресації використовується тільки регістр “вказівник даних” DATA. § Регістрова адресація (Register Instruction). Дана адресація використовується для доступу до регістрів R0, …,R7 вибраного банку регістрів. Команди з регістровою адресацією містять в байті КОП 3-бітне поле, що визначає номер регістру. Вибір одного з чотирьох регістрових банків здійснюється програмуванням бітів вибору банку регістрів (RS0,RS1) в регістрі PSW. § Безпосередня адресація (Immediate constants). Операнд знаходиться безпосередньо в полі команди за КОП і може займати один або два байти (data8, data16). § Індексна адресація (Indexed Addressing). Індексна адресація використовується при звертанні до ПП і тільки при читанні. В цьому режимі здійснюється перегляд таблиць в ПП. 16-бітний регістр (DPTR або PC) вказує базовий адрес певної таблиці, а аккумулятор вказує на точку входу в неї. Адрес елементу таблиці знаходиться додаванням бази з індексом (вмістимим аккумулятора). Інший тип індексної адресації використовується в командах “переходу по вибору” (Case Jump). При цьому адрес переходу обчислюється як сума вказівника бази та аккумулятора.
§ Неявна адресація (Register-Specific Instructions). Деякі команди використовують індивідуальні регістри (наприклад, операції з аккумулятором, DPTR), при цьому дані регістри не мають адресу, що вказує на них (він закладений в КОП). При описі команд використовуватимуться наступні позначення: § Rn (n=0, 1, …,7) – регістр загального призначення для вибраного банку регістрів; § @Ri (i=0, 1) – регістр загального призначення для вибраного банку регістрів, що використовується як регістр непрямого адресу; § ad – адрес байту при прямій адресації; § ads – адрес байту-джерела при прямій адресації; § add – адрес байту-приймача при прямій адресації; § ad11 – 11-розрядний абсолютний адрес переходу; § ad16 – 16-розрядний абсолютний адрес переходу; § rel – відносний адрес переходу; § #d – безпосередній операнд (дані); § #d16 – безпосередній операнд (2 байти); § bit – адрес біта, що прямо адресується; § /bit – інверсія біта, що прямо адресується; § A – аккумулятор; § PC – лічильник команд; § DPTR – регістр вказівник даних; § () – вмістиме комірки пам’яті або регістру.
Читайте также: I. Характеристика группы Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|