| glen herrmannsfeldt 2006-01-10, 3:59 am |
| James J. Weinkam wrote:
(snip)
> Unfortunately, I no longer have any S/360 manuals and there don't seem
> to be any free downloadable versions. However, according to
> GA22-7000-8, IBM System/370 Principles of Operation (1981), HER and HDR
> do the following:
> The second operand is divided by 2 and the normalized quotient is placed
> in the first operand location.
> The manual goes to describe the exact operation of the instruction in
> detail, covering every conceivable eventuality. Under "Programming
> Notes" it states:
> 3. The result of HALVE is zero only when the second operand fraction is
> zero, or when exonent underflow occurs with the exponent underflow mask
> set to zero. A fraction with zeros in every bit position, except for a
> one in the rightmost bit position , does not become a zero after the
> right shift. This is brecause the one bit is preserved in the guard
> digit and, when the result is not made a true zero because of underflow,
> becomes the leftmost bitafter normalization of the result.
It seems that early S/360's didn't do that. I believe it was changed
at the same time that a guard digit was added to long float operations.
-- glen
|