Cтраница 4
Команда загрузка PSW задает целиком новое PSW; команда установить маску программы задает новый признак результата и 4 бита новой маски программы; команды установить маску системы, запись в память и модификация маски системы логическим умножением, запись в память и модификация маски системы логическим сложением задают новую конфигурацию битов в левом байте PSW; команда установить ключ PSW вводит новый ключ PSW; адрес команды получает приращения при последовательном выполнении команд и заменяется при выполнении перехода. По команде прочитать ключ PSW записывается в память ключ PSW; по командам запись в память и модификация маски системы логическим умножением и запись в память и модификация маски системы логическим сложением записывается в память левый байт PSW; по команде переход с возвратом запоминается код длины команды, код признака результата, маска программы и адрес команды. [46]
Если во время выполнения команды загрузка PSW или в результате прерывания при занесении PSW обнаруживается одно из двух рассматриваемых условий, код длины команды устанавливается в 0 и вновь занесенное PSW, за исключением кода прерывания и кода длины команды в режиме ВС, записывается в неизменяемом виде в память в качестве старого PSW. Когда одно из этих условий обнаруживается при выполнении команд установить маску системы, запись в память и модификация маски системы логическим сложением, код длины команды принимает значение 2 и адрес команды увеличивается на 2 полуслова. [47]
Затем через М2 перемещаемый байт записывается на место младшего байта старшей половины двухсловного сдвигателя ( в РСДВ1) и сдвигается вправо на 8 разрядов. Из РСДВ2 рассматриваемый байт считывается на магистраль МЗ, откуда он заносится в РССП [ 0 / 7 ], замещая прежнее значение маски системы. [48]
Команда загрузка PSW задает целиком новое PSW; команда установить маску программы задает новый признак результата и 4 бита новой маски программы; команды установить маску системы, запись в память и модификация маски системы логическим умножением, запись в память и модификация маски системы логическим сложением задают новую конфигурацию битов в левом байте PSW; команда установить ключ PSW вводит новый ключ PSW; адрес команды получает приращения при последовательном выполнении команд и заменяется при выполнении перехода. По команде прочитать ключ PSW записывается в память ключ PSW; по командам запись в память и модификация маски системы логическим умножением и запись в память и модификация маски системы логическим сложением записывается в память левый байт PSW; по команде переход с возвратом запоминается код длины команды, код признака результата, маска программы и адрес команды. [49]
Регистр РБР служит для хранения кода маски прерываний и запросов на вводо-выводные прерывания. Разряды О, 1, 2 и 7 - й регистра хранят соответственно маски мультиплексного, первого селекторного, второго селекторного каналов и маску внешних прерываний; эти одноразрядные маски составляют маску системы. Разряды 3, 4 и 6 - й хранят соответственно запросы на прерывания от мультиплексного, первого селекторного и второго селекторного каналов; единичное состояние соответствующего триггера указывает на наличие запроса на преры вание. [50]
В силу этих причин необходимы средства для временного запрещения прерываний ввода-вывода. В ЕС ЭВМ для этой цели служит маска системы, содержащаяся в битах 0 - 7 любого PSW. Если бит маски системы установлен в единицу, то соответствующему каналу разрешается вызывать прерывание. Если этот бит равен нулю, то канал не может вызвать прерывание. В этом случае говорят, что канал замаскирован. Бит 7 в PSW предназначен для маскировки внешних прерываний, которые также могут происходить в любой момент времени и по различным причинам. [51]
В этих режимах управления формат маски системы различен. Если программа готовит маску системы в одном из форматов, а для текущего режима управления требуется другой формат, то должна быть подавлена установка маски системы и предоставлена возможность преобразовать формат устанавливаемой маски в соответствии с требованиями текущего режима управления. [52]
В этих режимах управления формат маски системы различен. Если программа готовит маску системы в одном из форматов, а для текущего режима управления требуется другой формат, то должна быть подавлена установка маски системы и предоставлена возможность преобразовать формат устанавливаемой маски в соответствии с требованиями текущего режима управления. [53]
В том случае, когда соответствующий бит маски содержит 0, прерывание возникнуть не может, и его называют запрещенным или замаскированным. Состояние битов маски может быть изменено путем занесения нового PSW, загрузки управляющего регистра или путем выполнения одной из двух следующих привилегированных команд: установить маску системы или установить маску программы, которые изменяют содержимое битов маски в PSW. Подробнее прерывания рассмотрены в следующем разделе. [54]
Маскировка прерываний ввода-вывода отличается от маскировки программных прерываний. Если программное прерывание замаскировано, то сигнал прерывания просто пропадает. Сигнал прерывания ввода-вывода пропасть не должен, так как любое такое прерывание требует обработки. Этот сигнал вызовет прерывание, как только в качестве текущего PSW будет загружено RSW, в котором соответствующий бит маски системы установлен в единицу. После того как прерывание произошло, сигнал прерывания сбрасывается и больше не хранится, но до этого момента подканал не может выполнять новые операции ввода-вывода. [55]