Wiederholende Bitmuster

#3956812
Lesenswert?

Wenn der Controller Rotations-Befehle kennt (wie z.B. die 8051) oder 
einen Barrel-Shifter hat, wäre ein Blick in die intrins.h interessant. 
Beim 8051 werden die RL- und RR-ASM-Befehle in C über die Funktionen
1
unsigned char _cror_(unsigned char Value, unsigned char RotationNr);
2
unsigned char _crol_(unsigned char Value, unsigned char RotationNr);
aufgerufen. Allerdings verliert man dadurch die Portabilität des 
Programms auf andere Controller.
Mit etwas Glück hat der Compiler aber eine gute Optimierung (bzw. 
passende Peepholes) und setzt auch die zuletzt genannten C-Konstrukte in 
wenige ASM-Befehle für Rotation um.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren