原创 C51的INTRINS.H详解

2008-6-16 14:49 7848 9 9 分类: MCU/ 嵌入式

/*--------------------------------------------------------------------------
INTRINS.H  本征库函数


Intrinsic functions for C51.
Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.
--------------------------------------------------------------------------*/


extern void          _nop_     (void);  //空操作,相当于8051的NOP指令
extern bit           _testbit_ (bit);  //测试并清零位,相当于8051的JBC指令
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);  //测试并返回源点数状态


/***************************************************************************
        详 解


函 数:  _crol_,_irol_,_lrol_
原 型:  unsigned char _crol_(unsigned char val,unsigned char n);
   unsigned int _irol_(unsigned int val,unsigned char n);
   unsigned int _lrol_(unsigned int val,unsigned char n);
功  能: _crol_,_irol_,_lrol_以位形式将变量val循环左移n位。
   上面几个函数不同于参数的类型。
   另外三个函数的功能与此类同。


函 数:  _testbit_
原  型: bit _testbit_(bit x);
功 能: _testbit_产生一个JBC指令,该函数测试一个位x,当置位时返回1,否则返回0。
   如果该位置为1,则将该位复位为0。8051 的JBC指令即用作此目的。
   _testbit_只能用于可直接寻址的位;在表达式中使用是不允许的。


****************************************************************************/

文章评论0条评论)

登录后参与讨论
我要评论
0
9
关闭 站长推荐上一条 /2 下一条