Good morning!
I'm looking for a proper implementation of a bitwisereverse function of a byte
(1010 0001 becomes: 1000 0101). I want to replace an ugly and clumpsy function I
used in testing.
I would like to write smth like:
unsigned char reverse(unsigned char b)
{
unsigned char tmp=0;
for( i=0; i<8; i++ )
{
// RRC.B of b
// RRL.B into tmp
}
return tmp;
}
There's no real "C" way of doing it, isn't it? So what could the inline asmbly
line for that look like. I never used it before, and it's tricky and documents
didn't enlighten my too much. So my versions either didn't compile or didn't work.
Or is there a smaller (in terms of code size) way of doing the reversion (hacker
contest ;-) )?
Greetz,
Georg