(1)dest = dest << ( src & 31 );
(2)dest = src2 << ( src & 31 );
(1)This instruction arithmetically shifts dest to the left by the number of bit positions specified by src and saves the value in dest. |
(2)After this instruction transfers src2 to dest, it arithmetically shifts dest to the left by the number of bit positions specified by src and saves the value in dest. |
C : The flag is set if the shifted-out bit is 1; otherwise it is cleared. However, when src is 0, this flag is also cleared.
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.
O : This bit is cleared to 0 when the MSB of the result of the operation is equal to all bit values that have been shifted out (i.e. the shift operation has not changed the sign); otherwise it is set to 1.However, when scr is 0, this flag is also cleared.