ARM Software reference manual
ARM Software reference manual
ARM Software reference manual
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Chapter 2<br />
The following four shift-types operate on the Rm register, shifting the<br />
contents by N bits, where register Rsss holds the value of N:<br />
Rsss0001 logical left by Rs<br />
Rsss0011 logical right by Rs<br />
Rsss0101 arithmetic right by Rs<br />
Rsss0111 rotate right by Rs<br />
Shifts specified by Rs require one additional execution cycle. Only the least<br />
significant byte of Rs is used, and signifies a shift of 0 to +255 bits. If<br />
shifting operations are not required, the bit-pattern of the shift field is set to<br />
00000000. This is decoded as logical shift left 0 bits, and the carry bit is not<br />
changed by this action.<br />
The shifting action is as follows, where n represents the number of bits<br />
shifted:<br />
Logical shift left<br />
C C<br />
The n most significant bits become zero, the carry becomes b(n-1). If the<br />
shift amount is zero, no shift is performed and the carry flag is not altered.<br />
If the shift amount lies in the range 1 to 32, the carry flag is set to b(n-1).<br />
If the shift amount is greater than 32, the carry flag is set to zero.<br />
Arithmetic shift right<br />
- - -> xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb - -> C<br />
I I ><br />