Cтраница 3
Адрес второго операнда для определения данных не используется. Вместо этого содержимое битов 26 - 31 адреса, рассматриваемое как двоичное число со знаком, указывает направление сдвига и число десятичных позиций, на которое будет сдвинут первый операнд. Остальная часть адреса игнорируется. Если 26 - й бит адреса равен 0, то это означает, что сдвиг производится влево. При этом двоичное число в прямом коде в битах 27 - 31 адреса показывает количество десятичных позиций, на которое производится сдвиг. Равенство бита 26 единице означает сдвиг вправо, причем в этом случае биты 26 - 31 содержат двоичное число в дополнительном коде, определяющее величину сдвига. [31]
Адрес второго операнда, указанный полями В2 и D2, не используется для определения данных, а используется для указания канала и. [32]
На месте адреса второго операнда в команде указан литерал. После трансляции в машинном формате будут указаны компоненты адреса Ь2, d2, rj 0, определяющие область памяти, в которую поместится эта константа. [33]
На месте адреса второго операнда в команде указан литерал. После трансляции в машинном формате будут указаны компоненты адреса Ь2, rfj, хг 0, определяющие область памяти, в которую поместится эта константа. [34]
Схема передачи данных по командам STD и STE. [35] |
В команде STE адрес второго операнда должен находиться в коротком формате на границе слова. [36]
По команде LA адрес второго операнда s2 помещается на место первого операнда в общий регистр г, Адрес помещается в 8 - 31 разряды общего регистра г, а в остальные разряды записываются нули. Команда LA является единственной командой, по которой в общий регистр помещается действительный адрес памяти Sj, а не данные, которые находятся по этому адресу, как это происходит во всех других командах. Никаких проверок о наличии такого адреса в памяти, защищенности данных по этому адресу, а также целочисленное границ не производится. Если адрес превышает 24 разряда, то производится его усечение слева. [37]
Схема передачи данных по командам STD и STE. [38] |
В команде STE адрес второго операнда должен находиться в коротком формате на границе слова. [39]
Команда LA формирует полный 24-разрядный адрес второго операнда и записывает этот адрес в три правые байта регистра общего назначения, указанного по первому адресу. [40]
Результат помещается по адресу второго операнда и, таким образом, затирает прежнее содержимое ячейки. [41]
Одни байт по адресу второго операнда выбирается из памяти и заносится в младший байт регистра первого операнда. Остальные разряды регистра не изменяются. Код условия не меняется. [42]
Команда программы по адресу второго операнда ЕХ модифицируется первым операндом ЕХ и выполняется. Команда программы не изменяется. Код условия устанавливается в соответствии с выполняемой командой. За командой ЕХ выполняется следующая за ней команда, если выполнялась не команда перехода. В последнем случае осуществляется переход. [43]
Упакованное число по адресу второго операнда переводится в зонный формат и помещается на место первого операнда. Опера ция выполняется байт за байтом справа налево следующим образом: тетрады младшего байта меняются местами, каждая следующая цифра расширяется приписыванием зоны F. Оставшиеся свободными байты первого операнда заполняются зонными нулями. Цифры и зоны не проверяются. [44]
Схема обобщенного алгоритма операций сдвига. [45] |