Характеристика функціональних груп команд
Всі команди МК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).
|