⑴ 单片机 进位左移
增加一个全局变量,将循环常数给变量,再对变量做左循环,将变量赋值给p0,
uchar
a,b,
c;
在主循环中p0=_crol_(p0,1);
//p0的值向左循环移动
修改为
c=_crol_(c,1);
//p0的值向左循环移动
p0=c;
⑵ 关于单片机查表指令时用RLC左移指令
【1】表格中存放了1024个数据,编号0-1023项。每个数据2个字节。
【2】R3,R2,构成16位的编号。二进制格式。编号为x。
【3】第x项的数据起始地址应为 TAB+(2*x)。
【4】2*x,其实就是左移一次x。由于x是16位的。但51没有16位循环左移指令。
【5】借助于A,利用带进位位循环左移RLC A指令,完成R3,R2左移一次。其中,低位的R2部分,左移时,R2最高位借助于Cy进位位补足到R3的最低位。
理解一下RLC A这条指令的功能,影响的标志位就可以了。