特权同学

C51的INTRINS.H详解

0
阅读(4953)

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

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

Baidu
map