Rev. 1.50, 10/04, page 301 of 448
10.1.56 ROTR (Rotate Right): Shift Instruction
Format Operation Instruction Code Cycle T Bit
ROTR Rn LSB → Rn → T 0100nnnn00000101 1 LSB
Description: This instruction rotates the contents of general register Rn one bit to the right, and
stores the result in Rn. The bit rotated out of the operand is transferred to the T bit.
MSB LSB
ROTR
T
Notes: None
Operation:
ROTR(long n) /* ROTR Rn */
{
if ((R[n] & 0x00000001)==0) T = 0;
else T = 1;
R[n] >>= 1;
if (T==1) R[n] |= 0x80000000;
else R[n] &= 0x7FFFFFFF;
PC += 2;
}
Example:
ROTR R0 ;Before execution R0 = H'00000001, T = 0
;After execution R0 = H'80000000, T = 1