00001
00002
00003 __inline__ extern void bitnclr(uchar *addr, uchar bitn);
00004 __inline__ extern void bitnset(uchar *addr, uchar bitn);
00005 __inline__ extern bool bitncheck(uchar *addr, uchar bitn);
00006
00007
00008 #define bitmclr(var, bitm) \
00009 do { \
00010 __asm__ __volatile__ ( \
00011 "bclr %0, %1" \
00012 : \
00013 : "p" (&var), "n" (bitm) \
00014 : "%ccr" \
00015 ); \
00016 \
00017 } while (0);
00018
00019 #define bitmset(var, bitm) \
00020 do { \
00021 __asm__ __volatile__ ( \
00022 "bset %0, %1" \
00023 : \
00024 : "p" (&var), "n" (bitm) \
00025 : "%ccr" \
00026 ); \
00027 \
00028 } while (0);