Instruction Overview
14-10
ADSP-BF53x/BF56x Blackfin Processor Programming Reference
In essence, the magnitude is the power of 2 multiplied by the
src_reg
number. Positive magnitudes cause multiplication ( N x 2
n
) whereas neg-
ative magnitudes produce division ( N x 2
-n
or N / 2
n
).
The
dest_reg
and
src_reg
can be a 16-, 32-, or 40-bit register. Some ver-
sions of the Arithmetic Shift instruction support optional saturation.
See
“Saturation” on page 1-17
for a description of saturation behavior.
For 16-bit
src_reg
, valid shift magnitudes are –16 t15, zero
included. For 32- and 40-bit
src_reg
, valid shift magnitudes are –32
t31, zero included.
The D-register versions of this instruction shift 16 or 32 bits for half-word
and word registers, respectively. The Accumulator versions shift all 40 bits
of those registers.
The D-register versions of this instruction do not implicitly modify the
src_reg
values. Optionally,
dest_reg
can be the same D-register as
src_reg
. Doing this explicitly modifies the source register.
The Accumulator versions always modify the Accumulator source value.
Table 14-1. Arithmetic Shifts
Syntax
Description
“>>>=”
The value in dest_reg is right-shifted by the number of places specified
by shift_magnitude. The data size is always 32 bits long. The entire 32
bits of the shift_magnitude determine the shift value. Shift magnitudes
larger than 0x1F result in either 0x00000000 (when the input value is
positive) or 0xFFFFFFFF (when the input value is negative).
Only right shifting is supported in this syntax; there is no equivalent
“<<<=” arithmetic left shift syntax. However, logical left shift is sup-
ported. See the Logical Shift instruction.
“>>>”, “<<”, and
“ASHIFT”
The value in src_reg is shifted by the number of places specified in
shift_magnitude, and the result is stored into dest_reg.
The “ASHIFT” versions can shift 32-bit Dreg and 40-bit Accumulator
registers by up to –32 t31 places.
Summary of Contents for ADSP-BF53x Blackfin
Page 38: ...Conventions xxxviii ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 134: ...System Reset and Powerup 3 18 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 324: ...Instruction Overview 7 20 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 486: ...Instruction Overview 13 28 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 512: ...Instruction Overview 14 26 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 604: ...Instruction Overview 15 92 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 688: ...Instruction Overview 18 48 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 742: ...Instruction Overview 19 54 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 752: ...Examples 20 10 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 790: ...ADSP BF535 Flags A 10 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 800: ...Performance Monitor Registers B 10 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 1042: ...Index I 40 ADSP BF53x BF56x Blackfin Processor Programming Reference...