5В общем случае система команд процессора включает в себя следующие 4 группы команд:
• Команды пересылки данных – не требуют выполнения никаких операций над операндами. Операнды просто пересылаются\копируются из источника в приёмник. Источником и приемником могут быть регистры процессора.
• Арифметические команды - выполняют операции сложения, вычитания, умножения, деления, инкрементирования, декрементирование. Этим командам требуется один или два входных операнда и они формируют один выходной
• Логические команды– производят над операндами логические операции (и, или, не). Этим командам требуются один или два входных операнда и они формируют один выходной.
• Команды переходов – предназначены для изменения обычного порядка последовательного присвоения команд. С их помощью организуются переходы на подпрограммы и возвраты из них, всевозможные циклы, ветвления программ, пропуски фрагментов программ. Переходы могут быть условными и безусловными. Именно команды перехода позволяют строить сложные алгоритмы обработки информации.
В соответствии с результатом каждой выполненной команды устанавливаются или очищаются биты регистра, состояние процессора.
Команды пересылки данных – эти команды выполняют следующие функции: загрузка (запись) содержимого во внутренние регистры процессора. Сохранение в памяти содержимого внутренних регистров процессора. Копирование содержимого из одной области памяти в другую. Запись в устройства ввода\вывода и чтение из этих устройств.
В некоторых процессорах это выполняется одной командой Move, но с различными методами адресации операндов.
Pop – извлечь из стека
Push – сохранить в стеке
IN – для ввода (чтения) информации из устройств ввода\вывода.
Out – используется для вывода (записи) устройства ввода вывода. Обмен информацией в этом случае производится между регистром – аккумулятором и устройством ввода\вывода.
Арифметические команды – рассматривают коды операндов как числовые двоичные или двоично-десятичные коды.
Они могут быть разделены:
команды операций с фиксированной запятой (сложение – add, вычитание –sub, умножение – mul, деление - div)
команды операций с плавающей запятой используют формат представления чисел с порядком и мантиссой.