CAC 2016-02-15

overflow fault rework

Who can throw an overflow fault?

MLR truncation fault.

"If N1 > N2, then (N1-N2) trailing characters of C(Y-charn1) are not moved and the truncation indicator is set ON."

"If T = 1 and the truncation indicator is set ON by execution of the instruction, then a truncation (overflow) fault occurs."

OK as implemented.

MVT truncation fault.

"If N1 > N2, then (N1-N2) trailing characters of C(Y-charn1) are not moved and the truncation indicator is set ON."

"If T = 1 and the truncation indicator is set ON by execution of the instruction, then a truncation (overflow) fault occurs."

OK as implemented.

MVN truncation fault

"If N2 is not large enough to hold all the given digits of C(Y-charn1) as
rescaled by SF2 and R = 0, then a truncation condition exists; data
movement stops when C(Y-charn2) is filled and the truncation indicator is
set ON. If R = 1, then the last digit moved is rounded according to the
absolute value of the remaining digits of C(Y-charn1) and the instruction
completes normally."

"If T = 1 and the truncation indicator is set ON by execution of the
instruction, then a truncation (overflow) fault occurs."

OK as implemented.

MVN overflow fault

"If N2 is not large enough to hold the integer part of C(Y-charn1) as
rescaled by SF2, an overflow condition exists; the overflow indicator is set
ON and an overflow fault occurs. This implies that an unsigned fixed-point
receiving field has a minimum length of 1 character; a signed fixed-point
field, 2 characters; and a floating-point field, 3 characters"

Probably OK as implemented; the partial result is returned, but this
fault condition is not a candidate for restart.

CSL truncation fault

"If N1 > N2, the low order (N1-N2) bits of C(Y-bit1) are not processed and
the truncation indicator is set ON."

"If T = 1 and the truncation indicator is set ON by execution of the
instruction, then a truncation (overflow) fault occurs"

OK as implemented.

CSR truncation fault

"If N1 > N2, the high order (N1-N2) bits of C(Y-bit1) are not processed and
the truncation indicator is set ON."

"If T = 1 and the truncation indicator is set ON by execution of the
instruction, then a truncation (overflow) fault occurs."

OK as implemented.

BTD overflow fault

"If N2 is not large enough to hold the digits generated by conversion of C(Ychar91)
an overflow condition exists; the overflow indicator is set ON and
an overflow fault occurs. This implies that an unsigned fixed-point
receiving field has a minimum length of 1 character and a signed fixedpoint
field, 2 characters."

OK as implemented.

AD2D, AD3D, SB2D, SB3D, MP2D, MP3D, DV2D, DV3D truncation fault

"If N2 is not large enough to hold all the digits of the result as scaled by
SF2 and R = 0, then a truncation condition exists; data movement stops
when. C(Y-charn2) is filled and the truncation indicator is set ON. "

"If T = l and the truncation indicator is set ON by execution of the
instruction, then a truncation (overflow) fault occurs."

OK as implemented.

AD2D, AD3D, SB2D, SB3D, MP2D, MP3D, DV2D, DV3D overflow fault

"If N2 is not large enough to hold the integer part of the result as scaled by
SF2, an overflow condition exists; the overflow indicator is set ON and an
overflow fault occurs."

OK as implemented.

LCA, LCQ, LCXn, ADA, ADAQ, ADL, ADQ, ADXn, AOS, ASA, ASXn, AWCA, AWCQ, SBAQ, SBQ, SBXn, SSA, SSQ, SSXn, SWCA, SWCQ, MPF, NEG, NEGL

Fixed.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License