Pagina 1 di 1

assegnazione registri Data Memory (bytes)

MessaggioInviato: 17 nov 2012, 11:30
da mros
Buongiorno a tutti

In assembler, in fase di impostazione del PIC, nella parte dove vengono assegnate le variabili occorre inserire il comando "ORG xx" per impostare il vettore sul primo registro utile della"Data Memory (bytes)".
Suppuniamo che stiamo lavorando sul PIC16F677 e le variabili che voglio utilizzare sono 125, la mia domanda

è corretto il seguente codice:

Codice: Seleziona tutto
ORG 0x20 ; primo registro disponibile
var1
var2
...
var96

bank 1
ORG 0xA0
var97
...
var120


oppure basta impostare il primo ORG 0x20 e poi il compilatore fa il resto?

grazie

Re: assegnazione registri Data Memory (bytes)

MessaggioInviato: 17 nov 2012, 11:47
da DirtyDeeds
Discussione duplicata: mantengo questa e cestino l'altra. Sei pregato di non duplicare i messaggi.

Re: assegnazione registri Data Memory (bytes)

MessaggioInviato: 17 nov 2012, 17:34
da simo85
A seguire un esempio.
Codice: Seleziona tutto
CBLOCK 0x20;
   var1
   var2
   ...
   varxx
ENDC

org 0x00
   goto main
org 0x04 ; if using interrupts
   goto ISR

main:
   ...
ISR:
   ...

   end


Per passare da un banco all'altro basta settare i bit RPx nel registro STATUS.

Re: assegnazione registri Data Memory (bytes)

MessaggioInviato: 18 nov 2012, 1:08
da mros
Grazie 1000

Quindi non occorre chiamare il secondo blocco di memoria...basta che inizio dall'indirizzo 0x20......

Grazie ancora

Re: assegnazione registri Data Memory (bytes)

MessaggioInviato: 18 nov 2012, 1:24
da simo85
Si, come nell'esempio postato. Li racchiudi tra CBLOCK 0x02 e ENDC.

Di niente.
O_/