2.6.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 2-16.
You can use the LSL #n operation to multiply the value in
the register Rm by 2n, 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.
- 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.
