Esercitazioni
PIC - Assembly
|
Un sorgente di carattere
Prima di passare oltre, vediamo ancora un piccolo appunto sul testo
sorgente.
E' prassi comune, in generale nei sorgenti per ogni
genere di linguaggio, utilizzare un carattere monospace, ad esempio il Courier,
in modo da poter tenere sotto controllo gli allineamenti del testo e quello
del file di lista (.lst) generabile nella compilazione.
Questo deriva da due necessità:
-
gli spazi nel testo sorgente sono anch'essi
"simbolo" e possono avere un valore proprio. Ad esempio, il
testo nelle righe, a seconda del suo contenuto, deve o non deve iniziare
in prima colonna, pena una diversa interpretazione da parte del
compilatore e la generazione di errori. L' Assembler MPASM, ad esempio,
identifica una parola come label dal fatto che inizia in prima
colonna, ma molte direttive non devono iniziare in prima colonna.
-
la spaziatura nel testo ha una funzione di indicazione e
di aiuto nella realizzazione di funzioni logiche e nella leggibilità del
sorgente stesso. E' ben noto ai programmatori l' uso di allineare nella
stessa colonna le righe con cui iniziano o chiudono procedure logiche, il
che ne permette la rapida verifica.
L' Assembler accetta caratteri maiuscoli e minuscoli; se
viene impostata l' opzione di verifica delle maiuscole/minuscole, esse
comportano una distinzione rigorosa. Così label e Label saranno
due parole differenti ed altrettanto LaBel e LABEl. Esiste la
possibilità di escludere questa opzione, ma è preferibile mantenerla perchè
amplia le possibilità di assegnazione di nomi e riduce le possibilità di
errore di scrittura.
Sono accettati anche le cifre numeriche, i segni di
punteggiatura (: ; . ,), segni di operatori matematici (> < ^ = * %
- ecc.) e segni usati per indicare funzioni logiche (! / $ | == >>
<< &).
Non sono possibili segni grafici o semigrafici.
Va bene inteso che l' uso di ognuno di questi elementi, al di fuori delle
righe di commento (che vediamo subito dopo), è legato ad una precisa sintassi
del linguaggio e non può essere casuale. Anche gli spazi possono avere una
funzione specifica.
|