AVR Libc Home Page AVRs AVR Libc Development Pages
Main Page User Manual Reference FAQ Example Projects
Macros

<util/parity.h>: Parity bit generation

Macros

#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.

Macro Definition 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.