Citazione:
Originalmente inviato da SoldatoSemplice Org vuol dire origine, per ogni variabile che tu pensi di aver dichiarato con org in realta hai detto al PIC di cominciare a scrivere in quella posizione, le variabili si usano con res:
Variabile res 1
Vuol dire che devi riservare 1 byte alla variabile Variabile (cioè 8 bit).
E poi non devi dare org 0 altrimenti comincia a scrivere il tuo programma nella posizione 0 dove ci sono i registri del PIC, devi scaricarti il datasheet del pic che usi e vedere dove comincia la program memory (mi pare 0x20) allora dai org 0x20 e comincia a scrivere il programma. |
Intanto grazie per la risposta.
Ma io non ho definito le variabili con org, in pratica questo e' il codice:
PORTB EQU 0x06 ********qui ci sono le varie definizioni
PORTC EQU 0x07 dei nomi mnemonici dei registri
ADCON0 EQU 0x1F
ADRESH EQU 0x1E
__CONFIG 0x3d32 *** imposta configurazione pic
ORG 0x20 ****qui intendo spostarmi per non usare la prima
parte riservata
DH res 1 **** prima variabile
DL res 1 *** seconda variabile
ORG 0x00 ****qui intendo posizionarmi all'inizio della program
memory
****qui inizia il programma
BANKSEL TRISA ; Select TRISA <BANK1> ----seleziona banco 1
;imposta porte input/output
MOVLW B'11111111'
MOVWF TRISA ; Port A = input
Il problema e' che mi riserva le variabili nella program memory
anziche' nel file register... in effetti non capisco come faccia l'assembler
a capire che con il primo org intendo lavoare sulla ram e con il secondo
nella program memory...
Oh, puo darsi che farnetico ma...
Grazie ancora