guard digit, is zero, the operands are equal. Neither
operand is changed as a result of the operation.
Exponent overflow, exponent underflow, or lost sig­
nificance cannot occur.
Resulting Condition Code:
o Operands are equal
1 First operand is low
2 First operand is high
3
Program Interruptions:
Operation (if floating-point feature is not in­
stalled)
Addressing (CD and CE only)
Significance
Programming Note
Numbers with zero fraction compare equal even when
they differ in sign or characteristic. Halve HER RR (Short Operands)
34
7 8 11 12 15
HDR RR (Long Operands)
24
7 8 11 12 15
The second operand is divided by two, and the
quotient is placed in the first operand location.
In short-precision, the low-order half of the result
register remains unchanged.
The operation shifts the fraction right one bit; the
sign and characteristic are not changed. No normaliza­
tion or test for zero fraction takes place.
Condition Code: The code remains unchanged.
Program Interruptions: Operation (if floating-point feature is not in­
stalled)
Specification
Programming Note
The halve operation differs from a divide operation
with the number two as divisor in the absence of pre­
normalization and postnormalization and in the ab­
sence of a zero-fraction test. Multiply MER RR (Short Operands) I 3C R] I R2 0 7 8 11 12 15
ME RX (Short Operands)
7C R] I X
2 I B2
7 8 11 12 1516 1920 31
MDR RR (Long Operands) I 2C R] I R2 I 0 7 8 11 12 15
MD RX (Long Operands) I 6C R] I X
2 I B2 0 7 8 11 12 1516 1920 31
The normalized product of multiplier (the second op­
erand) and multiplicand (the first operand) replaces
the multiplicand.
The multiplication of two floating-point numbers
consists of a characteristic addition and a fraction
multiplication. The sum of the characteristics less 64 is
used as the characteristic of an intermediate product.
The sign of the product is determined by the rules of
algebra.
The product fraction is normalized by prenormaliz­
ing the operands and postnormalizing the intermediate
product, if necessary. The intermediate product char­
acteristic is reduced by the number of left-shifts. For
long operands, the intermediate product fraction is
truncated before the left-shifting, if any. For short
operands (six-digit fractions), the product fraction has
the full 14 digits of the long format, and the two low­
order fraction digits are accordingly always zero.
Exponent overflow occurs if the final product char­
acteristic exceeds 127. The operation is terminated,
and a program interruption occurs. The overflow ex­
ception does not occur for an intermediate product
characteristic exceeding 127 when the final character­
istic is brought within range because of normalization.
Exponent underflow occurs if the final product char-
Floating-Point Arithmetic 47
acteristic is less than zero. The characteristic and
fraction are made zero, and a program interruption
occurs if the corresponding mask bit is one. Underflow
is not signaled when an operand's characteristics be­
come less than zero during prenormalization, and the
correct characteristic and fraction value are used in
the multiplication.
When all 14 result fraction digits are zero, the prod­
uct sign and characteristic are made zero, yielding a
true zero result without exponent underflow and ex­
ponent overflow causing a program interruption. The
program interruption for lost significance is never
taken for multiplication. Condit'ion Code: The code remains unchanged. Program Interruptions: Operation (if floating-point feature is not in-
stalled)
Addressing ( MD and ME only)
Specification
Exponent overflow
Exponent underflow
Programming Note
Interchanging the two operands in a floating-point
multiplication does not affect the value of the product.
Divide
DER RR. (Short Operands)
30
78 11 12 15
DE RX (Short Operands) I 70 Rl I X
2 I B2 0 7 8 11 12 1516 1920 31
DDR RR (Long Operands) I 20 Rl I R2 0 78 11 12 15
DD RX (Long Operands) I 60 Rl I X
2 I B2 0 7 8 11 12 1516 1920 31
48
The dividend (the first operand) is divided by the
divisor (the second operand) and replaced by the
quotient. No remainder is preserved.
In short-precision, the low-order halves of the float­
ing-point register are ignored and remain unchanged.
A floating-point division consists of a characteristic
subtraction and a fraction division. The difference be­
tween thc dividend and divisor characteristics plus
64 is used as an intermediate quotient characteristic.
The sign of the quotient is determined by the rules of
algebra.
The quotient fraction is normalized by prenormaliz­
ing the operands. Postnormalizing the intermediate
quotient is never necessary, but a right-shift may be
called for. The intermediate-quotient characteristic is
adjusted for the shifts. All dividend fraction digits
participate in forming the quotient, even if the normal­
ized dividend fraction is larger than the normalized
divisor fraction. The quotient fraction is truncated to
the desired number of digits.
A program interruption for exponent overflow oc­
curs when the final-quotient characteristic exceeds 127.
The operation is terminated.
A program interruption for exponent underflow oc­
curs if the final-quotient characteristic is less than
zero. The characteristic, sign, and fraction are made
zero, and the interruption occurs if the corresponding
mask bit is one. Underflow is not signaled for the
intermediate quotient or for the operand character­
istics during prenormalization.
When division by a divisor with zero fraction is at­
tempted, the opcration is suppressed. The dividend
remains unchanged, and a program interruption for
floating-point divide occurs. When the dividend frac­
tion is zero, the quotient fraction will be zero. The
quotient sign and characteristic are made zero, yield­
ing a true zero result without taking the program
interruption for exponent underflow and exponent
overflow. The program interruption for significance is
never taken for division.
Condition Code: The code remains unchanged. Program Interruptions: Operation (if floating-point feature is not in-
stalled)
Addressing (DD and DE only)
Specification
Exponent overflow
Exponent underflow
Floating-point divide
Previous Page Next Page