Cтраница 2
При явном задании маски программист должен помнить то правило, по которому вырабатывается значение со той или иной операцией, а также правило, по которому устанавливается соответствие между разрядами маски и значениями со. Кроме того, он должен в явном виде записать нужную маску. Эти обстоятельства могут вызывать у программиста определенные трудности при записи команд перехода. Автокод расширяет возможности базового вычислителя и в этом отношении, позволяя программисту вместо задания маски записывать условие перехода в более удобном и привычном для него виде. [16]
Команды арифметических операций.| Команда сравнения. [17] |
При выполнении операции STC биты 26 - 31 регистра первого операнда запоминаются по адресу второго операнда, а при выполнении операции STCM байты из регистра первого операнда, для которых разряд маски в поле М равен 1, запоминаются последовательно в поле второго операнда в основной памяти. [18]
Отдельные разряды этой маски имеют следующий смысл: 0 - маска мультиплексного канала; 1 - 6 - маска селекторных каналов соответственно № 1 - 5; 6 - определяет, допустимо ли прерывание для каналов с номерами выше 5 ( прерывание возможно, если равны / этот разряд и разряд маски соответствующего канала в управляющем регистре); 7 - маска внешних прерываний. [19]
Отдельные разряды этой маски имеют следующий смысл: 0 - маска мультиплексного канала; 1 - 6 - маска селекторных каналов соответственно № 1 - 5; 6 - определяет, допустимо ли прерывание для каналов с номерами выше 5 ( прерывание возможно, если равны 1 этот разряд и разряд маски соответствующего канала в управляющем регистре); 7 - маска внешних прерываний. [20]
Маска, управляющая работой новых команд, представляет собой четырехразрядный двоичный код. Разряды маски, в которых указаны двоичные единицы, определяют номера байтов регистра общего назначения, над которыми выполняется операция. Байты регистра, которым в маске соответствуют нулевые разряды, в операции не участвуют. Разряды маски слева направо управляют соответствующими байтами операнда, находящегося в регистре. [21]
Схема каскадирования КПДП. [22] |
При автоинициализации содержимое базовых регистров BAR и WCR загружается в регистры текущих значений CAR и CWR. Разряды маски при этом не меняются. После автоинициализации контроллер готов к работе и возобновляет действие с приходом очередного сигнала DREQ. Для автоинициализации обоих каналов в режиме память - память регистры циклов ПДП CWR должны программироваться идентично. [23]
Состояние 1 разрядов маски разрешает, а состояние 0 запрещает дальнейшую обработку групповых запросов. Разряды маски запросов доступны как для записи, так и для чтения, разряды групповых запросов только для чтения. [24]
Если разряд маски имеет значение 0, то соответствующая причина прерывания замаскирована и процессор не реагирует на данный запрос на прерывание. Если разряд маски равен 1, то соответствующая причина прерывания не замаскирована и процессор воспринимает данный запрос на прерывание. [25]
Маска первого операнда команд ВС или BCR проверяется в соответствии с состоянием кода условия. Если проверяемый разряд маски равен единице, осуществляется переход по адресу второго операнда. Адрес в PSW замещается адресом перехода. В команде ВС адрес перехода - это исполнительный адрес второго операнда, в команде BCR - адрес перехода находится в регистре второго операнда. [26]
В этой команде поле MI ( маска перехода) не является адресом регистра. Четыре разряда маски соответствуют четырем возможным значениям признака результата и определяют условие перехода. [27]
Причина, по которой для четырех из пятнадцати перечисленных ситуаций прерывания предусмотрены маски, состоит в том, что в некоторых случаях эти прерывания можно предусмотреть и обработать без специального уведомления об их появлении. Обычно все разряды маски программы устанавливаются в 1 и управление передается подпрограмме обработки ошибок. [28]
Первый адрес задает маску перехода - четырехразрядное двоичное число, которое сравнивается с ранее выработанным признаком результата. Если в разряде маски, соответствующем выработанному признаку ВС, находится единица, то управление будет передано по второму адресу. [29]
ССП ввода-вывода и начинает обслуживать прерывание. Для управления прерываниями в ССП используются разряды маски системы. Если разряд маски, соответствующий каналу, установлен в О, то прерывание от данного канала замаскировано, а если в 1, то каналу разрешено вызвать прерывание. Если канал замаскирован, то он не может вызвать прерывания и запрос на прерывание остается висеть в канале. Когда процессор принимает запрос на прерывание по вводу-выводу, этот запрос в соответствующем канале сбрасывается. [30]