:lol c51函数库里就有移位的函数啊
#include <intrins.h>
这头文件的内容是:
#ifndef __INTRINS_H__
#define __INTRINS_H__
extern void _nop_ (void);
extern bit _testbit_ (bit);
extern unsigned char _cror_ (unsigned char, unsigned char);
extern unsigned int _iror_ (unsigned int, unsigned char);
extern unsigned long _lror_ (unsigned long, unsigned char);
extern unsigned char _crol_ (unsigned char, unsigned char);
extern unsigned int _irol_ (unsigned int, unsigned char);
extern unsigned long _lrol_ (unsigned long, unsigned char);
extern unsigned char _chkfloat_(float);
extern void _push_ (unsigned char _sfr);
extern void _pop_ (unsigned char _sfr);
#endif
其中_crol_()就是楼主想要的单字节循环左移。_cror_()是单字节循环右移。
再认真看看,双字节的,4字节的,都有,呵呵。
如果想深入了解的话,就去查它们的原型。不过一般是用宏来写的,嵌入汇编。
|