⑴ 單片機 進位左移
增加一個全局變數,將循環常數給變數,再對變數做左循環,將變數賦值給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這條指令的功能,影響的標志位就可以了。