paopaura Inserito: 23 aprile 2006 Segnala Share Inserito: 23 aprile 2006 Dovrei fare delle operazioni di addizione e sottrazione con doppia word.Il mio problema sta che il risultato puo essere sia un numero positivo che negativo (è in appoggio ad un contatore up/down)Esempio se faccio 0-1 mi da come risultato 9999 invece che f001 (dove f sarebbe se non sbaglio il segno).Nessun problema se invece sto nel campo dei numeri positiviRiuscite mica ad illuminarmi Link al commento Condividi su altri siti More sharing options...
Dario Valeri Inserita: 23 aprile 2006 Segnala Share Inserita: 23 aprile 2006 ciaodipende da come guardi la doppia word.devi guardarla com "dw con segno", ad ogni modo a livello binarioil numero risultante e' lo stesso . (e' un fatto di interpretazione)comunque in bcd senza segno 0-1 da appunto 9999in bcd con segno invece , in caso di numeri negativi, la cifra piu'a sinistra viene usata per il segno. (anche in decimale)ciaodario Link al commento Condividi su altri siti More sharing options...
paopaura Inserita: 24 aprile 2006 Autore Segnala Share Inserita: 24 aprile 2006 non mi è chiaro come si faccia pero a dirgli di lavorare con segno... Link al commento Condividi su altri siti More sharing options...
batta Inserita: 24 aprile 2006 Segnala Share Inserita: 24 aprile 2006 Se non ricordo male negli Omron, per sapere se il risultato di un calcolo in BCD è negativo, si interroga il flag "carry".Così su due piedi non ti so dire di più, ma se leggi il manuale sicuramente trovi tutte le istruzioni. Link al commento Condividi su altri siti More sharing options...
RickyM Inserita: 24 aprile 2006 Segnala Share Inserita: 24 aprile 2006 Confermo quello che dice Batta, se il flag di carry è on, il risultato è negativo se lo sottrai a zero diventa positivo.Ciao Link al commento Condividi su altri siti More sharing options...
Claudio Negro Inserita: 25 aprile 2006 Segnala Share Inserita: 25 aprile 2006 flag di carry per plc serie cs o cj è il bit CF004, mentre per le serie precedenti è il bit 255.04Ovviamente se usi le nuove serie, hai i calcoli con segno, altrimenti vale quanto detto sopra...Ciao Link al commento Condividi su altri siti More sharing options...
orsoblu Inserita: 27 aprile 2006 Segnala Share Inserita: 27 aprile 2006 (modificato) Ciao, l'operazione che ti interessa è illustrata come esempio dell'istruzione SUB/SUBL o SBB/SBBL presente sul manuale di programmazione che puoi trovare sul sito uficiale di omron.In pratica si tratta di effettuare una doppia sottrazione con la seguente procedura:Prima sottrazione A-B=CControllo carry a 1 esegue 0(zero)-C=C in quanto nella prima operazione il valore C negativo è il numero complementare del risultato.alzare un flag a fine operazione attivato dal carry a 1 che si autoritiene fino a che il bit di esecuzione dell'operazione è attivo per indicare che il risultato è negativo.Tutto quanto deve essere fatto in una unica networkCon il flag puoi effettuare un ANDW in modo di far figurare il numero negativo con il sistema dell'ultima cifra a 1 o F. Modificato: 27 aprile 2006 da orsoblu Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora