Datasheet
SAM4E [DATASHEET]
Atmel-11157D-ATARM-SAM4E16-SAM4E8-Datasheet_12-Jun-14
154
12.6.7 Saturating Instructions
The table below shows the saturating instructions.
For signed n-bit saturation, this means that:
If the value to be saturated is less than -2
n-1
, the result returned is -2
n-1
If the value to be saturated is greater than 2
n-1
-1, the result returned is 2
n-1
-1
Otherwise, the result returned is the same as the value to be saturated.
For unsigned n-bit saturation, this means that:
If the value to be saturated is less than 0, the result returned is 0
If the value to be saturated is greater than 2
n
-1, the result returned is 2
n
-1
Otherwise, the result returned is the same as the value to be saturated.
If the returned result is different from the value to be saturated, it is called saturation. If saturation occurs, the
instruction sets the Q flag to 1 in the APSR. Otherwise, it leaves the Q flag unchanged. To clear the Q flag to 0, the
MSR
instruction must be used; see “MSR” .
To read the state of the Q flag, the
MRS
instruction must be used; see “MRS” .
Table 12-22. Saturating Instructions
Mnemonic Description
SSAT Signed Saturate
SSAT16 Signed Saturate Halfword
USAT Unsigned Saturate
USAT16 Unsigned Saturate Halfword
QADD Saturating Add
QSUB Saturating Subtract
QSUB16 Saturating Subtract 16
QASX Saturating Add and Subtract with Exchange
QSAX Saturating Subtract and Add with Exchange
QDADD Saturating Double and Add
QDSUB Saturating Double and Subtract
UQADD16 Unsigned Saturating Add 16
UQADD8 Unsigned Saturating Add 8
UQASX Unsigned Saturating Add and Subtract with Exchange
UQSAX Unsigned Saturating Subtract and Add with Exchange
UQSUB16 Unsigned Saturating Subtract 16
UQSUB8 Unsigned Saturating Subtract 8