URL
https://opencores.org/ocsvn/qaz_libs/qaz_libs/trunk
Subversion Repositories qaz_libs
[/] [qaz_libs/] [trunk/] [cli/] [util/] [util_bits.c] - Rev 23
Go to most recent revision | Compare with Previous | Blame | View Log
/*-----------------------------------------------------------*/ #include "util_bits.h" /*-----------------------------------------------------------*/ void inline util_set_bits ( unsigned int address, unsigned int bit_offset, unsigned int bit_mask, unsigned int data ) { volatile unsigned int *word_pointer = (volatile unsigned int *)(address); unsigned int buffer; data <<= bit_offset; data &= bit_mask; buffer = *word_pointer; buffer &= ~bit_mask; buffer |= data; *word_pointer = buffer; } /*-----------------------------------------------------------*/ unsigned int inline util_get_bits ( unsigned int address, unsigned int bit_offset, unsigned int bit_mask ) { volatile unsigned int *word_pointer = (volatile unsigned int *)(address); unsigned int buffer; buffer = *word_pointer; buffer &= bit_mask; buffer >>= bit_offset; return(buffer); } /*-----------------------------------------------------------*/ unsigned char ReverseBits7ops32bit(unsigned char v) { return ((v * 0x0802LU & 0x22110LU) | (v * 0x8020LU & 0x88440LU)) * 0x10101LU >> 16; }
Go to most recent revision | Compare with Previous | Blame | View Log