|(LO)|
Команды нормализации:
[IF cond] SR = |SR OR| NORM xop |(HI)|;
|(LO)|
Команды выделения порядка:
[IF cond] SR = EXP xop |(HI) |;
|(LO) |
|(HIX)|
Команды выравнивания блочного порядка:
[IF cond] SR = EXPADJ xop;
Команды арифметического непосредственного сдвига:
[IF cond] SR = |SR OR| ASHIFT xop BY <exp> |(HI)|;
|(LO)|
Команды логического непосредственного сдвига:
[IF cond] SR = |SR OR| LSHIFT xop BY <exp> |(HI)|;
|(LO)|
В записях некоторых команд присутствуют символы, которые имеют следующее назначение:
HI — сдвиг выполняется относительно старших 16 разрядов (SR1);
LO — сдвиг выполняется относительно младших 16 разрядов (SR0);
HIX — расширенный режим HI (при выделении порядка учитывается бит переполнения AV).
Например, команда:
SE=EXP AR (HIX);
означает, что в регистр SE будет занесен результат выделения порядка из регистра AR в расширенном режиме, т.е. с учетом бита переполнения AV.
Команда:
SR=NORM AR (HI); {Нормализация}
означает, что в регистр SR будет занесен результат нормализации регистра AR, причем сдвиг при нормализации будет выполняться относительно старших 16 разрядов.
Для всех команд устройства сдвига разрешено использовать следующие операнды xop: SI, SR0, SR1, AR, MR0, MR1, MR2, а в качестве ЕХР может быть любое целое число от -128 до 127.
Коды условия IF соответствуют кодам, приведенным ранее в табличном виде.
Ниже приведен пример программы для вычисления разницы двух чисел в формате с плавающей точкой, с применением устройства сдвига.
.MODULE float_point_sub;