Команды обработки данных
Эта группа команд самая большая и самая главная. Разделяется в зависимости от операций, которые выполняются над данными: 1. арифметические 2. логические 3. команды сдвига 4. команды обработки строк. 1. Базовые арифметические команды предназначены для задания арифметических операций над какими-то операндами. Любая арифметическая операция двухместная. Команды арифметических операций формируют практически всегда признаки результата операций. Базовой арифметической операцией является арифметическое сложение (сложение двоичных кодов, т.к. сложение без знаковое). Большинство ЭВМ не ограничиваются операцией сложения, имеется еще вычитание двоичных кодов (SUB dst,src). Эта операция не коммутативная. Операция сравнения кодов (СМР dst,src). По содержанию это команда вычитания. Все признаки результата по этой команде формируются, а результат никуда не заносится. Однооперандные арифметические команды. Эти команды очень используемы при разработке счетчиков, индексов. Не применимы для многобайтных данных, позволяют сохранить признаки для следующих ветвлений. Команды умножения и деления. В системах команд малых ЭВМ эти команды отсутствуют, но если в системе команд имеются эти команды, то они применяются для беззнаковых данных. Команды десятичной арифметики. Основу десятичной арифметики в любых ЭВМ составляют команды двоичной арифметики. Обычно к эти командам относят команды десятичной коррекции. Обычно эти команды зависят от того, какой формат используется (упакованный или неупакованный). Не зависимо от формата, команды основаны на аккумуляторном способе (т.е. команды десятичной коррекции безадресные). В этом случае десятичная обработка состоит из двух фаз: 1) соответствующее двоичное действие 2) коррекция с учетом десятичного числа. 2. Команды логических операций. Логические команды в системе команд ЭВМ играют не только вспомогательную роль, но в логических задачах могут быть основными операторами обработки. Для этого система логических операций в ЭВМ должна быть функционально полной. Как правило, систему команд закладываются избыточные логические операции. Операции выполняются побитно и одновременно справа на лево. Команды логической обработки одно и двух операндные. Чаще всего логические операции применяются для решения трех задачек. 1. Маскирование и выделение определенных разрядов операндов. Реализуется с помощью операции конъюнкции (&) с заданной маской. 2. Формирование требуемых значений в требуемых битах (с помощью ). 3. Инвертирование определенных битов (с помощью ) 3. Команды сдвигов. Все реализуемые команды сдвигов могут быть разделены по признакам: вид сдвига (арифметический или логический); направление сдвига; характер сдвига (простой или циклический); по количеству разрядов, на которое сдвигается операнд после выполнения операции.
|