Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Загальна характеристика команд.




 

Мікро-ЕОМ даного сімейства є типовими мікропроцесорними пристроями з архітектурою SISC - з стандартним набором команд. Їх система команд включає 111 основних команд довжиною один, два або три байти, причому більшість з них (94%) – одно- або двобайтні. Всі команди виконуються за один або два машинні цикли (відповідно 1 або 2 мкс при тактовій частоті 12 Мгц) за винятком команд множення та ділення, які виконуються за чотири машинні цикли (4 мкс).

Мікро-ЕОМ виконують 13 типів команд, які приведені в табл. 1. З неї випливає, що перший байт команди завжди містить код операції (КОП), а другий та третій (якщо вони є в команді) – адреси операндів або їх безпосередні значення.

Табл.1. Типи команд.

Тип команди Перший байт D7...D0 Другий байт D7...D0 Третій байт D7...D0
тип 1 КОП    
тип 2 коп #d  
тип 3 коп ad  
тип 4 коп bit  
тип 5 коп rel  
тип 6 коп а7...a0  
тип 7 коп ad #d
тип 8 коп ad rel
тип 9 коп ads add
тип 10 коп #d rel
тип 11 коп bit rel
тип 12 коп ad16h ad16l
тип 13 коп #d16h #d16l

 

Операнди бувають чотирьох типів: 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 – регістр вказівник даних;

§ () – вмістиме комірки пам’яті або регістру.

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...