Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Команды IBM360.doc
Скачиваний:
2
Добавлен:
29.10.2018
Размер:
609.28 Кб
Скачать

41 La Загрузка адреса (rx)

Исполнительный адрес E2 = D2 + (Х2) + (В2) помещается в общий регистр, определяемый R1. Восемь старших битов в реги­стре R1 заполняются нулями. Заметим, что эта команда не вызы­вает обращение к памяти по адресу E2, а только загружает сам адрес. Эта команда наиболее полезна для загрузки небольших констант в регистры.

Например, команда

LA 41 70 0034

загружает в регистр 7 число 0000 0034.

43 IC Прочитать символ (RX)

Байт по адресу E2 помещается на место самого правого байта регистра R1. Остальные байты в регистре R1 не изменяются.

42 STC Запись в память символа (RX)

Самый правый байт из регистра R1 записывается по адресу второго операнда.

04 SPM Установить маску программы (RR)

Биты 2–7 регистра R1 замещают признак результата и маску программы в PSW. Адрес R2 игнорируется. Остальная часть PSW не изменяется. Биты 2–3 замещают признак результата; биты 4–7 – маску программы. Этой команде часто предшествуют команды BAL или BALR, которые запоминают предыдущее содержимое PSW в регистре. Затем для изменения нужных битов используют­ся команды И или ИЛИ.

SVC Обращение к супервизору (RR)

Эта команда имеет особый формат:

ОА

I1

Регистры не участвуют в этой операции. Эта команда и толь­ко эта команда вызывает прерывание, которое называется обра­щением к супервизору. Байт I1, помещается в биты 24–31 старого PSW, а биты 16–23 заполняются нулями. Старое PSW затем помещается в ячейку 32, а из ячейки 96 выбирается новое PSW. Команда SVC является естественным способом обращения про­блемной программы к супервизору. Восемь битов в команде, помещаемые в старое PSW, представляют собой закодированное сообщение супервизору о виде обслуживания, которое требуется программе.

93 Ts Проверить и установить (si)

Второй операнд (I2) не используется в этой команде. Байт в памяти по адресу E1 используется для установки признака результата, а затем замещается байтом, все биты которого рав­ны 1. Признак результата устанавливается равным 0 или1 в зави­симости от значения левого бита в проверяемом байте (0 или 1 соответственно). Особенность этой команды заключается в том, что выборка байта для анализа и занесение всех единиц осуще­ствляются за один цикл обращения к памяти. Эта особенность является важной, если одна и та же память совместно используется двумя или более процессорами. Команда TS представляет удоб­ный способ одному процессору определить, что делает другой. Он может, например, определить, заполнил ли другой процессор некоторую ячейку памяти, не опасаясь, что попытка заполнения придется как раз на момент проверки.

1E ALR Сложение кодов (RR)

AL Сложение кодов (RX)

1F SLR Вычитание кодов (RR)

5F SL Вычитание кодов (RX)

Эти четыре команды выполняются в точности так же, как и соответствующие им команды AR, A, SR, S; единственное отли­чие заключается в установке признака результата. Эти команды введены для облегчения программирования операций с удвоен­ной точностью над числами с фиксированной точкой. Признак результата устанавливается следующим образом:

0 Сумма равна нулю и перенос из знакового бита отсут­ствует.

1 Сумма не равна нулю и перенос из знакового бита отсутствует.

2 Сумма равна нулю и произошел перенос из знакового бита.

3 Сумма не равна нулю и произошел перенос из знако­вого бита.

Для иллюстрации предположим, что в результате умножения получилось число двойной длины в регистрах 2 и 3. Требуется сложить это произведение с подобным произведением, находя­щимся в регистрах 4 и 5. Допуская, что можно игнорировать возможность переполнения в регистре 4, прибавляем с помощью команды Сложение (AR) содержимое регистра 2 к содержимому регистра 4 и прибавляем с помощью команды Сложение кодов (ALR) содержимое регистра 3 к содержимому регистра 5. Если после выполнения последнего сложения признак результата равен 2 или 3, прибавляем 1 к содержимому регистра 4. Вычисле­ния с удвоенной точностью часто нужны при обработке стати­стических данных, где приходится накапливать сумму произве­дений или сумму квадратов многих чисел.

Привилегированные команды

Команды, рассматриваемые в этом разделе, объединяет тот факт, что все они являются привилегированными, т. е. эти коман­ды CPU может выполнить только в режиме супервизор. Попытка выполнить эти команды в режиме задача вызовет программное прерывание.

82 LPSW Загрузка PSW (SI).

Второй операнд (I2) не используется. Двойное слово, опреде­ляемое адресом первого операнда, замещает PSW. Следующей будет выполняться команда, задаваемая новым PSW.

80 SSM Установить маску системы (SI)

Второй операнд (I2) не используется. Байт, определяемый адресом первого операнда, замещает биты маски системы (биты 0–7) в PSW. С помощью этой команды программа-супервизор может замаскировать или размаскировать прерывания от ввода–вывода.

83 Диагностика (SI).

Эта команда не имеет мнемонического кода. Она вызывает выполнение некоторых диагностических процедур на CPU, резуль­таты которых .записываются в память, начиная с ячейки 128. На модели 30 заполняются 12 байтов, на моделях с большими номе­рами – до 256 байтов. На каждой модели эта команда выпол­няется по-своему. Она используется при ремонте машины.

84 WRD Прямая запись (SI).

85 RDD Прямое чтение (SI).

Эти две команды являются составной частью совокупности средств, называемых прямым управлением. Они дают возможность обеспечить обмен сигналами между IBM-360 и другими ЭВМ. Это осуществляется так: поле 1з команды подается в качестве синхроимпульсов длительностью от .5 до 1.0 мксек на 8 выход­ных сигнальных линий. Помимо этого команда WRD выбирает байт из памяти по адресу первого операнда и подает его в форме статических сигналов на другие 8 линий. Под статическими сиг­налами имеются в виду такие, которые сохраняются вплоть до следующей команды WRD. Что касается команды RDD, то она формирует байт из сигналов, получаемых с аналогичных 8 линий, и отправляет его в память по адресу первого операнда. Обычно выходные сигнальные линии с подаваемыми на них сигналами используются для того, чтобы вызвать внешнее прерывание в дру­гих машинах (IBM-360), а также для управления другими устрой­ствами.

Средства защиты

Машина IBM-360 конструировалась так, чтобы несколько несвязанных между собой программ могли одновременно нахо­диться в основной памяти. Чтобы предотвратить воздействия программ друг на друга, в машине предусмотрены средства защиты, памяти, необязательные для моделей IBM-360 с малыми номерами и стандартные для моделей с большими мерами.

Каждому блоку из 2048 байтов приписывается восьмибитовой ключ памяти. Биты 0-3 предназначены для защиты от записи, бит 4 для защиты от выборки, а биты – 5-7 всегда равны нулю. Имеются две команды для работы с ключами: