Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

IBM370

.pdf
Скачиваний:
36
Добавлен:
02.06.2015
Размер:
5.21 Mб
Скачать

Название

Мнемони-

 

Характеристики

 

 

Ма

 

ческое обо-

 

 

 

 

 

шин-

 

значение

 

 

 

 

 

ный

 

 

 

 

 

 

 

код

 

 

 

 

 

 

 

 

операнда в длинный)

 

 

 

 

 

 

 

ЗАГРУЗКА С ОКРУГЛЕНИЕМ

LRER

 

 

 

 

 

35

(преобразование длинного опе-

 

R

P

P

 

 

 

ранда в короткий)

 

 

 

 

 

 

 

УМНОЖЕНИЕ (расширенные

MXR

 

 

 

 

 

26

операнды)

 

R

P

P

 

 

 

УМНОЖЕНИЕ (длинные опе-

MDR

 

 

 

 

 

2C

ранды)

 

R

P

P

 

 

 

УМНОЖЕНИЕ (длинные опе-

MD

 

 

 

 

 

6C

ранды)

 

X

P

P

 

 

 

УМНОЖЕНИЕ (длинные опе-

MXDR

 

 

 

 

 

27

ранды, расширенный результат)

 

R

P

P

 

 

 

УМНОЖЕНИЕ (длинные опе-

MXD

 

 

 

 

 

67

ранды, расширенный результат)

 

X

P

P

 

 

 

УМНОЖЕНИЕ (короткие опе-

MER

 

 

 

 

 

3C

ранды, длинный результат)

 

R

P

P

 

 

 

УМНОЖЕНИЕ (короткие опе-

ME

 

 

 

 

 

7C

ранды, длинный результат)

 

X

P

P

 

 

 

ЗАПИСЬ В ПАМЯТЬ (длинные

STD

 

 

 

 

 

60

операнды)

 

X

P

P

 

T

 

ЗАПИСЬ В ПАМЯТЬ (короткие

STE

 

 

 

 

 

70

операнды)

 

X

P

P

 

T

 

ВЫЧИТАНИЕ С

SXR

 

 

 

 

 

37

НОРМАЛИЗАЦИЕЙ (расширен-

 

R

P

P

S

 

 

ные операнды)

 

 

 

 

 

 

 

ВЫЧИТАНИЕ С

SDR

 

 

 

 

 

2B

НОРМАЛИЗАЦИЕЙ (длинные

 

R

P

P

S

 

 

операнды)

 

 

 

 

 

 

 

ВЫЧИТАНИЕ С

SD

 

 

 

 

 

6B

НОРМАЛИЗАЦИЕЙ (длинные

 

X

P

P

S

 

 

операнды)

 

 

 

 

 

 

 

ВЫЧИТАНИЕ С

SER

 

 

 

 

 

3B

НОРМАЛИЗАЦИЕЙ (короткие

 

R

P

P

S

 

 

операнды)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

281

Название

Мнемони-

 

Характеристики

 

 

Ма

 

ческое обо-

 

 

 

 

 

шин-

 

значение

 

 

 

 

 

ный

 

 

 

 

 

 

 

код

 

 

 

 

 

 

 

 

ВЫЧИТАНИЕ С

SE

 

 

 

 

 

7B

НОРМАЛИЗАЦИЕЙ (короткие

 

X

P

P

S

 

 

операнды)

 

 

 

 

 

 

 

ВЫЧИТАНИЕ БЕЗ

SWR

 

 

 

 

 

2F

НОРМАЛИЗАЦИИ (длинные опе-

 

R

P

P

S

 

 

ранды)

 

 

 

 

 

 

 

ВЫЧИТАНИЕ БЕЗ

SW

 

 

 

 

 

6F

НОРМАЛИЗАЦИИ (длинные опе-

 

X

P

P

S

 

 

ранды)

 

 

 

 

 

 

 

ВЫЧИТАНИЕ БЕЗ

SUR

 

 

 

 

 

3F

НОРМАЛИЗАЦИИ (короткие опе-

 

R

P

P

S

 

 

ранды)

 

 

 

 

 

 

 

ВЫЧИТАНИЕ БЕЗ

SU

 

 

 

 

 

7F

НОРМАЛИЗАЦИИ (короткие опе-

 

X

P

P

S

 

 

ранды)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обозначения:

A – особые случаи доступа;

C – устанавливается признак результата;

E – особый случай переполнения порядка;

FK – особый случай деления с плавающей точкой;

FP – средство обработки чисел с плавающей точкой;

LS – особый случай потери значимости;

RR – формат RR;

RX – формат RX;

SP – особый случай спецификации;

ST – программное событие изменения содержимого основной памяти;

U – особый случай исчезновения порядка;

XP – средство обработки чисел с плавающей точкой с повышенной точностью.

282

СЛОЖЕНИЕ С НОРМАЛИЗАЦИЕЙ

 

 

AER

R1,R2

 

[RR, ???????? ????????]

 

+--------------------

 

 

 

 

 

+

 

 

 

 

¦

3A

¦

R1

¦

R2

¦

 

 

 

 

+--------------------

 

 

 

 

 

+

 

 

 

 

0

7

8

11

12

15

 

 

 

 

 

AE

R1,D2(X2,B2)

[RX, ???????? ????????]

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

¦

7A

¦

R1

¦

X2

¦

B2

¦

D2

¦

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

0

7

8

11

12

15

16

19

20

31

 

ADR

R1,R2

 

[RR, ??????? ????????]

 

+--------------------

 

 

 

 

 

+

 

 

 

 

¦

2A

¦

R1

¦

R2

¦

 

 

 

 

+--------------------

 

 

 

 

 

+

 

 

 

 

0

7

8

11

12

15

 

 

 

 

 

AD

R1,D2(X2,B2)

[RX, ??????? ????????]

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

¦

6A

¦

R1

¦

X2

¦

B2

¦

D2

¦

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

0

7

8

11

12

15

16

19

20

31

 

AXR

R1,R2

 

[RR, ??????????? ????????]

+--------------------

 

 

 

 

 

+

 

 

 

 

¦

36

¦

R1

¦

R2

¦

 

 

 

 

+--------------------

 

 

 

 

 

+

 

 

 

 

0

7

8

11

12

15

 

 

 

 

 

Второй операнд складывается с первым и нормализованная сумма помещается в ячейку первого операнда.

Сложение двух чисел с плавающей точкой заключается в выравнивании характеристик и сложении мантисс. Характеристики обоих операндов сравниваются, и мантисса операнда с меньшей характеристикой сдвигается вправо; при каждом сдвиге на шестнадцатеричную циф-

ру производится увеличение характеристики этого операнда на единицу. Сдвиг продолжается до тех пор, пока характеристики операндов не станут равными.

Если операнд сдвинут вправо во время выравнивания, то самая левая шестнадцатеричная цифра поля, выдвинутого за пределы разрядной сетки, сохраняется в качестве дополнитель-

ной цифры. Считается, что операнд. который не подвергся сдвигу, имеет дополнительную

283

младшую цифру, равную нулю. Если выравнивающий сдвиг не производится, то считается, что оба операнда расширены младшими шестнадцатеричными нулями. Затем производится ал-

гебраическое сложение мантисс для получения промежуточной суммы.

При сложении коротких операндов мантисса промежуточной суммы состоит из 7 шестна-

дцатеричных цифр и, возможно, цифры переноса, при сложении длинных операндов – из 15

шестнадцатеричных цифр и, возможно, цифры переноса, при сложении расширенных операн-

дов – из 29 шестнадцатеричных цифр и, возможно, цифры переноса. Если перенос имеет ме-

сто, сумма сдвигается вправо на одну цифру, и характеристика увеличивается на единицу.

После сложения промежуточная сумма сдвигается влево таким образом, чтобы получить нормализованное число, при условии, что мантисса не равна нулю. В освобождающиеся младшие шестнадцатеричные позиции заносятся нули, а характеристика уменьшается на чис-

ло единиц, равное числу сдвигов. Затем мантисса промежуточной суммы усекается таким об-

разом, чтобы получить мантиссу результата нужной длины.

Знак суммы определяется по правилам алгебры, за исключением случая, когда все цифры мантиссы промежуточной суммы равны нулю. В этой ситуации устанавливается положитель-

ный знак.

Если перенос из старшей позиции мантиссы промежуточной суммы служит причиной того,

что значение характеристики нормализованной суммы превышает число 127, то фиксируется особый случай переполнения порядка. Операция завершается путем формирования характе-

ристики, которая на 128 меньше действительного значения, и происходит программное преры-

вание из-за переполнения порядка. При этом результат будет нормализованным, а знак и ман-

тисса сохраняют правильные значения. В случае команды СЛОЖЕНИЕ для расширенных опе-

рандов (AXR) сохраняется также правильное значение характеристики младшей части.

Если характеристика нормализованной суммы меньше нуля, а мантисса не равна нулю,

имеет место особый случай исчезновения порядка. Если бит маски исчезновения порядка ра-

вен единице, операция завершается путем формирования характеристики, которая на 128

больше действительного значения. Результат нормализуется, а знак и мантисса сохраняют правильные значения. Затем происходит программное прерывание из-за исчезновения поряд-

ка. Если исчезновение порядка имеет место, а бит маски исчезновения порядка равен нулю, то программное прерывание не происходит; вместо этого операция завершается путем формиро-

вания результата, равного истинному нулю. В случае команды СЛОЖЕНИЕ для расширенных операндов исчезновение порядка не фиксируется, если характеристика младшей части меньше нуля, а характеристика старшей части больше или равна нулю.

Если мантисса промежуточной суммы, включая дополнительную цифру, равна нулю, имеет место особый случай потери значимости. Если бит маски потери значимости равен единице, то характеристика промежуточной суммы не меняется и становится характеристикой результата.

Нормализация не производится , и происходит программное прерывание из-за потери значи-

284

мости. Если бит маски потери значимости равен нулю, программное прерывание не происхо-

дит; вместо этого формируется результат, равный истинному нулю.

Поле R1 в командах AER, AE, ADR и AD и поле R2 в командах AER и ADR должны опреде-

лять регистры 0, 2, 4 или 6. Поля R1 и R2 в команде AXR должны задавать номера регистров 0

или 4. В противном случае фиксируется особый случай спецификации.

Признак результата:

0 – мантисса результата равна нулю;

1 – результат меньше нуля;

2 – результат больше нуля;

3 – не бывает.

Программные прерывания:

операция (если в данной установке отсутствуют средства обработки чисел с плавающей точкой или в случае команды AXR отсутствуют средства обработки чисел с плавающей точкой повышенной точности);

доступ (выборка второго операнда в командах AE и AD);

спецификация;

переполнение порядка;

исчезновение порядка;

потеря значимости.

Замечания по программированию

Перестановка операндов при сложении с плавающей точкой не влияет на значение суммы.

СЛОЖЕНИЕ БЕЗ НОРМАЛИЗАЦИИ

AUR

R1,R2

 

[RR, ???????? ????????]

 

+--------------------

 

 

 

 

 

+

 

 

 

 

¦

3E

¦

R1

¦

R2

¦

 

 

 

 

+--------------------

 

 

 

 

 

+

 

 

 

 

0

7

8

11

12

15

 

 

 

 

 

AU

R1,D2(X2,B2)

[RX, ???????? ????????]

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

¦

7E

¦

R1

¦

X2

¦

B2

¦

D2

¦

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

0

7

8

11

12

15

16

19

20

31

 

AWR

R1,R2

 

[RR, ??????? ????????]

 

+--------------------

 

 

 

 

 

+

 

 

 

 

¦

2E

¦

R1

¦

R2

¦

 

 

 

 

+--------------------

 

 

 

 

 

+

 

 

 

 

0

7

8

11

12

15

 

 

 

 

 

285

AW

R1,D2(X2,B2)

[RX, ??????? ????????]

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

¦

6E

¦

R1

¦

X2

¦

B2

¦

D2

¦

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

0

7

8

11

12

15

16

19

20

 

31

Второй операнд складывается с первым операндом, и ненормализованная сумма помеща-

ется на место первого операнда.

Команда СЛОЖЕНИЕ БЕЗ НОРМАЛИЗАЦИИ выполняется аналогично команде СЛОЖЕНИЕ С НОРМАЛИЗАЦИЕЙ и отличается от последней лишь тем, что после сложения мантисса про-

межуточной суммы усекается без выполнения нормализации до мантиссы результата нужной длины. Старшие нулевые цифры из мантиссы результата не исключаются, исчезновение по-

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

Поля R1 и R2 должны задавать номера регистров 0, 2, 4 или 6. В противном случае фикси-

руется особый случай спецификации.

Признак результата:

0 – мантисса результата равна нулю;

1 – результат меньше нуля;

2 – результат больше нуля;

3 – не бывает.

Программные прерывания:

операция (если в данной установке отсутствуют средства обработки чисел с плавающей точкой);

доступ (выборка второго операнда в командах AU и AW);

спецификация;

переполнение порядка;

потеря значимости.

СРАВНЕНИЕ

CER R1,R2 [RR, ???????? ????????]

+--------------------

 

 

 

 

+

¦ 39

 

¦

R1

¦

R2 ¦

+--------------------

 

 

 

 

+

0

7

8

11

12

15

286

CE

R1,D2(X2,B2)

[RX, ???????? ????????]

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

¦

79

¦

R1

¦

X2

¦

B2

¦

D2

¦

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

0

7

8

11

12

15

16

19

20

31

 

CDR

R1,R2

 

[RR, ??????? ????????]

 

+--------------------

 

 

 

 

 

+

 

 

 

 

¦

29

¦

R1

¦

R2

¦

 

 

 

 

+--------------------

 

 

 

 

 

+

 

 

 

 

0

7

8

11

12

15

 

 

 

 

 

CD

R1,D2(X2,B2)

[RX, ??????? ????????]

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

¦

69

¦

R1

¦

X2

¦

B2

¦

D2

¦

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

0

7

8

11

12

15

16

19

20

31

 

Первый операнд сравнивается со вторым операндом, и в зависимости от результата срав-

нения устанавливается признак результата.

Сравнение производится алгебраически с учетом знака, мантиссы и порядка каждого числа.

Равенство устанавливается по правилам вычитания с нормализацией чисел с плавающей точ-

кой. Если промежуточная сумма, включая дополнительную цифру, равна нулю, операнды рав-

ны. Неравенство порядков не является определяющим при установлении величины числа, так как мантиссы могут иметь различное количество нулевых старших цифр. В результате опера-

ции ни один из операндов не изменяется.

Никогда не возникает переполнения порядка, исчезновения порядка или потери значимости.

Поля R1 и R2 должны определять регистры 0, 2, 4 или 6; в противном случае фиксируется особый случай спецификации.

Признак результата:

0 – операнды равны;

1– первый операнд меньше;

2– первый операнд больше;

3– не бывает.

Программные прерывания:

операция (если в данной установке отсутствуют средства обработки чисел с плавающей точкой);

доступ (выборка второго операнда в командах CE и CD);

спецификация.

287

Замечания по программированию

Два числа с нулевыми мантиссами считаются равными, даже если они различаются знака-

ми или характеристиками.

ДЕЛЕНИЕ

DER R1,R2

 

[RR, ???????? ????????]

 

+--------------------

 

 

 

 

 

+

 

 

 

 

¦

3D

¦

R1

¦

R2

¦

 

 

 

 

+--------------------

 

 

 

 

 

+

 

 

 

 

0

7

8

11

12

15

 

 

 

 

 

DE

R1,D2(X2,B2)

[RX, ???????? ????????]

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

¦

7D

¦

R1

¦

X2

¦

B2

¦

D2

¦

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

0

7

8

11

12

15

16

19

20

31

 

DDR

R1,R2

 

[RR, ??????? ????????]

 

+--------------------

 

 

 

 

 

+

 

 

 

 

¦

2D

¦

R1

¦

R2

¦

 

 

 

 

+--------------------

 

 

 

 

 

+

 

 

 

 

0

7

8

11

12

15

 

 

 

 

 

DD

R1,D2(X2,B2)

[RX, ??????? ????????]

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

¦

6D

¦

R1

¦

X2

¦

B2

¦

D2

¦

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

0

7

8

11

12

15

16

19

20

31

 

Первый операнд (делимое) делится на второй операнд (делитель), и нормализованное частное помещается на место первого операнда. Остаток не сохраняется.

Деление с плавающей точкой заключается в вычитании характеристик и делении мантисс.

Операнды предварительно нормализуются, а разность характеристик делимого и делителя,

увеличенная на 64, используется как характеристика промежуточного частного.

В образовании мантиссы частного принимают участие все цифры мантисс делимого и дели-

теля. Нормализация промежуточного частного никогда не требуется, однако может потребо-

ваться сдвиг вправо на одну цифровую позицию. При этом характеристика промежуточного частного соответственно корректируется. Затем мантисса промежуточного частного усекается до мантиссы результата нужной длины.

Знак частного определяется по правилам алгебры при условии, что частное не является ис-

тинными нулем; в последнем случае устанавливается положительный знак.

288

Если значение характеристики конечного частного превышает 127 и мантисса не равна ну-

лю, фиксируется переполнение порядка. Операция завершается, и происходит программное прерывание. Результат нормализуется, знак и мантисса сохраняют правильные значения, а ха-

рактеристика становится на 128 меньше действительного значения.

Если значение характеристики нормализованного частного меньше нуля и мантисса не рав-

на нулю, то фиксируется исчезновение порядка. Если бит маски исчезновения порядка равен единице, то происходит программное прерывание. Результат нормализуется, знак и мантисса сохраняют правильные значения, а характеристика становится на 128 больше действительного значения. Если бит маски исчезновения порядка равен нулю, то программное прерывание не происходит; вместо этого операция завершается формированием частного, равного истинному нулю.

Сигнал об исчезновении порядка не возникает, если характеристика операнда становится меньше нуля в результате предварительной нормализации или же характеристика промежу-

точного частного меньше нуля, однако конечное частное может быть представлено без того,

чтобы возникло исчезновение порядка.

Если мантисса делителя равна нулю, фиксируется особый случай деления с плавающей точкой. Операция подавляется, и происходит программное прерывание по особому случаю де-

ления с плавающей точкой.

Если мантисса делимого равна нулю, формируется частное, равное истинному нулю, а воз-

можное переполнение или исчезновение порядка не фиксируется. Однако попытка разделить нуль на нуль приводит к тому, что операция подавляется и происходит программное прерыва-

ние по особому случаю деления с плавающей точкой.

Поля R1 и R2 должны определять регистры 0, 2, 4 или 6; иначе фиксируется особый случай спецификации.

Признак результата не изменяется.

Программные прерывания:

операция (если в данной установке отсутствуют средства обработки чисел с плавающей точкой);

доступ (выборка второго операнда в командах DE и DD);

спецификация;

переполнение порядка;

исчезновение порядка;

деление с плавающей точкой.

ПОПОЛАМ

HER R1,R2 [RR, ???????? ????????]

+--------------------

 

 

 

 

+

¦ 34

 

¦

R1

¦

R2 ¦

+--------------------

 

 

 

 

+

0

7

8

11

12

15

289

HDR R1,R2 [RR, ??????? ????????]

+--------------------

 

 

 

 

+

¦ 24

 

¦

R1

¦

R2 ¦

+--------------------

 

 

 

 

+

0

7

8

11

12

15

Второй операнд делится на число 2, и нормализованное частное помещается на место пер-

вого операнда.

Мантисса второго операнда сдвигается вправо на одну двоичную позицию; при этом содер-

жимое младшей позиции помещается в старшую позицию дополнительной цифры, а в старшую двоичную позицию мантиссы помещается нуль. Затем промежуточный результат нормализует-

ся и нормализованное частное помещается на место первого операнда. Дополнительная циф-

ра участвует в нормализации.

Знак частного совпадает со знаком второго операнда при условии, что частное не является истинным нулем; в последнем случае устанавливается положительный знак.

Если характеристика нормализованного частного меньше нуля и мантисса не равна нулю,

то фиксируется исчезновение порядка. Если бит маски исчезновения порядка равен единице,

то происходит программное прерывание. Результат нормализуется, знак и мантисса сохраняют правильные значения, а характеристика становится на 128 больше действительного значения.

Если бит маски исчезновения порядка равен нулю, то программное прерывание не происходит;

вместо этого операция завершается формированием частного, равного истинному нулю.

Если мантисса второго операнда равна нулю, формируется результат, равный истинному нулю, и никакие особые случаи не фиксируются.

Поля R1 и R2 должны определять регистры 0, 2, 4 или 6; в противном случае фиксируется особый случай спецификации.

Признак результата не изменяется.

Программные прерывания:

операция (если в данной установке отсутствуют средства обработки чисел с плавающей точкой);

спецификация;

переполнение порядка.

Замечания по программированию

Как в случае коротких, так и в случае длинных операндов данная операция эквивалентна операции деления с делителем, равным числу 2. Аналогично результат выполнения команды

HDR совпадает с результатом выполнения команды MDR или MD, если в качестве множителя взята дробь ?. Ни одна из операций умножения не соответствует команде HER, так как при умножении никогда не образуется короткий результат.

290

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]