当前位置: 首页 > news >正文

C51中的INTRINS.H:内部函数

C51中的INTRINS.H:内部函数
2007年05月14日 星期一 17:02INTRINS.H:内部函数
函数名: _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 位,该函数与8051“RLA”指令
相关,上面几个函数不同于参数类型。
例:
#include
main()
{
unsigned int y;
C-5 1 程序设计 37
y=0x00ff;
y=_irol_(y,4); /*y=0x0ff0*/
}
函数名: _cror_,_iror_,_lror_
原 型: unsigned char _cror_(unsigned char val,unsigned char n);
unsigned int _iror_(unsigned int val,unsigned char n);
unsigned int _lror_(unsigned int val,unsigned char n);
功 能:_cror_,_iror_,_lror_以位形式将val 右移n 位,该函数与8051“RRA”指令
相关,上面几个函数不同于参数类型。
例:
#include
main()
{
unsigned int y;
y=0x0ff00;
y=_iror_(y,4); /*y=0x0ff0*/
}
函数名: _nop_
原 型: void _nop_(void);
功 能:_nop_产生一个NOP 指令,该函数可用作C 程序的时间比较。C51 编译器在_nop_

数工作期间不产生函数调用,即在程序中直接执行了NOP 指令。
例:
P()=1;
_nop_();
P()=0;
函数名: _testbit_
原 型:bit _testbit_(bit x);
功 能:_testbit_产生一个JBC 指令,该函数测试一个位,当置位时返回1,否则返回0。
如果该位置为1,则将该位复位为0。8051 的JBC 指令即用作此目的。
_testbit_只能用于可直接寻址的位;在表达式中使用是不允许的。
2008-02-19 08:56_crol_ 字符循环左移
_cror_ 字符循环右移
_irol_ 整数循环左移
_iror_ 整数循环右移
_lrol_ 长整数循环左移
_lror_ 长整数循环右移
_nop_ 空操作8051 NOP 指令
_testbit_ 测试并清零位8051 JBC 指令

详解:

函数名: _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 位,该函数与8051“RLA”指令
相关,上面几个函数不同于参数类型。
例:
#include
main()
{
unsigned int y;
C-5 1 程序设计 37
y=0x00ff;
y=_irol_(y,4); /*y=0x0ff0*/
}

函数名: _cror_,_iror_,_lror_
原 型: unsigned char _cror_(unsigned char val,unsigned char n);
unsigned int _iror_(unsigned int val,unsigned char n);
unsigned int _lror_(unsigned int val,unsigned char n);
功 能:_cror_,_iror_,_lror_以位形式将val 右移n 位,该函数与8051“RRA”指令
相关,上面几个函数不同于参数类型。
例:
#include
main()
{
unsigned int y;
y=0x0ff00;
y=_iror_(y,4); /*y=0x0ff0*/
}

函数名: _nop_
原 型: void _nop_(void);
功 能:_nop_产生一个NOP 指令,该函数可用作C 程序的时间比较。C51 编译器在_nop_
函数工作期间不产生函数调用,即在程序中直接执行了NOP 指令。
例:
P()=1;
_nop_();
P()=0;

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

相关文章:

  • S3C2440与NAND FLASH(K9F1208)的接线分析
  • linux 6.2 部署nginx的过程
  • 成为Java高手需要达到的25个学习目标
  • 字符编码相关的知识
  • 远程读取XML根级别上的数据无效。 行 1,位置 1
  • 将DATAtable转换成 json格式
  • PHP之session相关实例教程与经典代码
  • HDU 3065 病毒侵袭持续中 (AC自动机)
  • HDU 1850 Being a Good Boy in Spring Festival (Nim博弈)
  • 20非常有用的Java程序片段(6-10)
  • BizTalk RosettaNet解决方案之Loopback
  • YAFFS2文件系统分析(转)
  • 如何设置Linux操作系统shell命令的默认语言
  • 基于HTML5的燃气3D培训仿真系统
  • Android 解决ScrollView嵌入ListView | GridView | ScrollView显示问题
  • Android系统模拟器绘制实现概述
  • Angular数据绑定机制
  • docker容器内的网络抓包
  • ES6 ...操作符
  • LeetCode算法系列_0891_子序列宽度之和
  • python大佬养成计划----difflib模块
  • Webpack 4x 之路 ( 四 )
  • windows下mongoDB的环境配置
  • 分布式熔断降级平台aegis
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 说说动画卡顿的解决方案
  • 我感觉这是史上最牛的防sql注入方法类
  • 我建了一个叫Hello World的项目
  • 优秀架构师必须掌握的架构思维
  • Linux权限管理(week1_day5)--技术流ken
  • (10)STL算法之搜索(二) 二分查找
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (6)设计一个TimeMap
  • (BFS)hdoj2377-Bus Pass
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (编译到47%失败)to be deleted
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (一)SpringBoot3---尚硅谷总结
  • (转)Android学习笔记 --- android任务栈和启动模式
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .net CHARTING图表控件下载地址
  • .net framework profiles /.net framework 配置
  • .NET Framework 服务实现监控可观测性最佳实践
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .NET的数据绑定
  • .NET构架之我见
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
  • [android]-如何在向服务器发送request时附加已保存的cookie数据
  • [BUUCTF NewStarCTF 2023 公开赛道] week4 crypto/pwn
  • [BZOJ1060][ZJOI2007]时态同步 树形dp
  • [cocos creator]EditBox,editing-return事件,清空输入框