UM10429
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2010. All rights reserved.
User manual
Rev. 1 — 20 October 2010
200 of 258
NXP Semiconductors
UM10429
Chapter 19: Appendix LPC1102 ARM Cortex-M0 reference
You can use the LSR operation to divide the value in the register
Rm
by 2
n
, if the value is
regarded as an unsigned integer.
When the instruction is LSRS, the carry flag is updated to the last bit shifted out, bit[
n
-1],
of the register
Rm
.
Remark:
•
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.
19.4.3.3.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
.
You can use the LSL 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 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.
Remark:
•
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.
Fig 44. LSR #3
31
1 0
2
4
5
3
...
0
0
0
Carry
Flag
Fig 45. LSL #3
1 0
2
4
5
3
31
...
0 0
0
Carry
Flag