Hi,

ganz stur so (Bitzählung von 0 bis 7!):

Code:
void inline bitswp2_4(uint8_t b) {
    asm volatile ( 
       "bst %0,2"   "\n\t"
       "sbr %0,4"   "\n\t"
       "sbrs %0,4"  "\n\t"
       "cbr %0,4"   "\n\t"
       "bld %0,4"   "\n\t"
      : 
      : "d" (b) 
    ); 
}
Schnell hingeschrieben und ungetestet. Mal sehen, ob jemand eine kürzere Lösung findet! Anmerkung: "inttypes.h" muss eingebunden sein. Aufruf mit
"bitswp2_4(byte_argument)".

Gruß

Fred