LSR (register)
Logical Shift Right (register)
shifts a register value right by a variable number of bits, shifting in zeros, and writes the result to the destination register. The variable number of bits is read from the bottom byte of a register
MOV, MOVS (register-shifted register)
It has encodings from the following instruction sets:
A32 (
A1
)
and
T32 (
T1
and
T2
)
.
!= 1111
0
0
0
1
1
0
1
0
(0)
(0)
(0)
(0)
0
0
1
1
LSR{<c>}{<q>} {<Rd>,} <Rm>, <Rs>
MOV{<c>}{<q>} <Rd>, <Rm>, LSR <Rs>
Unconditionally
0
1
0
0
0
0
0
0
1
1
LSR<c>{<q>} {<Rdm>,} <Rdm>, <Rs>
MOV<c>{<q>} <Rdm>, <Rdm>, LSR <Rs>
InITBlock()
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
LSR<c>.W {<Rd>,} <Rm>, <Rs>
LSR{<c>}{<q>} {<Rd>,} <Rm>, <Rs>
MOV{<c>}{<q>} <Rd>, <Rm>, LSR <Rs>
Unconditionally
<c>
See Standard assembler syntax fields.
<q>
See Standard assembler syntax fields.
<Rdm>
Is the first general-purpose source register and the destination register, encoded in the "Rdm" field.
<Rd>
Is the general-purpose destination register, encoded in the "Rd" field.
<Rm>
Is the first general-purpose source register, encoded in the "Rm" field.
<Rs>
Is the second general-purpose source register holding a shift amount in its bottom 8 bits, encoded in the "Rs" field.