Home
Accesso / Registrazione
 di 

Corso di programmazione per microcontrollori Zilog Z8. Quarta puntata - 2

microcontrollori Zilog Z8

Nel programma riportato sono presenti altre tre direttive: la “.org”, la “.word” e la “.end”. La direttiva “.org” serve per indicare al compilatore la locazione di memoria programma in cui trasferire le istruzioni elencate dopo la direttiva stessa: la “.org” viene quindi utilizzata ogni volta che si vogliono scrivere parti di programma in locazioni di memoria specifiche.

La direttiva “.word” indica al compilatore di riservare uno spazio di memoria di due byte. Ad esempio, nel nostro listato mediante questa pseudo istruzione i primi 12 byte di memoria programma vengono lasciati vuoti. La direttiva “.end” informa il compilatore che il programma è terminato.

La sigla “INIZIO” rappresenta una label (etichetta) e viene utilizzata per determinare dei riferimenti di locazioni all’interno del programma. Le label sono sempre seguite dal segno di due punti (:) e possono rappresentare delle locazioni di memoria, delle porte di ingresso/uscita o semplicemente dei numeri. Vedremo più avanti l’utilità delle label nel linguaggio assembler. Il programma vero e proprio, ovvero l’insieme dei comandi rivolti alla CPU, risulta quindi composto solamente dalle seguenti quattro istruzioni: LD SOMMA,#00 ;somma = 0 ADD SOMMA,DATO_1 ;somma = DATO_1 ADD SOMMA,DATO_2 ;somma = somma + DATO_2 ADD SOMMA,DATO_3 ;somma = somma + DATO_3 A destra troviamo i commenti inseriti per rendere più leggibile il programma. Concentriamo a questo punto la nostra attenzione sulle istruzioni e per fare ciò esaminiamo una generica istruzione, un esempio potrebbe essere il seguente: Label LD R2,R5 Questa istruzione carica il contenuto del registro R5 nel registro R2.

L’istruzione vera e propria è identificata dal codice mnemonico LD, che sta per Load (caricamento) mentre R2 e R5 vengono definiti operandi e rappresentano gli elementi su cui l’istruzione va ad operare. In particolare, R5 si chiama operando sorgente, mentre R2 prende il nome di operando di destinazione. L’insieme delle possibili istruzioni che un microcontrollore può eseguire viene denominato Set di Istruzioni. Quando ci si riferisce agli operandi, ed al modo quindi in cui le istruzioni possono agire, si parla invece di modi di indirizzamento. Quanto esposto può sembrare inizialmente molto complicato ma diventa tutto molto più familiare una volta che si prova a realizzare in pratica qualche semplice programma. Nel nostro esempio, il listato comprende anche un’etichetta e dei commenti; bisogna comunque ricordare che è possibile omettere le etichette e i commenti ma, in ogni caso, il codice operativo e gli operandi di qualsiasi istruzione non possono essere scritti partendo dalla prima colonna di testo, occorre cioè lasciare almeno uno spazio tra l’inizio della riga e il codice operativo e tra quest’ultimo e gli operandi.

CODICI OPERATIVI, OPERANDI ED INDIRIZZAMENTO

Un codice operativo rappresenta una certa operazione che il microcontrollore dovrà interpretare ed eseguire mentre gli operandi rappresentano gli elementi su cui l’operazione andrà ad agire. Riprendendo l’esempio di prima: LD R2, R5 il codice operativo dell’istruzione è LD (Load) mentre R2 e R5 rappresentano gli operandi dell’operazione; in particolare, R2 rappresenta l’operando di destinazione e R5 quello definito sorgente. Il micro interpreta l’istruzione nel seguente modo: carica (LD = Load) nel registro R2 (destinazione) il contenuto del registro R5 (sorgente). In questo caso abbiamo utilizzato come operandi dell’istruzione Load due registri e si parla quindi di indirizzamento registro.

Il kit è disponibile da Futura Elettronica

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ci sono attualmente 9 utenti e 112 visitatori collegati.

Ultimi Commenti