这里用到了_crol_这个外部函数,表达的意思是:循环左移。
这个函数是包含在"intrins.h"中。 这里要注意是循环左移和LED = LED<<1;的区别:
如果这里LED = 0xfe;也就是0x1111 1110;
LED = LED << 1;后LED里的结果为0x1111 1100左移后的一位里填入了0.
而如果是LED = _crol_(LED,1);解释下里面的两个参数,LED是将要左移的数据;1表示将要左移的位数,如果为2就是左移2位。
LED = _crol_(LED,1);后的结果为0x1111 1101,向左循环移位时,从左边出去会从右边重新补入。 _cror_函数与_crol_函数类似,区别只是进行的是右位移; 注释:向右循环移位时,从右边出去会从左边重新补入。
|