Atmel ARM-Based Evaluation Kit for SAM4S16C, 32-Bit ARM® Cortex® Microcontroller ATSAM4S-WPIR-RD ATSAM4S-WPIR-RD Data Sheet

Product codes
ATSAM4S-WPIR-RD
Page of 1231
SAM4S Series [DATASHEET]
Atmel-11100G-ATARM-SAM4S-Datasheet_27-May-14
162
12.6.7.2 SSAT16 and USAT16
Signed Saturate and Unsigned Saturate to any bit position for two halfwords.
Syntax
op{condRd, #nRm
where:
opis one of:
SSAT16 Saturates a signed halfword value to a signed range.
USAT16 Saturates a signed halfword value to an unsigned range.
condis an optional condition code, see 
.
Rdis the destination register.
nspecifies the bit position to saturate to:
n ranges from 1n ranges from 0 to 15 for USAT.
to 16 for SSAT
Rmis the register containing the value to saturate.
Operation
The SSAT16 instruction:
Saturates two signed 16-bit halfword values of the register with the value to saturate from selected by the bit 
position in n.
Writes the results as two signed 16-bit halfwords to the destination register.
The USAT16 instruction: 
Saturates two unsigned 16-bit halfword values of the register with the value to saturate from selected by the bit 
position in n.
Writes the results as two unsigned halfwords in the destination register.
Restrictions
Do not use SP and do not use PC
.
Condition Flags
These instructions do not affect the condition code flags.
If saturation occurs, these instructions set the Q flag to 1.
Examples
SSAT16
R7, #9, R2
; Saturates the top and bottom highwords of R2
; as 9-bit values, writes to corresponding halfword
 ; of R7
USAT16NE
R0, #13, R5
; Conditionally saturates the top and bottom
 ; halfwords of R5 as 13-bit values, writes to
 ; corresponding halfword of R0.
12.6.7.3 QADD and QSUB
Saturating Add and Saturating Subtract, signed.
Syntax
op{cond} {Rd}, RnRm
op{cond} {Rd}, RnRm