tmp1 = ( unsigned long ) dest >> tmp0;
dest = ( dest << ( 32 - tmp0 )) | tmp1;
This instruction rotates dest rightward by the number of bit positions specified by src and saves the value in dest. Bits overflowing from the LSB are transferred to the MSB and to the C flag. |
C: After the operation, this flag will have the same MSB value as dest. In addition, when src is 0, this flag will have the same MSB value as dest.
Z: The flag is set if dest is 0 after the operation; otherwise it is cleared.
S: The flag is set if the MSB of dest after the operation is 1 ; otherwise it is cleared.