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