Всі команди за функціональною ознакою розділ ?? єни на групи: переміщення даних; обробка даних; управління програмою; введення - висновок і спеціальні команди.
Описуючи систему команд з використанням мнемоніки, вкрай важливо враховувати можливості конкретної мови для освіти допустимих скорочень. Звичайно, тим, хто вперше стикається з мікропроцесорами і їх програмуванням, хочеться, щоб вс ?? е мнемонічні скорочення були зроблені на базі їх рідної мови, а не якого-небудь іноземного. Але, наприклад, як скоротити команди ВВЕДЕННЯ і ВИСНОВОК (аналогічно ВХІД і ВИХІД)? По-англійськи вони будуть записані IN-OUT, ᴛ.ᴇ. відразу досить короткими, і розрізняються на стільки, що бувають скорочені до однієї літери (I / O). У російській варіанті скорочення, на жаль, абсолютно неможливо.
Слову ВИСНОВОК (ВИХІД) особливо не пощастило, так як в командах арифметичних дій і управління програмою зустрічаються скорочення, що відрізняються тільки однією буквою, наприклад, відняти, виконуючи, викликаних і ін.
Але основна причина широкого використання англійської мови для мнемонічних скорочень машинних команд пов'язана з наявністю готового математичного забезпечення конкретного мікропроцесора, а також можливістю використання математичного забезпечення, підготовленого для інших систем, зокрема міні-ЕОМ.
Проблема застосування Мнемокод англійською мовою вирішується простіше, ніж це здається на перший погляд. Важливо зауважити, що для створення програми іноземну мову вивчати не потрібно, достатньо знати лише кілька термінів однаково часто зустрічаються в командах більшості мікропроцесорів і мікро-ЕОМ. Описуючи в подальшому систему команд, будемо дотримуватися наступного порядку.
При операції переміщення даних вміст джерела зберігається незмінним, а початкова вміст приймача замінюється результатом операції.
У мнемонике команди вказуються умовні позначення РОН, в яких знаходяться приймач і джерело, між собою ці позначення обов'язково поділяються коми. Наприклад, MOV С, В означає''перенесті вміст регістра В в регістр С''; вміст регістра В залишається без зміни. При трансляції команди в об'єктний код, умовні позначення регістрів замінюються їх двійковими номерами. Всі регістри загального призначення, пам'ять і акумулятор мають постійні номери.
Команда переміщення даних є найбільш''богатой'' по числу різних варіантів. У разі якщо перебрати в зоні операнда нд ?? е можливі комбінації регістрів, то в переліку машинних команд буде зайнято 64 позиції. Правда, хоча вс ?? е їх можна застосовувати, частина їх виявиться по суті марною. Наприклад, команда MOV А, А наказує переслати вміст акумулятора назад в акумулятор.
Очевидно, що при використанні будь-яких команд переміщення нд ?? е необхідні дані повинні бути попередньо поміщені у відповідні регістри. Для цього застосовуються відповідні цій же групі команди передачі вмісту комірки пам'яті у внутрішні регістри. Зазвичай такі операції виконуються за командами завантаження. Протилежні дії, ᴛ.ᴇ. передачу вмісту внутрішнього регістра в пам'ять, називають командами запам'ятовування, або збереження даних.
При безпосередньому поданні можлива тільки завантаження даних.
Команди завантаження покажчики ?? їй пам'яті і запам'ятовування даних. Для завантаження початкових значень у внутрішні покажчики пам'яті (ініціалізації) застосовують трехбайтную команду з безпосереднім поданням операнда LXIrp, де Rр означає реєстрові пари ВС, DE, HL або покажчик стека SP-Stack Pointer. Наприклад, LХL H 0900 означає помістити в регістр L число 00, а в регістр Н - число 09, отже, в реєстрову пару завантажити покажчик на комірку пам'яті 0900.
Команди міжрегістрових обміну. Особливостями мікропроцесора КР.580ІK80A є однобайтні команди передачі 16-бітних операндов. Є спеціальна командаXCHG (скорочення англійського слова Exshange), яка виробляє обмін вмістом регістрів DE і HL:
(H) ↔ (D). (L) ↔ (E).
У ряді випадків дуже зручною виявляється спеціальна однобайтном команда XTHL (exchange HL):
(L) ↔ ([SP]). (H) ↔ ([SP + 1]),
вона виконує обмін вмістом регістрів HL і двох верхніх осередків стека, т. е. останніх, завантажених в стек даних. Вміст покажчика стека при виконанні командиXTHL не змінюється. До речі сказати, командаXTHL - найдовша в системі команд мікропроцесора КР.580ІK80A, для її виконання потрібно 18 машинних тактів.
Команди операцій зі стеком. Для установки покажчика стека на початкове значення використовують згадану раніше команду LXI SP. Завдяки такій установці в якості стека повинна бути застосована будь-яка область оперативної пам'яті мікропроцесорної системи.
Для правильної роботи стека командиPUSH і POP обов'язково повинні бути парними. Дотримання цього принципу лягати повністю на программіста͵ так як процедури завантаження в стек і витягання із стека виконуються мікропроцесором не автоматично, а тільки по командам в програмі.