Справочник B вычислительных операций
COMP (Fx, Fy)
Синтаксис:
COMP (Fx, Fy)
Функция:
Сравнение операнда с плавающей точкой из регистра Fx с операндом с плавающей точкой из регистра Fy. Если два операнда равны, то устанавливается флаг AZ. Если операнд в регистре Fx меньше, чем операнд в регистре Fy, то устанавливается флаг AN.
В битах 24 31 регистра ASTAT хранятся результаты восьми предыдущих операций сравнения ALU. При выполнении команды сравнения с фиксированной или с плавающей точкой, эти биты сдвигаются вправо (бит 24 теряется). Старший бит в ASTAT устанавливается, если X операнд больше, чем Y операнд (значение бита равно результату операции «И» между флагами AZ и AN); иначе бит сбрасывается.
Флаги состояния:
AZ |
Установлен, если операнды в регистре Fx и регистре Fy равны, иначе — |
|
сброшен |
AU |
Сброшен |
AN |
Установлен, если операнд в регистре Fx меньше операнда в регистре Fy, |
|
иначе — сброшен |
AV |
Сброшен |
AC |
Сброшен |
AS |
Сброшен |
AI |
Установлен, если входные операнды NAN, иначе — сброшен |
В Справочник вычислительных операций
Fn = – Fx
Синтаксис:
Fn = – Fx
Функция:
Установка знакового бита операнда с плавающей точкой из операнда Fx. Результат помещается в регистр Fn. Ненормализованный входной операнд обнуляется. При вводе NAN возвращается NAN (1 во всех разрядах).
Флаги состояния:
AZ |
Установлен, если результат равен ±0, иначе — сброшен |
AU |
Сброшен |
AN |
Установлен, если результат с плавающей точкой отрицательный, иначе — |
|
сброшен |
AV |
Сброшен |
AC |
Сброшен |
AS |
Сброшен |
AI |
Установлен, если выходной операнд NAN, иначе — сброшен |
Справочник B вычислительных операций
Fn = ABS Fx
Синтаксис:
Fn = ABS Fx
Функция:
Возвращается абсолютное значение операнда с плавающей точкой из регистра Fx; знаковый бит операнда устанавливается в 0. Ненормализованный входной операнд обнуляется. При вводе NAN возвращается NAN (1 во всех разрядах).
Флаги состояния:
AZ |
Установлен, если результат равен +0, иначе — сброшен |
AU |
Сброшен |
AN |
Сброшен |
AV |
Сброшен |
AC |
Сброшен |
AS |
Установлен, если входной операнд отрицательный, иначе — сброшен |
AI |
Установлен, если входной операнд NAN, иначе — сброшен |
В Справочник вычислительных операций
Fn = PASS Fx
Синтаксис:
Fn = PASS Fx
Функция:
Передача операнда с плавающей точкой из Fx без изменений через ALU в поле с плавающей точкой регистра Fn. Ненормализованный входной операнд обнуляется. При вводе NAN возвращается NAN (1 во всех разрядах).
Флаги состояния:
AZ |
Установлен, если результат равен ±0, иначе — сброшен |
AU |
Сброшен |
AN |
Установлен, если результат с плавающей точкой отрицательный, иначе — |
|
сброшен |
AV |
Сброшен |
AC |
Сброшен |
AS |
Сброшен |
AI |
Установлен, если входной операнд NAN, иначе — сброшен |
Справочник B вычислительных операций
Fn = RND Fx
Синтаксис:
Fn = RND Fx
Функция:
Округление операнда с плавающей точкой из регистра Fx до 32 бит. Округление к ближайшему или усечение (в зависимости от установки битов режима округления и границы округления в MODE1). При переполнении после округления возвращается ±∞ (округление к ближайшему) или ±NORM.MAX (округление к нулю). После округления ненормализованного результата возвращается ±0. Ненормализованные входные операнды обнуляются. При вводе NAN возвращается NAN (1 во всех разрядах).
Флаги состояния:
AZ |
Установлен, если результат равен ±0, иначе — сброшен |
AU |
Сброшен |
AN |
Установлен, если результат с плавающей точкой отрицательный, иначе — |
|
сброшен |
AV |
Установлен, если результат после округления переполнен (несмещенный |
|
порядок > +127), иначе — сброшен |
AC |
Сброшен |
AS |
Сброшен |
AI |
Установлен, если входной операнд NAN, иначе — сброшен |
В Справочник вычислительных операций
Fn = SCALB Fx BY Ry
Синтаксис:
Fn = SCALB Fx BY Ry
Функция:
Масштабирование порядка операнда с плавающей точкой из регистра Fx путем прибавления к порядку операнда с фиксированной точкой из Ry, представляющего собой целое в виде двоичного дополнения число. Масштабированный результат с плавающей точкой помещается в регистр Fn. При переполнении после округления возвращается ±∞ (округление к ближайшему) или ±NORM.MAX (округление к нулю). После округления ненормализованного результата возвращается ±0. Ненормализованные входные операнды обнуляются. При вводе NAN возвращается NAN (1 во всех разрядах).
Флаги состояния:
AZ |
Установлен, если результат после округления ненормализован |
|
(несмещенный порядок < –126) или нулевой, иначе — сброшен |
AU |
Установлен, если результат после округления ненормализован, иначе — |
|
сброшен |
AN |
Установлен, если результат с плавающей точкой отрицательный, иначе — |
|
сброшен |
AV |
Установлен, если результат после округления переполнен (несмещенный |
|
порядок > +127), иначе — сброшен |
AC |
Сброшен |
AS |
Сброшен |
AI |
Установлен, если входной операнд NAN, иначе — сброшен |
Справочник B вычислительных операций
Rn = MANT Fx
Синтаксис:
Rn = MANT Fx
Функция:
Извлечение мантиссы (битов дробной части с явным «скрытым» битом, исключая знаковый бит) из операнда с плавающей точкой из Fx. Беззнаковый результат выравнивается по левому разряду (формат 1.31) в ПФТ Rn. Режим округления игнорируется, округление не выполняется, т. к. все результаты в действительности точные. Ненормализованный входной операнд обнуляется. При вводе NAN или бесконечности возвращаются 1 во всех разрядах (–1 в знаковом формате с фиксированной точкой).
Флаги состояния:
AZ |
Установлен, если результат равен нулю, иначе — сброшен |
AU |
Сброшен |
AN |
Сброшен |
AV |
Сброшен |
AC |
Сброшен |
AS |
Установлен, если результат отрицательный, иначе — сброшен |
AI |
Установлен, если входной операнд NAN или ∞, иначе — сброшен |
В Справочник вычислительных операций
Rn = LOGB Fx
Синтаксис:
Rn = LOGB Fx
Функция:
Преобразование порядка операнда с плавающей точкой из регистра Fx в несмещенное целое число с фиксированной точкой в виде двоичного дополнения. Результат помещается в ПФТ регистра Rn. Несмещенность достигается путем вычитания 127 и из порядка операнда с плавающей точкой из Fx. Если режим насыщения не установлен, то при входном операнде, равном ±∞, возвращается +∞ с плавающей точкой, а при входном операнде, равном ±0, возвращается –∞ с плавающей точкой. Если режим насыщения установлен, то при входном операнде, равном ±∞, возвращается максимальное положительное число (0х7FFF FFFF), а при входном операнде, равном ±0, возвращается минимальное отрицательное число (0х8000 0000). Ненормализованные входные операнды обнуляются. При вводе NAN возвращается NAN (1 во всех разрядах).
Флаги состояния:
AZ |
Установлен, если результат с фиксированной точкой равен нулю, иначе — |
|
сброшен |
AU |
Сброшен |
AN |
Установлен, если результат отрицательный, иначе — сброшен |
AV |
Установлен, если входной операнд ∞ или 0, иначе — сброшен |
AC |
Сброшен |
AS |
Сброшен |
AI |
Установлен, если входной операнд NAN, иначе — сброшен |
Справочник B вычислительных операций
Rn = FIX Fx
Rn = TRUNC Fx
Синтаксис: |
|
Rn = FIX Fx |
Rn = TRUNC Fx |
Rn = FIX Fx BY |
Rn = TRUNC Fx BY Ry |
Функция:
Преобразование операнда с плавающей точкой из Fx в 32 разрядное целое число с фиксированной точкой в виде двоичного дополнения. Если в регистре MODE1 бит TRUNC=1, то при выполнении операции FIX мантисса усекается к –∞. Если бит TRUNC=0, при выполнении операции FIX мантисса округляется к ближайшему целому. При выполнении операции TRUNC округление всегда к 0. Заметим, что бит TRUNC не влияет на операцию, соответствующую команде TRUNC.
Если определен коэффициент масштабирования (Ry), то перед преобразованием значение из Ry (целое с фиксированной точкой в виде двоичного дополнения) добавляется к порядку операнда с плавающей точкой из Fx. Результат преобразования выравнивается по правому разряду (формат 32.0) в ПФТ регистра Rn. Оставшиеся биты поля с плавающей точкой в Rn обнуляются. В режиме насыщения (бит режима насыщения ALU установлен в MODE1) при положительном переполнении и при результате, равном +∞, возвращается максимальное положительное число (0x7FFF FFFF), а при отрицательном переполнении и при результате, равном –∞, возвращается максимальное отрицательное число (0x8000 0000).
При операции FIX происходит округление к ближайшему (IEEE) или усечение (в зависимости от состояния бита режима округления в MODE1). При вводе NAN возвращается NAN (1 во всех разрядах). Если режим насыщения не установлен, то при входном операнде, равном ∞, или при переполнении результата возвращаются единицы во всех разрядах ПФТ. При потере значащих разрядов положительным числом возвращается 0. При потере значащих разрядов отрицательным числом после его округления к ближайшему возвращается 0. При потере значащих разрядов отрицательным числом после его усечения возвращается –1 (0xFF FFFF FF00).
Флаги состояния:
AZ Установлен, если результат с фиксированной точкой равен нулю, иначе — сброшен
В Справочник вычислительных операций
AU |
Установлен, если результат перед округлением ненормализован, иначе — |
|
сброшен |
AN |
Установлен, если результат с фиксированной точкой отрицательный, |
|
иначе — сброшен |
AV |
Установлен, если преобразование вызывает сдвиг влево мантиссы с |
|
плавающей точкой, т.е. порядок + смещение > 157 (127 + 31 – 1) или если |
|
входной операнд равен ±∞, иначе — сброшен |
AC |
Сброшен |
AS |
Сброшен |
AI |
Установлен, если входной операнд NAN, или при не установленном |
|
режиме насыщения входной операнд равен ∞ или результат переполнен, |
|
иначе — сброшен |