Pic18 e banchi ram

Jan 17, 2006 0 Replies

Salve a tutti, con il pic18f452 ho terminato il primo banco di memoria (127 byte disponibili) e quindi sono costretto ad usare anche un'altro banco da 256 byte. Ho capito che per l'indirizzamento posso usare l'istruzione LBSR e poi gestirmi le chiamate con la "A" delle istruzioni ma il mio problema principale è questo: usando l'istruzione MOVFF in teoria il BSR è ignorato perchè l'indirizzamento dell'istruzione è già a 12 bit. In realtà questo non mi si verifica. Forse con un piccolo esempio mi spiego meglio:



movlb 1; seleziono banco1 movlw 100;e carico movwf gradi; nella variabile un valore a scelta movlw 0; porto a zero l'accumulatore per scrupolo



movff gradi,numero; sposto il valore di gradi nella variabile numero che è nel banco 0 call visuanumero; e visualizzo il contenuto di "numero"



a questo punto il valore di "numero" è 1 mentro mi aspettavo 100. Se invece faccio



movf gradi,W movwf numero,A call visuanumero



allora in "numero" mi ritrovo il valore di partenza 100. Ma perchè devo passare per l'accumulatore? non dovrebbe essere diretto come da data sheet o mi sfugge qualcosa?



Gaetà



questo articolo e` stato inviato via web dal servizio gratuito http://www.newsland.it/news segnala gli abusi ad abuse@newsland.it

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required