Микропроцессоры и микроконтроллеры

 
 
 
«'Legacy code' often differs from its suggested alternative by actually working and scaling.»
Bjarne Stroustrup
Русский | Українська


Микропроцессоры и микроконтроллеры :: Принципи програмування MSC-51 :: Характеристика функціональних груп команд

Характеристика функціональних груп команд

Всі команди МК51 можна розділити на групи за функціональними ознаками: передача даних, арифметичні, логічні, бітовий операцій, передача керування.

rn

Команди арифметичних операцій, логічні, бітовий операції і команди порівняння модифікують чотири прапора, які знаходяться в регістрі PSW:

rn

Р - жорстко пов'язаний з вмістом акумулятора. Якщо кількість одиниць у ньому непарне, то (Р) = 1, інакше (Р) = 0;

rn

АСС - встановлюється в "1", якщо під час додавання (віднімання) виник межтетрадний перенесення (позика) в акумуляторі;

rn

С - встановлюється в "1", якщо виникла перенос з старшого (АСС.7) біти в акумуляторі або позику в старший біт;

rn

OV - встановлюється в "1", якщо в результаті додавання /віднімання знакових чисел виникло переповнення, тобто цей прапор свідчить про факт переповнювання без зазначення типу - позитивне або негативне;

rn

При розподілі (OV) = 1, якщо виконувалось ділення на нуль.

rn

При множення (OV) = 1, якщо результат більше 255.

rn

Потоки передачі даних

rn

Відповідно структурі пам'яті МК51 можна виділити три інформаційних потоку: пересилання з ВПП у РПД, пересилання між ВПД і РПД, обмін даними всередині РПД (включаючи РСФ).

rn

Можливі напрямки передачі байтов, бітів і слів із зазначенням способу адресації показані у вигляді графа на ріс.3.2. Основним інформаційним каналом є акумулятор (А), тому вважають, що МК51 має акумуляторно-орієнтовану структуру. Всередині РПД можлива передача даних без використання акумулятора, але при операціях з ВПП або ВПД він використовується завжди. ВП доступна тільки через непряму адресація.

rn

КОМАНДИ ПЕРЕДАЧІ ДАНИХ є найбільш численною групою. Вони охоплюють всі потоки передачі, розглянуті раніше. У таблиці "Система команд МК51" команди згруповані за загальним приймачу інформації.

rn

ЕКІПИ Арифметичні та логічні операції характеризуються тим, що для них одним з операндів завжди є вміст акумулятора, однак результат може міститися або в акумулятор, або на місце другого операндів, якщо це прямо адресований байт РПД або блоку РСФ.

rn

КОМАНДИ ПЕРЕДАЧІ УПРАВЛІННЯ. До цієї групи відносяться команди, які реалізують безумовні й умовні переходи, виклики підпрограми та повернення з підпрограми.

rn

За способом адресації переходу можна виділити такі типи:

rn

1. ДОВЖИНА перехід - здійснюється по АП в обсязі 64К. У команді міститься повний 16-бітовий абсолютний адреса переходу, який завантажується в (РС). Мнемоніка команд починається з літери L.

rn

2. АБСОЛЮТНИЙ перехід - здійснюється в межах сторінки ВПП (РПП) розміром 2048 байтів (2К). У команді містяться тільки 11 біт адреси (a0. .. a10). При виконанні команди в обчисленні адреси наступної команди (РС) = (РС) 2 молодші 11 біт заміняються на a0 ... a10, взяті з команди. Формат - номер 6. Мнемоніка починається з символу А.

rn

3. КОРОТКИХ щодо переходу - дозволяє передати управління в межах - 128 ... 127 байтів щодо адреси команди, наступного за командою переходу, то є відносно (РС) = (РС) 2 або (РС) = (РС) 3. Відносний адреса переходу rel міститься у другому чи третьому байт команди. Мнемоніка починається з символу S для безумовних переходів. Команди умовних переходів також реалізовані з цього формату.

rn

4. НЕПРЯМІ перехід - дозволяє передати управління з косвенному адресою, який формується за вмісту регістра DPTR і зміщення з акумулятора. Дозволяє організувати перехід за адресою, обчисленого в процесі роботи програми.

rn

Асемблер передбачає використання узагальненої мнемонікі команд JМР і CALL, які в процесі трансляції замінюються на оптимальні та допустимі за форматом команди переходу (AJMP, SJMP, LJMP) або виклику (ACALL, LCALL).




<< Предыдущая статья
«Способи адресації даних»