Barrel Shifter (Shifter)
The following example shows the input value upshifted.
R0 contains 0000 B6A3 ;
R0 <<= 0x04 ;
results in
R0 contains 000B 6A30 ;
Register Shifts
Register-based shifts use a register to hold the shift value. The entire
32-bit register is used to derive the shift value, and when the magnitude of
the shift is greater than or equal to 32, then the result is either 0 or –1.
The following example shows the input value upshifted.
R0 contains 0000 B6A3 ;
R2 contains 0000 0004 ;
R0 <<= R2 ;
results in
R0 contains 000B 6A30 ;
Three-Operand Shifts
Three-operand shifter instructions shift an input register and deposit the
result in a destination register.
Immediate Shifts
Immediate shift instructions use the data value in the instruction itself to
control the amount and direction of the shifting operation.
2-50
ADSP-BF53x/BF56x Blackfin Processor Programming Reference