AVR Libc Home Page | AVR Libc Development Pages | ||||
Main Page | User Manual | Library Reference | FAQ | Alphabetical Index | Example Projects |
定義 | |
#define | parity_even_bit(val) |
#include <util/parity.h>
このヘッダファイルは、1バイトのパリティービットを計算するために最適化されたアセンブラコードを含みます。
#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); \ }))
val
に奇数個のビットがセットされているなら、1です。