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.