Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Circuiti Elettronici


 
 
Strumenti discussione Visualizzazione
Prev Messaggio precedente   Prossimo messaggio Next
Vecchio 20 marzo 09, 21:40   #5 (permalink)  Top
User
 
L'avatar di MSchiepp
 
Data registr.: 21-01-2004
Residenza: Milano
Messaggi: 989
Citazione:
Originalmente inviato da Milus Visualizza messaggio
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...
In effetti non serve che lo capisca... quando definisci una variabile tu in realtà definisci l'indirizzo (cioè la cella di memoria) della variabile in cui scriverai e leggerai dei valori. Quando usi ad esempio l'istruzione movf xx,w il processore sa che deve prendere il valore contenuto nella locazione xx e metterlo nel registro w. Sono le istruzioni che usi che interpretano il valore come una locazione di memoria o una locazione di programma, non l'assemblatore!
Per definire le variabli hai tanti modi:
definire il valore assoluto di ogni variabile (dici tu dove è la variabile):
1) Dato EQU 0x12 vuol dire che la variabile Dato è nella locazione di memoria (dati) n. 0x12. sistema assolutamente sconsigliato.

2) Definire con ORG 0x0C l'inizio dell'area dati ed elencare le variabili specificando la direttiva RES n che riserva una o più locazioni di memoria
es:
ORG 0x0C ; inizio file register
Dato_1 res 1 ;locazione 0x0C
Dato_2 res 1 ;locazione 0x0D
... ecc. sistema comodo, ma non ottimale

3) Usare le direttive CBlock/endc che definiscono l'area variablili e che permettono di associare il nome delle variabili alle finestre di watch per il debug e permettono di creare una lista di simboli che aiuta nel debug del software. Es.

CBlock 0x0C ;inzio blocco
Dato_1
Dato_2
Dato_3
...
Dato_N
endc

Altro consiglio: invece di ridefinire i registri di sistema, includi il file del processore che stati usando (o quello generico pic.inc nelle ultime versioni) che contiene già tutti i nomi e gli indirizzi corretti dei registri per tutti i pic!

Michele
__________________
__________________________________________________
The worst day flying is better than the best day working.
MSchiepp non è collegato   Rispondi citando
 

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


Discussioni simili
Discussione Autore discussione Forum Commenti Ultimo Messaggio
PIC, LCD & assembler... lorenzobonciani Circuiti Elettronici 3 14 febbraio 08 19:14
Assembler per PIC faustog Circuiti Elettronici 21 16 dicembre 07 23:49
i pic.????????? pilo Circuiti Elettronici 12 24 gennaio 05 19:07
pic Bissi CNC e Stampanti 3D 5 25 maggio 04 09:39
Pic, mio caro Pic.... fai4602 Circuiti Elettronici 7 24 novembre 03 19:34



Tutti gli orari sono GMT +2. Adesso sono le 14:52.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2026