Математические инструкции производят обработку содержимого аккумуляторов 1 и 2. Старое содержимое аккумулятора 1 при инструкции загрузки сдвигается в аккумулятор 2. При выполнении инструкции, результат сохраняется в аккумуляторе 1, содержимое аккумулятора 2 остается неизменным.
В CPU с четырьмя аккумуляторами после выполнения математической инструкции, содержимое аккумулятора 3 копируется в аккумулятор 2, а содержимое аккумулятора 4 в аккумулятор 3. Старое содержимое аккумулятора 4 не меняется. IEEE 32-битовые числа с плавающей точкой соответствуют типу данных REAL. Вы можете использовать следующие инструкции с плавающей точкой для обработки двух 32-
битовых IEEE чисел с плавающей точкой:
• +R Сложение ACCU 1 и ACCU
• -R Вычитание ACCU 1 из ACCU 2
• *R Умножение ACCU 1 и ACCU 2
• /R Деление ACCU 2 на ACCU 1
Вы можете использовать следующие инструкции с плавающей точкой для обработки одного 32-битового IEEE числа с плавающей точкой:
• ABS Модуль числа
• SQR Вычисление квадрата
• SQRT Вычисление квадратного корня
• EXP Вычисление экспоненты
• LN Вычисление натурального логарифма
• SВ Вычисление синуса угла
• COS Вычисление косинуса угла
• TAN Вычисление тангенса угла
• ASВ Вычисление арксинуса
• ACOS Вычисление арккосинуса
• ATAN Вычисление арктангенса
Обзор инструкций сдвига
С помощью инструкций сдвига Вы можете побитно сдвигать содержимое младшего слова аккумулятора или весь аккумулятор (см. Регистры CPU) влево или вправо. Сдвиг на n битов влево умножает содержимое аккумулятора на 2n; сдвиг на n битов вправо делит содержимое аккумулятора на 2n. Например, если Вы сдвигаете значение 3 в двоичном коде на 3 бита влево, то получается десятичное значение 24. Если Вы сдвигаете десятичное значение 16 на 2 бита вправо, то в аккумуляторе получается двоичный
эквивалент десятичного значения 4. Число, задаваемое в виде параметра инструкции сдвига или, при его отсутствии, содержимое младшего байта аккумулятора 2, показывает, на сколько битов должен производиться сдвиг. Разряды, освобождающиеся вследствие операции сдвига, заполняются нулями или состоянием знакового бита (”0” в случае положительного числа, ”1” в случае отрицательного числа). Бит, сдвигаемый последним, загружается в бит СС1 слова состояния. Биты CC0 и OV сбрасываются в “0”. Вы можете оценить бит CC1 слова состояния с помощью операций перехода. Инструкции сдвига являются безусловными. Это значит, что они выполняются независимо от каких-либо условий. Они не влияют на бит RLO. Вы можете использовать следующие инструкции сдвига:
• SSI Сдвиг вправо целого числа со знаком
• SSD Сдвиг вправо двойного целого числа со знаком
• SLW Сдвиг слова влево
• SRW Сдвиг слова вправо
• SLD Сдвиг двойного слова влево
• SRD Сдвиг двойного слова вправо
Рисунок 11 - Пример применения инструкций сдвига