$treeview $search $mathjax $extrastylesheet
avr-libc  2.0.0
$projectbrief
$projectbrief
$searchbox

AVR Libc Home Page

AVRs

AVR Libc Development Pages

Main Page

User Manual

Library Reference

FAQ

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.
 All Data Structures Files Functions Variables Typedefs Enumerations Defines