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


Reply via email to