Операции с целыми числами

Команды арифметической и логической обработки

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

Типы команд

Для описания основных типов операций примем следующую классификацию:

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

• команды арифметической и логической обработки;

• команды работы со строками;

• команды SIMD;

• команды преобразования;

• команды ввода/вывода;

• команды управления потоком команд.

Это наиболее распространенный тип машинных команд. В таких командах должна содержаться следующая информация:

• адреса источника и получателя операндов – адреса ячеек памяти, номера регистров процессора или информация о том, что операнды расположены в стеке;

• длина подлежащих пересылке данных (обычно в байтах или словах), заданная явно или косвенно;

• способ адресации каждого из операндов, с помощью которого содержимое адресной части команды может быть пересчитано в физический адрес операнда.

Эта группа команд обеспечивает передачу информации между процессором и основной памятью, внутри процессора и между ячейками памяти. Пересылочные операции внутри процессора имеют тип «регистр-регистр». Передачи между процессором и памятью относятся к типу «регистр-память», а пересылки в памяти – к типу «память-память».

В данную группу входят команды, обеспечивающие арифметическую и логическую обработку информации в различных формах ее представления. Для каждой формы представления чисел в архитектуре системы команд обычно предусматривается некий стандартный набор операций.

Помимо вычисления результата выполнение арифметических и логических операций сопровождается формированием в АЛУ признаков (флагов), характеризующих этот результат. Наиболее часто фиксируются такие признаки, как: Z (Zero) – нулевой результат; N (Negative) – отрицательный результат; V (oVerflow) – переполнение разрядной сетки; С (Carry) – наличие переноса.

К стандартному набору операций над целыми числами, представленными в форме с фиксированной запятой, следует отнести:

• двухместные арифметические операции (операции с двумя операндами): сложение, вычитание, умножение и деление;

• одноместные арифметические операции (операции с одним операндом): вычисление абсолютного значения (модуля) операнда, изменение знака операнда;

• операции сравнения, обеспечивающие сравнение двух целых чисел и выработку признаков, характеризующих соотношение между сопоставляемыми величинами >, <, <=, >=).

Часто этот перечень дополняют такими операциями, как вычисление остатка от целочисленного деления, сложение с учетом переноса, вычитание с учетом заема, увеличение значения операнда на единицу (инкремент), уменьшение значения операнда на единицу (декремент).

Отметим, что выполнение арифметических команд может дополнительно сопровождаться перемещением данных из устройства ввода в АЛУ или из АЛУ на устройство вывода.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: