Cтраница 2
Байт 0 этой области содержит шестнадцатеричный 0 и маску программы. [16]
Перед возвратом во внешнюю программу необходимо восстановить прежнее значение маски программы, хра-1 нящееся в регистре возврата. [17]
Биты 2 - 7 регистра RI замещают признак результата и маску программы в PSW. Остальная часть PSW не изменяется. Биты 2 - 3 замещают признак результата; биты 4 - 7 - маску программы. Маска программы обсуждается в разд. Этой команде часто предшествуют команды BAL или BALR, которые запоминают предыдущее содержимое PSW в регистре. Затем для изменения нужных битов используются команды И или ИЛИ. [18]
Команда загрузка PSW задает целиком новое PSW; команда установить маску программы задает новый признак результата и 4 бита новой маски программы; команды установить маску системы, запись в память и модификация маски системы логическим умножением, запись в память и модификация маски системы логическим сложением задают новую конфигурацию битов в левом байте PSW; команда установить ключ PSW вводит новый ключ PSW; адрес команды получает приращения при последовательном выполнении команд и заменяется при выполнении перехода. По команде прочитать ключ PSW записывается в память ключ PSW; по командам запись в память и модификация маски системы логическим умножением и запись в память и модификация маски системы логическим сложением записывается в память левый байт PSW; по команде переход с возвратом запоминается код длины команды, код признака результата, маска программы и адрес команды. [19]
Биты 2 - 7 регистра RI замещают признак результата и маску программы в PSW. Остальная часть PSW не изменяется. Биты 2 - 3 замещают признак результата; биты 4 - 7 - маску программы. Маска программы обсуждается в разд. Этой команде часто предшествуют команды BAL или BALR, которые запоминают предыдущее содержимое PSW в регистре. Затем для изменения нужных битов используются команды И или ИЛИ. [20]
Если в подпрограмме необходимы другие режимы обработки маскируемых прерываний, то значения битов маски программы должны быть изменены. Обычно содержимое регистра возврата пересылается в любой свободный регистр, а затем для установки нужных значений битов маски программы используются команды булевой логики. [21]
Биты 2 - 7 общего регистра, заданного полем Ri, замещают биты признака результата и маски программы в текущем PSW. Биты 12 - 15 данной команды игнорируются. [22]
Команда загрузка PSW задает целиком новое PSW; команда установить маску программы задает новый признак результата и 4 бита новой маски программы; команды установить маску системы, запись в память и модификация маски системы логическим умножением, запись в память и модификация маски системы логическим сложением задают новую конфигурацию битов в левом байте PSW; команда установить ключ PSW вводит новый ключ PSW; адрес команды получает приращения при последовательном выполнении команд и заменяется при выполнении перехода. По команде прочитать ключ PSW записывается в память ключ PSW; по командам запись в память и модификация маски системы логическим умножением и запись в память и модификация маски системы логическим сложением записывается в память левый байт PSW; по команде переход с возвратом запоминается код длины команды, код признака результата, маска программы и адрес команды. [23]
Таким образом, команды перехода с возвратом не только запоминают адрес точки возврата во внешнюю программу, но и сохраняют значение маски программы, использовавшейся во внешней программе. [24]
Код признака результата сохраняется в старом PSW; новый признак загружается вместе с новым PSW при изменении состояния или по команде установки маски программы. При выполнении программы код признака результата может быть использован командами переходов для изменения естественного порядка следования команд. [25]
![]() |
Структура слова состояния программы. [26] |
Выполнение любой программы в ЭВМ производится под управлением слова состояния программы ( ССП), в котором фиксируются адрес выполняемой команды, маска системы и маска программы, код прерывания и другая информация, необходимая для выполнения программы. Маска - это двоичное число, каждый разряд которого разрешает ( если его состояние 1) или запрещает ( если его состояние 0) прерывание от запроса, поступающего от отдельного устройства или команды в ССП. [27]
При работе в режиме ЕС поля, отведенные для маски каналов 0 - 5, кода прерывания и кода длины команды, выведены из PSW, а биты маски программы и код признака результата расположены в PSW на других местах. Кроме того, в PSW введены два дополнительных бита: маска регистрации событий в программе и бит режима переадресации. Для кодов прерывания и длины команды разных классов прерываний в основной памяти выделены отдельные ячейки. Команда прочитать ключ памяти обеспечивает установку бита обращения и бита модификации. [28]
Бит 21, установленный в единицу, указывает на правильность содержимого всех битов PSW, кроме битов кода прерывания, ILC, EMWP, адреса команды, кода признака результата и маски программы старого PSW для прерывания от системы аппаратного контроля. [29]
![]() |
Команды модификации управления.| Команды ввода-вывода. [30] |