Page 1116 - Informatica dalla A a Z
P. 1116

Indirizzamento diretto (o assoluto): l’operando dell’istruzione è contenuto a partire dalla

           cella di memoria il cui indirizzo è contenuto nel codice dell’istruzione stessa. Il dato è quindi
           una variabile di posizione costante.

           Indirizzamento a regisro indiretto: l’informazione presente nel registro non è l’operando
           ma il suo indirizzo in memoria. Ha il pregio di richiedere pochi bit di istruzione.

           Indirizzamento indiretto: l’operando dell’istruzione è contenuto a partire dalla cella di
           memoria il cui indirizzo è contenuto in un registro puntatore. Il dato è una variabile e la

           sua posizione è variabile proprio perché può variare il contenuto del registro puntatore.

           Il vantaggio di questo tipo di accesso rispetto al precedente è che l’indirizzo del dato non
           è fissato a priori e può cambiare durante l’esecuzione.

           Indirizzamento indicizzato: l’operando dell’istruzione è contenuto a partire dalla cella di
           memoria il cui indirizzo è calcolato dalla somma di due registri in cui il primo è considerato
           puntatore  alla  base  di  un  blocco  di  memoria  mentre  il  secondo  è  considerato
           spiazzamento, cioè spostamento all’interno del blocco di memoria. Il calcolo di questa
           somma tra registri è effettuato internamente, pertanto il dato è una variabile e la sua

           posizione  è  doppiamente  variabile  perché  può  variare  sia  il  contenuto  del  registro
           puntatore sia quello dell’indice.

           Questo metodo di accesso viene usato per accedere agli array.

           Indirizzamento  con  registro  indice:  serve  per  fornire  un  meccanismo  di  accesso  agli
           elementi  di  un  vettore.  Ha  bisogno  di  2  componenti:  l’indirizzo  del  vettore  e  l’indice
           dell’elemento. Inoltre si deve conoscere la lunghezza di ogni elemento, che è uguale per
           tutti.


           Indirizzamento  implicito:  l’operando  non  viene  specificato  in  alcun  modo  in  quanto
           implicitamente dichiarato nel codice operativo dell’istruzione stessa.

           Vediamo ora alcuni esempi di istruzioni Assembly che coprono l’intera gamma dei metodi
           di  indirizzamento.  A  fianco  troviamo  il  metodo  di  indirizzamento  utilizzato,  il  codice
           operativo (espresso in base esadecimale) e la descrizione del comportamento in base ai
           metodi di indirizzamento utilizzati.























                                                           1112
   1111   1112   1113   1114   1115   1116   1117   1118   1119   1120   1121