Vai al contenuto
PLC Forum


Slw Funzione Shift


great

Messaggi consigliati

salve a tutti spero di non avere sbagliato sezione, sto provando a programmare un po' in awl ma non capisco bene a che cosa serva fare lo shift tramite slw ... ho letto l'. ma non mi risulta per niente chiaro, grazie a tutti :rolleyes:

Link al commento
Condividi su altri siti


Della word EW 124 di interessa, ad esempio, isolare gli ingressi E125.7, E125.6, E124.0 ed E124.1 per leggerli come numero. Con una istruzione "L" carichi il contenuto di EW 124 in ACC1 e poi fai scorrere verso sinistra con l'istruzione SLW il contenuto di accumulatore 1 di 6 posizioni e verso destra con l'istruzione SRW di 12 posizioni. Il risultato degli scorrimenti in ACC1 è lo stato dei 4 bit che volevi isolare e lo trovi nella posizione meno significativa. Trasferisci ora il contenuto di ACC1 nella word MW10 per poter leggere il numero rappresentato dai 4 bit. Ciao

Link al commento
Condividi su altri siti

Molto semplicemente, l'istruzione SLW (così come le istruzioni SRW, SLD, SRD), serve ogni volta che c'è da fare uno scorrimento dei bit di una Word o Dword.

Sinceramente non capisco molto la domanda. E' come chiedere a cosa serve l'istruzione UW (And Word), oppure OW (Or Word).

L'utilizzo di queste istruzioni è forse meno immediato di quello di una operazione matematica classica, come una somma o una moltiplicazione, ma altrettanto utile in molti casi.

Per esempio, se bastano 32 bit, con la semplice istruzione SLD (o SRD) si è già costruito uno Shif Register.

Se 32 bit non bastano, concatenando insieme più istruzioni di scorrimento (facendo attenzione all'allineamento dei byte) si costruisce uno Shift Register di qualsiasi lunghezza.

Senza contare poi i casi in cui si deve moltiplicare o dividere un valore per potenze del 2.

Una istruzione SLW 1, per esempio, equivale ad una moltiplicazione x2, SLW 2 è come moltiplicare x4, SRW 3 è come dividere per 8, e così via.

Certo, esistono le istruzioni di moltiplicazione e di divisione, ma un semplice scorrimento per il processore è molto più leggero.

Insomma, stesso risultato con minore sforzo.

Link al commento
Condividi su altri siti

Una istruzione SLW 1, per esempio, equivale ad una moltiplicazione x2, SLW 2 è come moltiplicare x4, SRW 3 è come dividere per 8, e così via.

Certo, esistono le istruzioni di moltiplicazione e di divisione, ma un semplice scorrimento per il processore è molto più leggero.

Insomma, stesso risultato con minore sforzo.

Con S5 queste istruzioni erano preziose!

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...