Stò sviluppando un codice per un microcontrollore e, per farlo, ho bisogno che i bit contenuti all'interno di un particolare registro, in un'ooportuna posizione, assumano delle costanti ben defiite, che devo imporre io, scolpendole nel codice.
A questo scopo ho elaborato una sequenza di operazioni bitwise, abbastanza complessa. Pur avendola controllata più volte, la riporto qui di seguito sperando in un aiuto da parte della comunity.
- Codice: Seleziona tutto
1) Carico nel registro di appoggio R1 un valore a piacere di 32 bit.
2) Carico nel registro di appoggio R2 il valore esadecimale 0x041.
3) Eseguo un'operazione di shift logico verso sinistra (LSL = Logical Shift Left) di esattamente 4 posizioni, ed il risultato lo metto in R2 sovrascrivendo qualunque precedente valore.
4) Il risultato della precedente lo inverto bit-a-bit (logical-NOT) e lo sposto nel registro di appoggio R3.
5) Eseguo un'operazione di AND-bit-a-bit tra il risultato della precedente, ed il valore di R1 rimasto immutato dall'inizio. Il risultato lo inserisco in R3, sovrascrivendo qualunque precedente valore.
6) Eseguo un'operazione OR-bit-a-bit tra l'attuale valore di R3 ed il valore di R2, rimasto invariato dalla 3. Il risultato di questa operazione lo metto in R3 sovrascrivendo qualunque precedente valore.
7) In R3 ho ora il risultato che mi interessa
Lo scopo ultimo di questa procedura è di ottenere che tutti i bit dalla posizione bit 11, fino alla bit 4, assumano questo valore: 0100 0001, ovvero:
bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4
0 1 0 0 0 0 0 1
A voi risulta che la mia procedura sia corretta?
Prima di sottoporre tutto a debugger vorrei avere una conferma logica.
Vi ringrazio

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


