Discussione: Help assembler pic
Visualizza messaggio singolo
Vecchio 20 marzo 09, 20:19   #3 (permalink)  Top
Milus
User
 
Data registr.: 20-12-2006
Messaggi: 252
Citazione:
Originalmente inviato da SoldatoSemplice Visualizza messaggio
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
Milus non è collegato   Rispondi citando