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 di memoria, o alla memoria in generale, volendo intendere con il primo termine, spazi di memoria che sono interni al processore, 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 e i modi di indirizzamento indicano come la CPU accede agli operandi utilizzati nelle istruzioni del programma, 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.

#{$}12,D0
MOVE.W #{$}12, D0
Questa operazione MOVE ha lo stesso effetto della precedente, la differenza sta nel fatto che in questo caso la costante viene espressa direttamente mediante la numerazione esadecimale e pertanto nella fase di memorizzazione non necessita di essere convertita.

Indirizzamento diretto (Direct Addressing)

L’indirizzamento diretto avviene quando la sorgente e la destinazione di un operando sono ambo registri. Se il registro funge da sorgente allora il contenuto di questo registro fornisce l’operando sorgente, se invece...

Anteprima
Vedrai una selezione di 1 pagina su 4
Calcolatori Elettronici I – 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 flaviael 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 Casola Valentina.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community