Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Slw Funzione Shift


Messaggi consigliati

Inserito:

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:


Inserita:

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

Inserita:

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.

Inserita:
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!

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...