Cтраница 3
Делимое представляет собой целое число со знаком, состоящее из 64 битов, включая знаковый, и располагается в паре смежных регистров с четным и нечетным номерами, заданной полем Ri команды. Если в поле Ri указан нечетный номер регистра, имеет место особый случай спецификации. Остаток со знаком, состоящий из 32 битов, включая знаковый, и частное со знаком, состоящее из 32 битов, включая знаковый, помещаются на место делимого в регистры с четным и нечетным номерами соответственно. Делитель представляет собой целое число со знаком, состоящее из 32 битов, включая знаковый. [31]
Поле Ri команды задает пару общих регистров с четным и нечетным номерами и должно содержать четный номер. Если в поле Ri указан регистр с нечетным номером, фиксируется особый случай спецификации. [32]
Расширенное число с плавающей точкой имеет 28-цифровую мантиссу и состоит из двух длинных чисел с плавающей точкой, находящихся в последовательных регистрах с плавающей точкой. Задание любой другой пары регистров вызывает подавление операции и программное прерывание по особому случаю спецификации. [33]
Биты 8 - 20 регистра, заданного полем R2, указывают 2048-байтовый блок реальной основной памяти. Биты 28 - 31 регистра должны содержать нули, в противном случае распознается особый случай спецификации и операция подавляется. [34]
Если команда, на которую указывает команда ВЫПОЛНИТЬ, является также командой ВЫПОЛНИТЬ, фиксируется особый случай, относящийся к команде ВЫПОЛНИТЬ, и операция подавляется. Исполнительный адрес, заданный в команде ВЫПОЛНИТЬ, должен быть четным; иначе фиксируется особый случай спецификации. [35]
Если средства расширенного управления установлены, процессор может работать как в режиме ВС, так и в режиме ЕС в зависимости от состояния бита 12 PSW. Если же бит 12 PSW равен I, а средства расширенного управления отсутствуют, фиксируется особый случай спецификации. [36]
Длина множителя ограничена 15 цифрами и знаком и должна быть меньше длины множимого. Код длины Ьг, больший 7 или больший или равный коду длины Li, рассматривается как особый случай спецификации. Операция подавляется, и происходит программное прерывание. В множимом должно быть по крайней мере столько нулевых старших байтов, каков размер в байтах поля множителя. В противном случае распознается особый случай в данных, операция прекращается и происходит программное прерывание. Такое определение поля множимого исключает возможность переполнения поля результата. Максимальная длина произведения равна 31 цифре. [37]
Предпринимается попытка выбрать операнд из основной памяти для каждого из указанных управляющих регистров независимо от того, оборудован ли данный процессор средствами, использующими эти управляющие регистры. Всякий раз, когда обращение в память вызывает особые случаи доступа, эти особые случаи индицируются. Второй операнд должен быть расположен на границе слова, в противном случае распознается особый случай спецификации и операция подавляется. [38]
Как множитель, так и множимое рассматриваются как целые числа со знаком, состоящие из 32 битов, включая знаковый. Произведение всегда представляет собой целое число со знаком, состоящее из 64 битов, включая знаковый, и помещается в два смежных общих регистра с четным и нечетным номерами. Поскольку произведение замещает множимое, поле Ri команды должно указывать общий регистр с четным номером. Если в поле Ri указан регистр с нечетным номером, фиксируется особый случай спецификации. Множимое берется из нечетного регистра пары. Содержимое четного регистра, замещаемое произведением, игнорируется, если только в этом регистре не находится множитель. Переполнение произойти не может. [39]
Частное помещается в левую часть поля первого операнда. Остаток помещается в правую часть поля первого операнда и имеет длину, равную длине делителя. Частное и остаток занимают все поле делимого; следовательно, адресом поля частного является адрес первого операнда. Случай, когда код длины делителя больше 7 ( 15 цифр плюс знак) или больше либо равен коду длины делимого, рассматривается как особый случай спецификации. Операция подавляется, и происходит программное прерывание. [40]
Перед выборкой второго операнда для сравнения и в случае установки признака результата, равного нулю, - после записи результата в память выполняется временная отмена совмещения. Выполнение команды процессором задерживается до тех пор пока не будут завершены все предыдущие обращения к основной памяти по отношению к каналам и другим процессорам. Только после этого производится выборка второго операнда. До тех пор пока не будет завершено выполнение данной команды, включая возможную запись значения результата в основную память, доступ к памяти за последующими командами или их операндами не производится по отношению к каналам и другим процессорам. Каждое из полей Ri и R3 должно задавать четный номер регистра. Второй операнд должен быть расположен на границе двойного слова. При нарушении этих требований фиксируется особый случай спецификации и операция подавляется. [41]