Домашняя страница библиотеки_c AVR

Синтаксис языка C

Библиотека языка C GNU glibc

Страницы развития библиотеки_с AVR

Главная страница

Инструкция пользователя

Содержание библиотеки_c

Часто задаваемые вопросы

Содержание по алфавиту

Демонстрационные проекты


<util/parity.h>: Генерация бита четности

Описание

#include <util/parity.h> 

Этот header файл содержит оптимизированный ассемблерный код, вычисления бита четности, для байта.

Макроопределение #define parity_even_bit(val)

Значение:

(__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); \
 }))

Возвращение:

1, если val имеет нечетное число бит.

Hosted by uCoz