Pagina 1 di 2

Sottrazione 24bit con assembler

MessaggioInviato: 29 mar 2012, 10:47
da mros
Buongiorno a tutti

Sto impazzendo e avrei bisogno di un vs aiuto.
Come posso fare una sottrazione a 24 bit scritta in assembler per un PIC a 8 bit.?

Help me

Grazie

Re: Sottrazione 24bit con assembler

MessaggioInviato: 29 mar 2012, 10:59
da TardoFreak
Implementi semplicemente la sottrazione che poi non è altro che un' addizione con il sottraendo complemetato a 2.
Quindi fai il complemento a 2 del sottraendo e poi sommi addendo e sottraendo.
E va bene per parole di qualsiasi lunghezza.

Re: Sottrazione 24bit con assembler

MessaggioInviato: 29 mar 2012, 11:20
da mros
Grazie 1000

Quindi dovrei complementare a 2 ( cioè invertire i valori e aggiungere un 1 ) il sottraendo e poi sommarlo con l'addendo?

Io comunque non ci riesco perché complimentando mi esce un numero maggiore ?????
Esempio
12455-7326.
0011000010100111 (12455) -
0001110010011110. ( 7326)

A questo punto il complemento a due di 7326 diventa
1110001101100001
Adesso dovrei sommare questo numero con 12455?????

Dove sbaglio?

Re: Sottrazione 24bit con assembler

MessaggioInviato: 29 mar 2012, 11:25
da TardoFreak
Non sbagli.
Si fa così.
Prova a farlo e fregatene del riporto. Vedrai che il risultato sarà giusto.

Re: Sottrazione 24bit con assembler

MessaggioInviato: 29 mar 2012, 11:29
da mros
Con questa domanda metto a nudo tutte le mie lacune in matematica binaria.....

Ma in questo modo non mi esce un numero maggiore Dell!addendo? (>12455)

Cioè facendo la somma a me viene

10001010000001000 cioè 70664

Cosa manca nel mio ragionamento?

Re: Sottrazione 24bit con assembler

MessaggioInviato: 29 mar 2012, 11:43
da TardoFreak
Tu hai preso come esempio un numero a 16 bit. Facendo la somma del sottraendo complementato hai ottenuto un numero a 17 bit!
Il diciassettesimo bit non devi prenderlo in considerazione perché si tratta di un riporto.
Elimina il bit più significativo e vedrai che il risultato è quello giusto.

Re: Sottrazione 24bit con assembler

MessaggioInviato: 29 mar 2012, 11:52
da mros
1000 grazie

Re: Sottrazione 24bit con assembler

MessaggioInviato: 29 mar 2012, 11:56
da TardoFreak
Prego.
Aggiungo solo una nota storica.
Oggi i micro hanno l' istruzione di sottrazione ma in passato non era così, di solito non c' era. Quindi era necessario conoscere il funzionamento della sottrazione per implementarla.

Re: Sottrazione 24bit con assembler

MessaggioInviato: 29 mar 2012, 12:02
da mros
Purtroppo mi sto dilettando sul PIC che e' a 8 bit , quindi la sottrazione non poso fare , avendo valori di 24 bit.
Sto cercando di fare un PWM che manda su un display LCD il valore della frequenza, siccome arriva fino a 2,5 MHz ho bisogno di lavorare su tre registri per volta, probabilmente con il tuo aiuto faro' quello che mi seve, se ti interessa la cosa ti posso condividere cio' che sto facendo ( lo dico ad uso e consumo di tutto il forum) anche se dubito che tu abbi bisogno di dritte.

Grazie ancora

Re: Sottrazione 24bit con assembler

MessaggioInviato: 29 mar 2012, 12:10
da TardoFreak
Più che condividerlo con me potresti condividerlo con il forum.
Se qualcuno è interessato avrà modo di fruirne. :ok: