2.6.3.4.2 LSR
Logical shift 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 sets the left-hand n bits of the result to 0. See
the following figure.
You can use the LSR #n
operation to divide the value in
the register Rm
by 2n, if the value is
regarded as an unsigned integer.
When the instruction is LSRS
or when LSR
#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[n-1], of the register Rm
.
- 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.