SAM3N0C Atmel Corporation, SAM3N0C Datasheet - Page 123

no-image

SAM3N0C

Manufacturer Part Number
SAM3N0C
Description
Manufacturer
Atmel Corporation
Datasheets
10.15 Saturating instructions
10.15.1
10.15.1.1
10.15.1.2
11011A–ATARM–04-Oct-10
SSAT and USAT
Syntax
Operation
This section describes the saturating instructions, SSAT and USAT.
Signed Saturate and Unsigned Saturate to any bit position, with optional shift before saturating.
where:
op
cond
Rd
n
Rm
shift #s
These instructions saturate to a signed or unsigned n-bit value.
The SSAT instruction applies the specified shift, then saturates to the signed range −
2
The USAT instruction applies the specified shift, then saturates to the unsigned range 0 ≤x ≤2
For signed n-bit saturation using SSAT, this means that:
For unsigned n-bit saturation using USAT, this means that:
If the returned result is different from the value to be saturated, it is called saturation. If satura-
tion 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, you must use the MSR instruction, see
To read the state of the Q flag, use the MRS instruction, see
n–1
• if the value to be saturated is less than − 2
• if the value to be saturated is greater than 2
• otherwise, the result returned is the same as the value to be saturated.
• 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
• otherwise, the result returned is the same as the value to be saturated.
op{cond} Rd, #n, Rm {, shift #s}
≤x ≤2
SSAT
USAT
n ranges from 1 to 32 for SSAT
n ranges from 0 to 31 for USAT.
ASR #s where s is in the range 1 to 31
LSL #s where s is in the range 0 to 31.
n–1
− 1.
is one of:
Saturates a signed value to a signed range.
Saturates a signed value to an unsigned range.
is an optional condition code, see
is the destination register.
specifies the bit position to saturate to:
is the register containing the value to saturate.
is an optional shift applied to Rm before saturating. It must be one of the following:
n− 1
, the result returned is − 2
n− 1
n
− 1, the result returned is 2
“Conditional execution” on page
− 1, the result returned is 2
“MRS” on page
n-1
n
− 1
n-1
“MSR” on page
143.
− 1
84.
SAM3N
144.
123
n
− 1.

Related parts for SAM3N0C