Cтраница 2
Он устанавливается в единичное состояние тогда, когда встречается первая ненулевая цифра, записываемая в ОП на место символа образца, и вместе с ТОР используется для установки признака результата. [16]
![]() |
Установка признака результата в операциях ввода-вывода.| Слово состояния канала. [17] |
Для выполнения команд SIO, ТЮ, НЮ состояние канала, продолжающего хранить прерывание, является таким же, как и канала в состоянии Доступен, и установка признака результата зависит от состояния подканала и устройства. Признаки результата для состояния ПХХ такие же, как и для состояния РХХ, где X означает состояние подканала и ВУ. [18]
При М2 ф 0, когда все выделенные маской биты операнда являются единицами, происходит несравнение тетрад и осуществляется переход по базовому адресу следующей микрокоманды. По ней происходит установка признака результата 11, после чего операция завершается. [19]
Второй операнд вычитается из первого, как и в командах Вычитание, но разность никуда не записывается. Команды предназначены только для установки признака результата. СС устанавливается равным О, 1 или 2, если разность соответственно равна 0, отрицательна или положительна. Так как результат никуда не записывается. [20]
Так как в результате выполнения большинства команд языка Ассемблера в Слове состояния программы устанавливается признак результата, каждую из них можно несколько вольно трактовать как своего рода команду сравнения. Даже если не рассматривать установку признака результата в качестве отличительной черты команд сравнения, все же имеется несколько команд, которые не содержат слова сравнение в их наименованиях, но по существу являются командами сравнения. Однако, исходя из целей данного раздела, в нем будут рассмотрены только команды, которые содержат в своем наименовании слово сравнение. Для удобства последующего рассмотрения они разделены на три группы: сравнение кодов, сравнение чисел с фиксированной точкой и сравнение упакованных десятичных чисел. [21]
Из характеристики вычитается 128 и операция завершается. Переполнение порядка не влияет на установку признака результата, поскольку не меняет знака результата. [22]
В общем случае результатом операции может быть не только результат арифметической или логической обработки операндов, но и установка признака результата и выработка сигнала прерывания. Ряд команд выполняется именно с целью установки признака результата или с целью вызвать прерывание. В процессоре ЭВМ ЕС-1033, в отличие от других машин, выработка признака результата и сигналов прерываний производится аппаратурно в процессе обработки операндов. [23]
Если команда НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ выполняется каналом независимо от адресуемого ВУ, то проверки большей части информации, указанной программой, а также проверки доступности контроллера и ВУ, состояния контроллера и ВУ и, кроме того, большинства ошибочных ситуаций выполняются уже после завершения команды НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ. Некоторые ситуации, которые привели бы к установке признака результата, равного 1 или 3, если бы была выдана команда НАЧАТЬ ВВОД-ВЫВОД, вызывают формирование условия прерывания. [24]
Канал вырабатывает сигнал CAI только в том случае, если он ранее отвечал признакам результата, равным 2, на команду, отличную от команды ОСТАНОВИТЬ ВВОД-ВЫВОД или команды ОСТАНОВИТЬ УСТРОЙСТВО, при условии что это состояние занятости больше не существует. Если состояние занято, которое привело к установке признака результата, равного 2, обусловлено тем, что подканал занят работой с неадре-суемым устройством, то после освобождения канала сигнал CAI не формируется. Так как все остальные условия прерывания ( за исключением PCI) выполняют ту же функцию, что и CAI, то необработанное условие CAI сбрасывается, если в этом канале формируется другой сигнал прерывания, отличный от PCI. В некоторых каналах условие CAI также сбрасывается, когда какое-либо другое условие прерывания ( кроме PCI) сбрасывается командой ПРОВЕРИТЬ ВВОД-ВЫВОД в том же канале. Если до прерывания по CAI канал окажется занятым, то условие CAI задерживается до освобождения канала. [25]
Второй операнд вычитается из первого операнда. Результат вычитания никуда не записывается и служит для установки признака результата равным 0, если операнды равны; равным 1, если первый операнд меньше второго; и равным 2, если первый операнд больше второго. [26]
Эта команда аналогична команде Вычитание десятичное. Отличие заключается в том, что результат не сохраняется, и команда служит только для установки признака результата. Оба операнда остаются без изменений. [27]
Обращение к недоступному компоненту системы, такому, как блок памяти, канал или внешнее устройство, не вызывает индикации машинной ошибки. Вместо этого подобная ситуация указывается посредством соответствующего программного прерывания, прерывания ввода-вывода или же с помощью установки признака результата. [28]
Эта команда имеет формат SI. По ней байт данных, расположенный по адресу первого операнда, маскируется с помощью маски, в качестве которой используется байт из поля 12 непосредственного операнда. Значения отмаскированных бит операнда используются для установки признака результата: 00 - если все отмаскированные биты равны нулю или имеет место нулевая маска; 01 - когда среди отмаскированных бит есть нули и единицы; 11 - если все отмаскированные биты равны единице. [29]
Если какая-то необычная ситуация привела к отказу принять команду во время начала операции по цепочке команд, то вырабатывается условие прерывания и подканал остается недоступным, пока этот сигнал не будет сброшен. Программе о таких ситуациях сообщается с помощью битов состояния в CSW. Если во время начала операции по цепочке команд будет обнаружено состояние выключено, которое привело бы к установке признака результата, равного 3, во время выполнения команды НАЧАТЬ ВВОД-ВЫВОД и иногда команды НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ, то в CSW устанавливается бит сбой управления интерфейса. Новая операция в ВУ не начинается. [30]