UM10360 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2013. All rights reserved.
User manual Rev. 3 — 20 December 2013 656 of 841
NXP Semiconductors
UM10360
Chapter 34: Appendix: Cortex-M3 user guide
• If n is 33 or more and the carry flag is updated, it is updated to 0.
34.2.3.4.3 LSL
Logical shift left by n bits moves the right-hand
32
-n bits of the register Rm, to the left by n
places, into the left-hand
32
-n bits of the result. And it sets the right-hand n bits of the
result to 0. See Figure 143
.
You can use he LSL #n operation to multiply the value in the register Rm by 2
n
, if the value
is regarded as an unsigned integer or a two’s complement signed integer. Overflow can
occur without warning.
When the instruction is
LSLS
or when LSL #n, with non-zero n, is used in Operand2 with
the instructions
MOVS
,
MVNS
,
ANDS
,
ORRS
,
ORNS
,
EORS
,
BICS
,
TEQ
or
TST
, the carry flag is updated
to the last bit shifted out, bit[
32
-n], of the register Rm. These instructions do not affect the
carry flag when used with LSL #0.
Note
• If n is 32 or more, then all the bits in the result are cleared to 0.
• If n is 33 or more and the carry flag is updated, it is updated to 0.
34.2.3.4.4 ROR
Rotate right by n bits moves the left-hand
32
-n bits of the register Rm, to the right by n
places, into the right-hand
32
-n bits of the result. And it moves the right-hand n bits of the
register into the left-hand n bits of the result. See Figure 144
.
When the instruction is
RORS
or when ROR #n is used in Operand2 with the instructions
MOVS
,
MVNS
,
ANDS
,
ORRS
,
ORNS
,
EORS
,
BICS
,
TEQ
or
TST
, the carry flag is updated to the last bit
rotation, bit[n-1], of the register Rm.
Note
Fig 142. LSR#3
 
&DUU\
)ODJ



Fig 143. LSL#3
 
&DUU\
)ODJ


