Estratto del documento

Modi di indirizzamento

Come si apprende già dalla definizione, un algoritmo è una sequenza di passi che porta alla risoluzione di una classe di problemi. Un algoritmo in generale è trasformato in una sequenza di istruzioni, che costituiscono il vero e proprio programma. Ogni programma che si rispetti opera su dei dati e solitamente questi sono registrati in precise zone della memoria, sia essa memoria centrale o di massa.

In particolare, quando parliamo del processore, ci si riferisce o ai registri interni o alla memoria in generale. Con il primo termine, intendiamo spazi di memoria che sono interni al processore e con il secondo, spazi di memoria che non si trovano all'interno del processore.

Dunque, se un programma lavora su dati conservati in memoria, significa che il programma deve avere accesso ad essi. I modi di indirizzamento indicano come la CPU accede agli operandi utilizzati nelle istruzioni del programma, siano essi scritti in registri interni o in memoria, ed hanno la funzione di fornire un indirizzo effettivo per l'operando di un'istruzione.

Tipi di indirizzamento

I modi di indirizzamento sono molteplici, in particolare quelli messi a disposizione dal 68000 e ai quali daremo un’occhiata sono:

  • Indirizzamento immediato
  • Indirizzamento diretto
  • Indirizzamento assoluto
  • Indirizzamento indiretto
  • Predecremento e postincremento
  • Indirizzamento con base

Indirizzamento immediato (Immediate Addressing)

L’indirizzamento immediato si ha quando all’interno di un’istruzione si opera con una costante numerica. È facile riconoscere questo tipo di indirizzamento, in quanto all’interno del codice la costante è preceduta dal simbolo # (cancelletto). Questo tipo di indirizzamento è utilizzato unicamente per gli operandi di tipo sorgente. I numeri vengono automaticamente convertiti da decimale in esadecimale nella fase di memorizzazione. Per specificare una costante direttamente in esadecimale basta aggiungere il simbolo $ davanti alla costante.

Esempio: #12,D0

MOVE.W #12 D0

Questa istruzione ha dunque come effetto quello di muovere il valore 12, ponendolo all’interno del registro D0, memorizzandone il valore mediante la numerazione esadecimale.

Esempio: #$12,D0

MOVE.W #$12 D0

Indirizzamento diretto (Direct Addressing)

L’indirizzamento diretto avviene quando la sorgente e la destinazione di un operando sono entrambi registri. Se il registro funge da sorgente, allora il contenuto di questo registro fornisce l’operando sorgente. Se invece il registro è un operando destinazione, esso viene caricato con il valore specificato dall’istruzione.

Esempio: D0,D1

MOVE.W D0 D1

Anteprima
Vedrai una selezione di 1 pagina su 4
Modi di indirizzamento Pag. 1
1 su 4
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher valeria0186 di informazioni apprese con la frequenza delle lezioni di Calcolatori elettronici I e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof Canonico Roberto.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community