特权同学

C51的INTRINS.H详解

0
阅读(4003) 评论(0)

/*--------------------------------------------------------------------------
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_ 只能用于可直接寻址的位;在表达式中使用是不允许的。

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