Forum: Compiler & IDEs nibbels vertauschen c vs. asm


von pluto (Gast)


Lesenswert?

Hallo,
ich habe in meinem C Program den folgende Code um die Nibbles eines 
Bytes zu tauschen.
data=((uint8_t)data)>>4|(data<<4);

Jetzt zu meiner Frage: Was macht der Compiler daraus?
Macht der Compiler den Assemblerbefehl Swap daraus oder wird das über 
rollen und kopieren gelöst?


Vielen Dank schonmal!

von Rolf Magnus (Gast)


Lesenswert?

Warum schaust du nicht einfach in den generierten Assembler-Code?

von pluto (Gast)


Lesenswert?

@Rolf Magnus
Ich wollte mal generell wissen ob man das vorhersagen kann was der 
Compiler aus der Zeile macht.
Ich hab mal den Assemblercode angeschaut, er scheint ein swap dafür zu 
verwenden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.