8.7. Система команд МП

Системи команд різних мікропроцесорів відрізняються між собою. Зви­чайно вони налічують декілька десятків команд. Всю систему команд можна розділити на п'ять функціональних груп:

пересилки;

арифметичні операції;

логічні операції;

передачі керування;

керування стеком, введенням - виведенням і станом МП.

Команди описуються символічними назвами. Більшість мнемонік - це аб­ревіатури англійських слів, які характеризують основні функції команд, напри­клад для мікропроцесорів КР580 ВМ80 А (аналог Intel 8080), К1821ВМ85А (ана­лог Intel 8085А) , Z80 фірми Zilog та ін.:

MOV (MOVe) - передати, переслати;

ADD - додавати;

SUB (SUBtract) - відняти;

LDA (Load Accumulator) - завантажити акумулятор;

STA (Story Accumulator) - запам'ятати акумулятор;

ACI (Add with Carry Immediate) - додавання з перенесенням, безпо-с ереднє;


-           JNZ (Jump if Non Zero) - перейти, якщо не нуль. Систему всіх команд МП (КР580) ілюструє рис .8.5.

Команди пересилання наказують розміщувати або переміщувати дані між блоками МП (див. табл. Д1).

Команди обробки даних підрозділяють на арифметичні й логічні.

До групи команд арифметичних дій відносять команди арифметичного с кладання, віднімання, інкрементування (додавання одиниці) і декрементуван-ня (віднімання одиниці).

Команди арифметичного складання (ADD, ADI) і віднімання (SUB, SUI) виконують з двома операндами, один з яких розміщується в акумуляторі, а дру­гий - у будь-якому іншому програмно доступному регістрі, або задається у дру­гому байті команди. Результат виконання команди завжди розміщується в аку­муляторі.

До підгрупи команд логічних дій відносять команди логічного множення "І" (ANA), логічного складання "ЧИ" (ORA), заперечення " НІ" (CMA), виклю­чного складання - виключного "ЧИ' (XRA).

Логічні дії виконують побітно, а результат завжди розміщують в акумуля­торі. До команд логічних дій відносять також команди циклічного зсуву вліво (RAL), вправо (RAR), зсуву вліво (RLC) і вправо (RRC) з перенесенням.

Команди управління за напрямком обчислювального процесу підрозділя­ють на команди безумовного і умовного переходу. Система команд МП завжди має принаймні одну команду безумовного переходу (JMP B2 B3 - передача управління за адресою, що вказана у другому В2 і третьому В3 байтах коман­ди).

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

Команди умовних переходів передають управління за адресою, яка вказа­на в команді, якщо виконується деяка умова. В іншому випадку виконується наступна команда, записана у програмі за командою умовного переходу.

До групи команд управління відносять команди безумовного переходу до підпрограм (CALL B2 B3) і безумовного повернення з підпрограми (RET).

Команди умовного переходу до підпрограм та виходу з них виконуються за тими ж ознаками, що й команди умовних переходів. Це трибайтні команди,

де в другому й третьому байтах записана адреса регістру пам'яті, до якого тре­ба здійснити перехід.

До спеціальних команд відносять команди вводу (IN B2) і виводу (OUT B2), зупинки МП (HLT), відсутності операції (NOP), роботи із стеком та ін. У командах вводу - виводу в байті В2 вказують адресу пристрою вводу - виводу. Всі дії по вводу - виводу даних при виконанні цих команд відбуваються через регістр-акумулятор.

Всі команді виконуються за певне число тактів. Враховуючи кількість та­ктів, визначають тривалість виконання будь-яких фрагментів програм або всієї програми в цілому. Слід пам'ятати, що в циклічних та ін. алгоритмах тривалість програм залежить від виконання умов (команди: CC, CNC, CZ, CNZ, CP, CM,

CPE, CPO, RC, RNC, RZ, RNZ, RP, RM, RPE, RPO) . Якщо умова не виконуєть­ся, то число тактів звичайно менше (указується в чисельнику), ніж при вико­нанні умов (у знаменнику).


Авторы: 239 А Б В Г Д Е З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

Книги: 268 А Б В Г Д Е З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я