RRX
Rotate Right with Extend
Rotate Right with Extend provides the value of the contents of a register shifted right by one place, with the Carry flag shifted into bit[31].
MOV, MOVS (register)
It has encodings from the following instruction sets:
A32 (
A1
)
and
T32 (
T3
)
.
!= 1111
0
0
0
1
1
0
1
0
(0)
(0)
(0)
(0)
0
0
0
0
0
1
1
0
RRX{<c>}{<q>} {<Rd>,} <Rm>
MOV{<c>}{<q>} <Rd>, <Rm>, RRX
Unconditionally
1
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
(0)
0
0
0
0
0
1
1
RRX{<c>}{<q>} {<Rd>,} <Rm>
MOV{<c>}{<q>} <Rd>, <Rm>, RRX
Unconditionally
<c>
See Standard assembler syntax fields.
<q>
See Standard assembler syntax fields.
<Rd>
For encoding A1: is the general-purpose destination register, encoded in the "Rd" field. Arm deprecates using the PC as the destination register, but if the PC is used, the instruction is a branch to the address calculated by the operation. This is an interworking branch, see Pseudocode description of operations on the AArch32 general-purpose registers and the PC.
<Rd>
For encoding T3: is the general-purpose destination register, encoded in the "Rd" field.
<Rm>
For encoding A1: is the general-purpose source register, encoded in the "Rm" field. The PC can be used, but this is deprecated.
<Rm>
For encoding T3: is the general-purpose source register, encoded in the "Rm" field.