Open Library - открытая библиотека учебной информации

Открытая библиотека для школьников и студентов. Лекции, конспекты и учебные материалы по всем научным направлениям.

Категории

Высокие технологии Система команд МПС.
просмотров - 160

В общем случае система команд процессора включает в себя следующие четыре основные группы команд:

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

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

· логические команды;

· команды переходов.

Команды пересылки данных не требуют выполнения никаких операций над операндами. Операнды просто пересылаются (точнее, копируются) из источника (Source) в приемник (Destination). Источником и приемником бывают внутренние регистры процессора, ячейки памяти или устройства ввода/вывода. АЛУ в данном случае не используется.

Οʜᴎ выполняют следующие важнейшие функции:

· загрузка (запись) содержимого во внутренние регистры процессора;

· сохранение в памяти содержимого внутренних регистров процессора;

· копирование содержимого из одной области памяти в другую;

· запись в устройства ввода/вывода и чтение из устройств ввода/вывода.

Арифметические команды выполняют операции сложения, вычитания, умножения, делœения, увеличения на единицу (инкрементирования), уменьшения на единицу (декрементирования) и т.д. Этим командам требуется один или два входных операнда. Формируют команды один выходной операнд.

Эти команды бывают разделœены на пять базовых групп:

· Команды операций с фиксированной запятой - работают с кодами в регистрах процессора или в памяти как с обычными двоичными кодами.

· Команды операций с плавающей запятой (точкой) - используют формат представления чисел с порядком и мантиссой

· Команды очистки (CLR) - предназначены для записи нулевого кода в регистр или ячейку памяти

· Команды инкремента (увеличения на единицу, INC) и декремента (уменьшения на единицу, DEC)

· Команды сравнения (обозначается CMP) - предназначены для сравнения двух входных операндов

Логические команды производят над операндами логические операции, к примеру, логическое И, логическое ИЛИ, исключающее ИЛИ, очистку, инверсию, разнообразные сдвиги (вправо, влево, арифметический сдвиг, циклический сдвиг). Этим командам, как и арифметическим, требуется один или два входных операнда, и формируют они один выходной операнд.

Логические команды выполняют следующие основные операции:

· логическое И, логическое ИЛИ, сложение по модулю 2 (Исключающее ИЛИ);

· логические, арифметические и циклические сдвиги;

· проверка битов и операндов;

· установка и очистка битов (флагов) регистра состояния процессора (PSW).

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

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

· команды безусловных переходов;

· команды условных переходов.

Команды безусловных переходов вызывают переход в новый адрес независимо ни от чего.

Команды условных переходов вызывают переход не всœегда, а только при выполнении заданных условий.

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

Все команды переходов с возвратом предполагают безусловный переход (они не проверяют никаких флагов)