This instruction rotates dest left or right the number of bits indicated by src. Bits overflowing from LSB (MSB) are transferred to MSB (LSB) and the C flag. |
The direction of rotation is determined by the sign of src. If src is positive, bits are rotated left; if negative, bits are rotated right. |
If src is an immediate value, the number of bits rotated is −8 to −1 or +1 to +8. Values less than −8, equal to 0, or greater than +8 are not valid. |
If src is a register and (.B) is selected as the size specifier (.size), the number of bits rotated is −8 to +8. Although a value of 0 may be set, no bits are rotated and no flags are changed. If a value less than −8 or greater than +8 is set, the result of the rotation is undefined. |
If src is a register and (.W) is selected as the size specifier (.size), the number of bits rotated is −16 to +16. Although a value of 0 may be set, no bits are rotated and no flags are changed. If a value less than −16 or greater than +16 is set, the result of the rotation is undefined. |