二、空操作,左右位移等内嵌代码 <intrins.h>
(1)_nop_
原型: void _nop_(void);
功能: _nop_插入一个 8051NOP 空操作指令到程序,用来停顿 1 个 CPU 周期。本程序是固
有函数,代码要求内嵌而不是调用。
返回:无。
(2)_testbit_
原型: bit _testbit_(bit b);
功能: _testbit_ 程序在生成的代码中用 JBC指令来测试位 b,并清零。
参数: 本程序只能用在直接寻址位变量, 对任何类型的表达式无效。固有函数,代码要求内
嵌,而非调用。
返回: _testbit_ 程序返回值 b
(3)_cror_
原型: unsigned char _cror_(unsigned char c, unsigned char b);
功能: _cror_程序字符 c 循环右移 b 位。固有函数,代码要求内嵌,而不是调用。参数:
返回:右移的结果
(4)_iror_
原型: unsigned int _iror_(unsigned int i, unsigned char b);
功能: _iror_ 程序将整数 i 循环右移 b 位。固有函数,代码要求内嵌而不是被调用。
参数: i 右移的整数, b 右移的次数。
返回: _iror_ 程序返回右移后的值。
(5)_lror_
原型: unsigned long _lror_(unsigned long l,unsigned char b);
功能: _lror_ 程序将长整数 l 循环右移 b 位。固有函数代码,要求内嵌而不是被调用。
参数: l 要右移的数, b 要右移的位数。
返回:返回右移后的值。摘要: #include<intrins_h> 。
(6)_crol_
原型: unsigned char _crol_(unsigned char c, unsigned char b);
功能: _crol_程序字符 c 循环左移 b 位。固有函数,代码要求内嵌,而不是调用。
参数:
返回:左移的结果
(7)_irol_
原型: unsigned int _irol_(unsigned int i, unsigned char b);
功能: _irol_程序将整数 i 循环左移 b 位。固有函数,代码要求内嵌而不是被调用。
参数: i 左移的整数, b 左移的次数。
返回: _irol_程序返回左移后的值。