set_bit() 等位函数分析! \linux-1.0\linux\include\asm\bitops.h
来源:互联网 发布:网络平台是干什么的 编辑:程序博客网 时间:2024/06/07 05:24
//将addr的第nr(nr为0-31)位置值置为1; //nr大于31时,把高27的值做为当前地址的偏移,低5位的值为要置为1的位数 extern __inline__ int set_bit(int nr,int * addr) { int mask, retval; addr += nr >> 5; //nr大于31时,把高27的值做为当前地址的偏移, mask = 1 << (nr & 0x1f); //获取31范围内的值,并把1向左偏移该位数 cli(); //关所有中断 retval = (mask & *addr) != 0; //位置置1 *addr |= mask; sti(); //开所有中断 return retval; //返回置数值 } //将addr的第nr(nr为0-31)位置值置为0; //nr大于31时,把高27的值做为当前地址的偏移,低5位的值为要置为0的位数; extern __inline__ int clear_bit(int nr, int * addr) { int mask, retval; addr += nr >> 5; mask = 1 << (nr & 0x1f); cli(); retval = (mask & *addr) != 0; *addr &= ~mask; sti(); return retval; } //判断addr的第nr(nr为0-31)位置的值是否为1; //nr大于31时,把高27的值做为当前地址的偏移,低5位的值为要判断的位数; extern __inline__ int test_bit(int nr, int * addr) { int mask; addr += nr >> 5; mask = 1 << (nr & 0x1f); return ((mask & *addr) != 0); }
- set_bit() 等位函数分析! \linux-1.0\linux\include\asm\bitops.h
- Linux内核源码(asm/bitops/atomic.h)学习
- linux arm set_bit分析
- linux kernel set_bit() 函数解析
- linux/include/asm-powerpc/posix_types.h
- Linux/arch/arm/include/asm/unistd.h
- linux 系统调用列表 /usr/include/asm/unistd.h
- 《linux 内核完全剖析》 include/asm/io.h
- a.out.h 头文件分析 \linux-1.0\linux\include\linux\a.out.h
- binfmts.h 头文件分析 \linux-1.0\linux\include\linux\binfmts.h
- busmouse.h 头文件分析 \linux-1.0\linux\include\linux\busmouse.h
- Linux/error.h中的错误对应(include/asm-generic/(errno.h)、(errno-base.h))
- 关于linux bitops的使用
- struct task_struct 结构分析 \linux-1.0\linux\include\linux\sched.h
- ctype.h,ctype.c 结构分析 \linux-1.0\linux\include\linux\ctype
- include/linux/init.h
- include/linux/mmzone.h
- include/linux/gfp.h
- eclipse中 “Copy" did not complete normally.错误的真正原因。
- php(创建、删除、移动、复制)文件及文件夹操作的实现方法
- 教你用CppUnit 在vs2008 上构建图形界面的测试
- Ubuntu安装软件提示"需要安装不能信任的软件包" .
- srv-u和IIS FTP教程
- set_bit() 等位函数分析! \linux-1.0\linux\include\asm\bitops.h
- Core Java (五) Java数组
- 修改DEDECMS的广告显示文件地址,防止广告被阻止显示。
- ECSHOP后台二次开发教程(一)
- 朱少民:基于过程的软件测试全景图 (2)
- android 挂载 SDcard 的方法
- 使用TCP协议实现文件传输
- D3DXMatrixPerspectiveFovLH详解
- 使用servlet编写生成验证码