Шрифт:
Для наглядности, в табл. 16.3–16.5 показаны все три режима работы детектора порядка. В таблицах приняты следующие условные обозначения: S — знаковый бит, N — знаковый бит, D — незначащий бит.
Таблица 16.3 Детектор порядка в режиме работы HI
| Старший байт | Младший байт | Степень |
|---|---|---|
| SNDDDDDD | DDDDDDDD | 0 |
| SSNDDDDD | DDDDDDDD | – 1 |
| SSSNDDDD | DDDDDDDD | – 2 |
| SSSSNDDD | DDDDDDDD | – 3 |
| SSSSSNDD | DDDDDDDD | – 4 |
| SSSSSSND | DDDDDDDD | – 5 |
| SSSSSSSN | DDDDDDDD | – 6 |
| SSSSSSSS | NDDDDDDD | – 7 |
| SSSSSSSS | SNDDDDDD | – 8 |
| SSSSSSSS | SSNDDDDD | – 9 |
| SSSSSSSS | SSSNDDDD | – 10 |
| SSSSSSSS | SSSSNDDD | – 11 |
| SSSSSSSS | SSSSSNDD | – 12 |
| SSSSSSSS | SSSSSSND | – 13 |
| SSSSSSSS | SSSSSSSN | – 14 |
| SSSSSSSS | SSSSSSSS | – 15 |
Таблица 16.4 Детектор порядка в режиме работы HIX
| Флаг AV | Старший байт | Младший байт | Степень |
|---|---|---|---|
| 1 | DDDDDDDD | DDDDDDDD | +1 |
| 0 | SNDDDDDD | DDDDDDDD | 0 |
| 0 | SSNDDDDD | DDDDDDDD | – 1 |
| 0 | SSSNDDDD | DDDDDDDD | – 2 |
| 0 | SSSSNDDD | DDDDDDDD | – 3 |
| 0 | SSSSSNDD | DDDDDDDD | – 4 |
| 0 | SSSSSSND | DDDDDDDD | – 5 |
| 0 | SSSSSSSN | DDDDDDDD | – 6 |
| 0 | SSSSSSSS | NDDDDDDD | – 7 |
| 0 | SSSSSSSS | SNDDDDDD | – 8 |
| 0 | SSSSSSSS | SSNDDDDD | – 9 |
| 0 | SSSSSSSS | SSSNDDDD | – 10 |
| 0 | SSSSSSSS | SSSSNDDD | – 11 |
| 0 | SSSSSSSS | SSSSSNDD | – 12 |
| 0 | SSSSSSSS | SSSSSSND | – 13 |
| 0 | SSSSSSSS | SSSSSSSN | – 14 |
| 0 | SSSSSSSS | SSSSSSSS | – 15 |
Таблица 16.5 Детектор порядка в режиме работы LO
| Флаг SS | Старший байт | Младший байт | Степень |
|---|---|---|---|
| S | DDDDDDDD | DDDDDDDD | – 15 |
| S | SNDDDDDD | DDDDDDDD | – 16 |
| S | SSNDDDDD | DDDDDDDD | – 17 |
| S | SSSNDDDD | DDDDDDDD | – 18 |
| S | SSSSNDDD | DDDDDDDD | – 19 |
| S | SSSSSNDD | DDDDDDDD | – 20 |
| S | SSSSSSND | DDDDDDDD | – 21 |
| S | SSSSSSSN | DDDDDDDD | – 22 |
| S | SSSSSSSS | NDDDDDDD | – 23 |
| S | SSSSSSSS | SNDDDDDD | – 24 |
| S | SSSSSSSS | SSNDDDDD | – 25 |
| S | SSSSSSSS | SSSNDDDD | – 26 |
| S | SSSSSSSS | SSSSNDDD | – 27 |
| S | SSSSSSSS | SSSSSNDD | – 28 |
| S | SSSSSSSS | SSSSSSND | – 29 |
| S | SSSSSSSS | SSSSSSSN | – 30 |
| S | SSSSSSSS | SSSSSSSS | – 31 |
Источниками входных данных в устройстве сдвига могут служить регистры SI, AR, MR0, MR1, MR2, SR0 и SR1. Результат работы устройства сдвига всегда помещается в регистр SR (SR0, SR1).
Как было сказано выше, устройство сдвига выполняет следующие функции:
• Арифметический сдвиг (ASHIFT)
• Логический сдвиг (LSHIFT)
• Нормализация числа (NORM)
• Определение экспоненты (ЕХР)
• Блочное изменение экспоненты (EXPADJ)
Данные команды устройства сдвига применяются при выполнении арифметических операций над числами. С их помощью производится определение порядка блока, немедленные сдвиги, нормализация и денормализация чисел.
Ниже приводится полный список команд устройства сдвига Shifter в соответствии с принятыми ранее условными сокращениями. Назначение команд приводится в тексте описания этих команд и комментариях для некоторых из команд.
Команды арифметического сдвига:
Команды логического сдвига:
Команды нормализации:
Команды выделения порядка:
Команды выравнивания блочного порядка:
Команды арифметического непосредственного сдвига:
Команды логического непосредственного сдвига:
В записях некоторых команд присутствуют символы, которые имеют следующее назначение:
HI — сдвиг выполняется относительно старших 16 разрядов (SR1);
LO — сдвиг выполняется относительно младших 16 разрядов (SR0);
HIX — расширенный режим HI (при выделении порядка учитывается бит переполнения AV).
Например, команда:
означает, что в регистр SE будет занесен результат выделения порядка из регистра AR в расширенном режиме, т.е. с учетом бита переполнения AV.