16 Bit (versch. Bitstellen) aus 32 Bitregister

Gast #311499
Lesenswert?

Hi,
ich muss zum Portauslesen aus einem 32 Bit Portregister 16 Bit von
verschiedenene Bitstellen zu einem 16 Bitwert zusammenfügen.

Z.B.:
hier mit 16Bit->8Bit Beispiel dargestellt.
Brauche also z.B. die unterstrichenen 8 Bit.

Register = 1111 0011 0011 1111
->         ----   -- --
benötigt = 1111 1100

Programmiere in C und suche elegante Lösung bei der auch der
compilierte code möglichst schnell ausgeführt wird. Also code, der
möglichst kleinen Assembler code ergibt

Ich würde es mit Maskieren und Bitschieben realiren, vielleicht hat
aber einer ne bessere Lösung.
MfG

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