Addition is algebraic, taking into account sign and
all digits of both operands. All signs and digits are
checked for validity. If necessary, high-order zeros are
supplied for either operand. When the first operand
field is too short to contain all significant digits of the
sum, adecimal overflow occurs, and a program inter
ruption is taken provided that the corresponding mask
bit is one.Overflow has two possible causes. The first is the
loss of a carry out of the high-order digit position of
the result field. The second cause is an oversized re
sult, which occurs when the second operand field is
larger than the first operand field and significant result
digits are lost. The field sizes alone are not an indi
cation of overflow.
Thefirst and second operand fields may overlap
when their low-order bytes coincide; therefore, it is
possible to add a number to itself.
The sign of the result is determined by the rules of
algebra. A zero sum is always positive. When high
order digits are lost because of overflow, a zero result
has the sign of the correct sum.
Resulting Condition Code:
o Sum is zero
1 Sum is less than zero
2 Sum is greater than zero
3Overflow Program Interruptions: Operation (if decimal feature is not installed)
Protection
Addressing
DataOverflow Subtract [»ecimal 5P 55
FB
78 11 12 1516
The second operand is subtracted from the first oper
and, and the difference is placed in the first operand
location.
Subtraction is algebraic, taking into account sign
and all digits of both operands. TheSUBTRACf DECIMAL
is similar to ADD DECIMAL, except that the sign of the
second operand is changed from positive to negative
or from negative to positive after the operand is ob
tained from storage and before the arithmetic.
The sign of the result is determined by the rules of
algebra. A zero difference is always positive. When
36
high-order digits are lost because of overflow, a zero
result has the sign of the correct difference.Resulting. Condition Code:
o Difference is zero
1 Difference is less than zero
2 Difference is greater than zero
3Overflow Program Interruptions: Operation (if decimal feature is not installed)
Protection
Addressing
Data
Decimal overflow
Programming Note
The operands ofSUBTRACT DECIMAL may overlap when
their low-order bytes coincide, even when their
lengths are unequal. This property may be used to set
to zero an entire field or the low-order part of aReId. Zero and Add ZAP 55 F8
78 11 12 1516
The second operand is placed in the first operand lo
cation.
The operation is equivalent to an addition to zero.
A zero result is positive. When high-order digits are
lost because of overflow, a zero result has the sign of
the second operand.Only the second operand is checked for valid sign
and digit codes. Extra high-order zeros are supplied
if needed. When theRrst operand Reld is too short to
contain all significant digits of the second operand, a
decimal overflow occurs and results in a program in
terruption, provided that the decimal overflow mask
bit is one. TheRrst and second operand fields may
overlap when the rightmost byte of the first operand
field is coincident with or to the right of the rightmost
byte of the second operand.
Resulting Condition Code:
o Result is zero
1 Result is less than zero
2 Result is greater than zero
3Overflow Program Interruptions: Operation (if decimal feature is not installed)
Addressing
Data
Decimal overflow
Protection
all digits of both operands. All signs and digits are
checked for validity. If necessary, high-order zeros are
supplied for either operand. When the first operand
field is too short to contain all significant digits of the
sum, a
ruption is taken provided that the corresponding mask
bit is one.
loss of a carry out of the high-order digit position of
the result field. The second cause is an oversized re
sult, which occurs when the second operand field is
larger than the first operand field and significant result
digits are lost. The field sizes alone are not an indi
cation of overflow.
The
when their low-order bytes coincide; therefore, it is
possible to add a number to itself.
The sign of the result is determined by the rules of
algebra. A zero sum is always positive. When high
order digits are lost because of overflow, a zero result
has the sign of the correct sum.
Resulting Condition Code:
o Sum is zero
1 Sum is less than zero
2 Sum is greater than zero
3
Protection
Addressing
Data
FB
78 11 12 1516
The second operand is subtracted from the first oper
and, and the difference is placed in the first operand
location.
Subtraction is algebraic, taking into account sign
and all digits of both operands. The
is similar to ADD DECIMAL, except that the sign of the
second operand is changed from positive to negative
or from negative to positive after the operand is ob
tained from storage and before the arithmetic.
The sign of the result is determined by the rules of
algebra. A zero difference is always positive. When
36
high-order digits are lost because of overflow, a zero
result has the sign of the correct difference.
o Difference is zero
1 Difference is less than zero
2 Difference is greater than zero
3
Protection
Addressing
Data
Decimal overflow
Programming Note
The operands of
their low-order bytes coincide, even when their
lengths are unequal. This property may be used to set
to zero an entire field or the low-order part of a
78 11 12 1516
The second operand is placed in the first operand lo
cation.
The operation is equivalent to an addition to zero.
A zero result is positive. When high-order digits are
lost because of overflow, a zero result has the sign of
the second operand.
and digit codes. Extra high-order zeros are supplied
if needed. When the
contain all significant digits of the second operand, a
decimal overflow occurs and results in a program in
terruption, provided that the decimal overflow mask
bit is one. The
overlap when the rightmost byte of the first operand
field is coincident with or to the right of the rightmost
byte of the second operand.
Resulting Condition Code:
o Result is zero
1 Result is less than zero
2 Result is greater than zero
3
Addressing
Data
Decimal overflow
Protection