RLC 是带进位的循环左移,RLC A即将A的内容左移一位,将进位位C中的值移到累加器A的最低位,A的最高位移到C里。
譬如说:设A=01000001,C=1;
则如果执行RL ,则A=10000010,C=1(A所有位左移一位,最低位补零,C不参加移位操作,保持原值不变),如果执行RLC后,则A=10000011,C=0(A的最高位移到C,C原值移到A最低位)。
C=1,A=55H,RLC A后则为:C=0 A=ABH,即:1 01010101变为:0 10101011
扩展资料:
汇编语言ROL和RCL的区别方法:
AL=10100000时,ROL AL,1就把最高位的 1 移到最后,使AL变成 0100 0001,同时移出的1送CF;ROL AL,CL(CL=2),相当于2次 ROL AL,1,所以AL变成 1000 0010,最后移出的0送CF。
RCL AL,1则把AL的最高位1送给CF,使CF=1,AL其它位相应左移,成为 0100 000X,最后空下的X位被CF原来的值补齐;同样,ROL AL,CL(CL=2),相当于2次 RCL AL,1,最后AL变成 1000 00X1,AL原第二位的0到了CF,CF原来的值补AL中的x。
参考资料来源:百度百科-rlc
参考资料来源:百度百科- 汇编语言(面向机器的程序设计语言)
RLC 是带进位的循环左移,
RLC A
即将A的内容左移一位,将进位位C中的值移到累加器A的最低位,A的最高位移到C里。
RLC是带进位位的左移,参加左移的共有9个位 设A=01000001,C=1; 则如果执行RL ,则A=10000010,C=1(A所有位左移一位,最低位补零,C不参加移位操作,保持原值不变) 如果执行RLC后,则A=10000011,C=0(A的最高位移到C,C原值移到A最低位)
是带进位循环左移比如:
C=1,A=55H,RLC A后则为:C=0 A=ABH,即:
1 01010101变为:
0 10101011
其实这个要看你相应单片机的说明文档。各个厂家生产的东西往往不通 比如过赋值 有的要 MOVIA 有的要 MOV R,#XX 都是不同的。而且,你肯定是新手,新手要看你所学单片机的寄存器功能,rom地址等。都要在说明文档里找。