Matik Inserito: 17 gennaio 2006 Segnala Share Inserito: 17 gennaio 2006 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 banco1movlw 100;e caricomovwf gradi; nella variabile un valore a sceltamovlw 0; porto a zero l'accumulatore per scrupolomovff gradi,numero; sposto il valore di gradi nella variabile numero che è nel banco 0call visuanumero; e visualizzo il contenuto di "numero"a questo punto il valore di "numero" è 1 mentro mi aspettavo 100. Se invece facciomovf gradi,Wmovwf numero,Acall visuanumeroallora 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?Matik 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