⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bitops.h

📁 Util-linux 软件包包含许多工具。其中比较重要的是加载、卸载、格式化、分区和管理硬盘驱动器
💻 H
字号:
#ifdef __i386__#define bitop(name,op) \static inline int name(char * addr,unsigned int nr) \{ \int __res; \__asm__ __volatile__("bt" op " %1,%2; adcl $0,%0" \:"=g" (__res) \:"r" (nr),"m" (*(addr)),"0" (0)); \return __res; \}bitop(bit,"")bitop(setbit,"s")bitop(clrbit,"r")#elif defined(__mc68000__)#define bitop(name,op) \static inline int name (char *addr, unsigned int nr) \{ \       char __res; \       __asm__ __volatile__("bf" op " %2@{%1:#1}; sne %0" \                            : "=d" (__res) \                            : "d" (nr ^ 15), "a" (addr)); \       return __res != 0; \}bitop (bit, "tst")bitop (setbit, "set")bitop (clrbit, "clr")#elsestatic inline int bit(char * addr,unsigned int nr) {  return (addr[nr >> 3] & (1<<(nr & 7))) != 0;}static inline int setbit(char * addr,unsigned int nr){  int __res = bit(addr, nr);  addr[nr >> 3] |= (1<<(nr & 7));  return __res != 0; \}static inline int clrbit(char * addr,unsigned int nr){  int __res = bit(addr, nr);  addr[nr >> 3] &= ~(1<<(nr & 7));  return __res != 0;}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -