setecastronomy Posted April 23, 2008 Report Posted April 23, 2008 Per testare se il bit X (ove x è una varaiabile) di una word è ad uno di solito seguo una procedura del tipo:shift left di 1 di X-1 posizioni. And logico del risultato con la word da testare.Se il risultato è diverso da zero il bit è ad un uno.Con questo plc ho sì l'istruzione SHL, ma come contatore delle posizioni di shift accetta solo un operando immediato. Mi sto sbagliando ? E come posso fare allora ?Non è neppure disponibile un operazione di power(operando, potenza) con cui potrei supplire. GrazieFilippo
prog_jlaw Posted April 23, 2008 Report Posted April 23, 2008 puoi fare cosi :carichi la tua word da testare su 16 bit internies: word da testare = mw100%m10:16:=%mw100a questo punto hai caricato ogni singolo bit della word su bit interni quindi avrai M10=%mw100:x0 ...etcora con un contatto indicizzato con la word di posizione puoi verificare se il bit e' on od offes :word di posizione = mw200%m10[%mw200] %m50-------l l---------------------------------------() %m50 sara vero se il bit corrispondente alla posizione di %mw200 e' verobye
prog_jlaw Posted April 23, 2008 Report Posted April 23, 2008 e' venuto spostato %m50 ... che e' la bobina bye
Stefano Sormanni Posted April 23, 2008 Report Posted April 23, 2008 se devo testare un bit di una word, anzichè andare a fare lo shift, potresti anche fare così:LD %MW100AND 2#0010000000000000NE 0ST %M10
rddiego Posted April 23, 2008 Report Posted April 23, 2008 se devo testare un bit di una word, anzichè andare a fare lo shift, potresti anche fare cosìAND 2#0010000000000000e ma così non è variabile come chiede setecastronomye poi scusa ma fare un AND a parola per testare un bit di word!!!!!!!!!!!!setecastronomy il modo migliore è come ti ha già descritto prog_jlaw
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now