AVR Libc Home Page AVRs AVR Libc Development Pages
Main Page User Manual Library Reference FAQ Alphabetical Index Example Projects

<util/parity.h>: Parity bit generation


Defines

#define parity_even_bit(val)

Detailed Description

 #include <util/parity.h> 

This header file contains optimized assembler code to calculate the parity bit for a byte.


Define Documentation

#define parity_even_bit ( val   ) 

Value:

(__extension__({                                        \
        unsigned char __t;                              \
        __asm__ (                                       \
                "mov __tmp_reg__,%0" "\n\t"             \
                "swap %0" "\n\t"                        \
                "eor %0,__tmp_reg__" "\n\t"             \
                "mov __tmp_reg__,%0" "\n\t"             \
                "lsr %0" "\n\t"                         \
                "lsr %0" "\n\t"                         \
                "eor %0,__tmp_reg__"                    \
                : "=r" (__t)                            \
                : "0" ((unsigned char)(val))            \
                : "r0"                                  \
        );                                              \
        (((__t + 1) >> 1) & 1);                         \
 }))
Returns:
1 if val has an odd number of bits set.


Automatically generated by Doxygen 1.5.7 on 6 Nov 2008.