汇编语言/C51中左移指令的不同

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:   右移指令,跟左移相似。

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章