1.汇编语言中:
对于51单片来说:
1.1 逻辑左移指令
RLA:将A中的值逻辑左移,将A中最高位D7位移动到最低位D0位,D0位送到D1位,例如A为00111001B,执行RL A指令之后,A变成0111 0010
RLCA:将A中的值加上进位(CY)进行逻辑左移,将CY的值送到D0位,然后再把D7的值送给CY,例如A为00111001B,CY=1为,执行RLC A指令之后,A变成0111 0011,CY=0
1.2逻辑右移指令
RRA:将A中的值逻辑右移,例子省略
RRCA:将A中的值加上进位(CY)进行逻辑右移,例子省略
2.C51中:
对于51单片机:
2.1 m<<n:左移指令,共移位n次,每执行一次,操作数最高位D7移入CY,CY中本来的数丢失,最低位D0补0,其他位依次向左移动1位。
例如m为0011 1001B,n为1,CY=1,执行m<<n之后,A变成0111 0010,CY=0
2.2 m>>n: 右移指令,跟左移相似。