What is more used, Left or Right shift?
Your CPU should have five different single-bit shifts to make life easy to programmers.


shift left into carry, fill LSB with zero. This is usually called "shift left"
shift right into carry, fill MSB with zero. This is usually called "logical shift right"
shift right into carry, leave MSB intact (meaning, the MSB is doubled into the adjacent position). This is usually called "arithmetic shift right". You need this for 2-complement numbers.
rotate left through carry. Same as shift left, but the LSB is filled with the old value of the carry flag.
rotate right through carry. Same as logical shift right, but the MSB is filled with the old value of the carry flag.


The rotate instructions are useful when cascading shifts over multiple words.