Gå til innhold

"blåse opp" 4-bits ord til 8-bits


Anbefalte innlegg

Jeg har ett 4-bits ord som jeg skal gjøre om til 8-bits etter følgende mønster:

0000 skal gi 0000000

1010 skal gi 11001100

0110 skal gi 00111100

1111 skal gi 11111111 osv.

 

Operasjonen finner sted på en mikrokontroller med begrenset prosesseringskraft, jeg lurer derfor på om noen vet av en smartere måte som krever mindre regnearbeid enn å maskere en og en bit, skifte denne ett visst antall ganger mot venstre og deretter and-e disse sammen til ett ord, for eksempel:

 

//første bit
bit = ord4 & 0x08;
ord8 |= bit<<4;
ord8 |= bit<<3;
//andre bit
bit = ord4 & 0x04;
ord8 |= bit<<4;
ord8 |= bit<<3;
//osv...

 

jeg skjønner jo at denne koden kan skrives enklere ved bruk av for- og while-sløyfe, men det vil i maskinkode sannsynligvis ta minst like mange klokkesykluser å gjennomføre. Jeg lurer på om det finnes noen triks for å gjøre dette med minimal maskinkode. Anyone?

Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...