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