700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > c语言intrins函数 【转载】KEIL C 头文件INTRINS.H中的几个函数说明

c语言intrins函数 【转载】KEIL C 头文件INTRINS.H中的几个函数说明

时间:2019-03-09 00:43:29

相关推荐

c语言intrins函数 【转载】KEIL C 头文件INTRINS.H中的几个函数说明

原标题:

[51单片机]keil

C51中的本征函数库及使用说明

为方便自己查找,已将标题改名

原文来源:/hooyang@126/blog/static/11894545282611383998/

本征函数(intrinsicroutines)是指编译时直接将固定代码插入当前行,而不用ACALL和LCALL

来实现(无需堆栈操作?),可大大提高函数的访问效率.

函数原型

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);

头文件

#include

说明

extern

void_nop_(void);

产生一个nop指令

extern bit_testbit_ (bit);

产生一个JBC指令,若该位置位,返回1,否则为0;只能作用于直接寻址的位变量,不能用于表达式

之中

extern unsigned char

_cror_(unsigned char val, unsigned char n);

(unsigned char)val右移n位

extern unsigned int_iror_(unsigned int val, unsigned char n));

(unsigned int)val右移n位

extern unsigned long

_lror_(unsigned long val, unsigned char n));

(unsigned long)val右移n位

extern unsigned char

_crol_(unsigned char val, unsigned char n));

(unsigned char)val左移n位

extern unsigned int_irol_(unsigned int val, unsigned char n));

(unsigned int)val左移n位

extern unsigned long

_lrol_(unsigned long val, unsigned char n));

(unsigned long)val左移n位

extern unsigned char _chkfloat_(float);

测试并返回float的状态

一下摘自keil C51的帮助文档

0 Standard floating-point numbers 标准浮点数

1 Floating-point value 0 浮点数0

2 +INF (positive overflow) 正溢出

3 -INF (negative overflow) 负溢出

4 NaN (Not a Number) error status出错

参考文献

李军等编著.51系列单片机高级实例开发指南.北京-北京航空航天大学出版社

keil software,inc.C51 user's guide

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。