These operations are saturating (SAT).
This means that, for some value of 2n that
depends on the instruction:
for a signed
saturating operation, if the full result would be less than -2n,
the result returned is -2n
for an unsigned saturating operation, if the full
result would be negative, the result returned is zero
if the full result would be greater than 2n -
1, the result returned is 2n -
1.
When any of these things occurs, it is called saturation.
Some instructions set the Q flag when saturation occurs.
Note
Saturating instructions do not clear the Q flag when saturation
does not occur. To clear the Q flag, use an MSR instruction.
The Q flag can also be set by two other instructions, but
these instructions do not saturate.