Команды процессора

Команды процессора. Фото процессора.

Рассмотрим в статье все команды процессора

Команды пересылки данных

  • Команды пересылки данных занимают очень важное место в системе команд любого процессора. Они выполняют следующие важнейшие функции:
    • Загрузка (запись) содержимого во внутренние регистры процессора;
    • Сохранение в памяти содержимого внутренних регистров процессора;
    • Копирование содержимого из одной области памяти в другую;
    • Запись в устройства ввода/вывода и чтение из устройств ввода/вывода.

Арифметические команды

  • Арифметические команды рассматривают коды операндов как числовые двоичные или двоично-десятичные коды. Эти команды могут быть разделены на пять основных групп:
    • Команды операций с фиксированной запятой (сложение, вычитание, умножение, деление);
    • Команды операций с плавающей запятой (сложение, вычитание, умножение, деление);
    • Команды очистки;
    • Команды инкремента и декремента;
    • Команда сравнения.

Логические команды

  • Логические команды выполняют над операндами логические (побитовые) операции, то есть они рассматривают коды операндов не как единое число, а как набор отдельных битов. Этим они отличаются от арифметических командЛогические команды выполняют следующие основные операции:
    • Логическое И, логическое ИЛИ, сложение по модулю 2 (Исключающее ИЛИ);
    • Логические, арифметические и циклические сдвиги;
    • Проверка битов и операндов;
    • Установка и очистка битов (флагов) регистра состояния процессора ( PSW ).

Команды переходов

  • Команды переходов предназначены для организации всевозможных циклов, ответвлений, вызовов подпрограмм и т.д., то есть они нарушают последовательный ход выполнения программы. Эти команды записывают в регистр-счетчик команд новое значение и тем самым вызывают переход процессора не к следующей по порядку команде, а к любой другой команде в памяти программ. Некоторые команды переходов предусматривают в дальнейшем возврат назад, в точку, из которой был сделан переход, другие не предусматривают этого. Если возврат предусмотрен, то текущие параметры процессора сохраняются в стеке. Если возврат не предусмотрен, то текущие параметры процессора не сохраняются.

Команды переходов без возврата делятся на две группы

  • Команды безусловных переходов
  • Команды условных переходов
В обозначениях этих команд используются слова Branch ( ветвление ) и Jump (прыжок)
  • Команды безусловных переходов вызывают переход в новый адрес независимо ни от чего. Они могут вызывать переход на указанную величину смещения (вперед или назад), или же на указанный адрес памяти. Величина смещения или новое значение адреса указываются в качестве входного операнда.
  • Команды условных переходов вызывают переход не всегда, а только при выполнении заданных условий. В качестве таких условий обычно выступают значения флагов в регистре состояния процессора (PSW). То есть условием перехода является результат предыдущей операции, меняющей значения флагов. Всего таких условий перехода может быть от 4 до 16. Несколько примеров команд условных переходов:
    • Переход, если равно нулю;
    • Переход, если не равно нулю;
    • Переход, если есть переполнение;
    • Переход, если нет переполнения;
    • Переход, если больше нуля;
    • Переход, если меньше или равно нулю.
SiVerys