Операции с целыми числами
Типы команд. Форматы команд. Длина команды. Разрядность полей команды
Типы команд
Несмотря на различие в системах команд разных ВМ, некоторые основные типы операций могут быть найдены в любой из них. Для описания этих типов примем следующую классификацию:
· команды пересылки данных;
· команды арифметической и логической обработки;
· команды работы со строками;
· команды SIMD;
· команды преобразования;
· команды ввода/вывода;
· команды управления потоком команд.
Команды пересылки данных
Это наиболее распространенный тип машинных команд. В таких командах должна содержаться следующая информация:
• адреса источника и получателя операндов — адреса ячеек памяти, номера регистров процессора или информация о том, что операнды расположены в стеке;
• длина подлежащих пересылке данных (обычно в байтах или словах), заданная явно или косвенно;
• способ адресации каждого из операндов, с помощью которого содержимое адресной части команды может быть пересчитано в физический адрес операнда.
Рассматриваемая группа команд обеспечивает передачу информации между процессором и ОП, внутри процессора и между ячейками памяти. Пересылочные операции внутри процессора имеют тип «регистр-регистр». Передачи между процессором и памятью относятся к типу «регистр-память», а пересылки в памяти - к типу «память-память».
Команды арифметической и логической обработки
В данную группу входят команды, обеспечивающие арифметическую и логическую обработку информации в различных формах ее представления. Для каждой формы представления чисел в АСК обычно предусматривается некий стандартный набор операций.
Помимо вычисления результата выполнение арифметических и логических операций сопровождается формированием в АЛУ признаков (флагов), характеризующих этот результат. Наиболее часто фиксируются такие признаки, как:
Z (Zero) - нулевой результат; N (Negative) - отрицательный результат; V (oVerflow) - переполнение разрядной сетки; С (Carry) — наличие переноса.\
Операции с целыми числами
К стандартному набору операций над целыми числами, представленными в форме с фиксированной запятой, следует отнести:
• двухместные арифметические операции (операции с двумя операндами): сло
жение, вычитание, умножение и деление;
• одноместные арифметические операции (операции с одним операндом ): вычис
ление абсолютного значения (модуля) операнда, изменение знака операнда;
• операции сравнения, обеспечивающие сравнение двух целых чисел и выработ
ку признаков, характеризующих соотношение между сопоставляемыми вели
чинами (=,<>,>,<, <=, >=).
Часто этот перечень дополняют такими операциями, как вычисление остатка от целочисленного деления, сложение с учетом переноса, вычитание с учетом заема, увеличение значения операнда на единицу (инкремент), уменьшение значения операнда на единицу (декремент).
Отметим, что выполнение арифметических команд может дополнительно сопровождаться перемещением данных из устройства ввода в АЛУ или из АЛУ на устройство вывода.
Дата добавления: 2017-05-02; просмотров: 1090;