Indirizzamento indiretto

Nell’indirizzamento indiretto, l’operando è composto da due parti. La prima costituisce l’identificatore dell’operando (E, A, M, MB, EB, AB, MW, ecc.), e specifica l’area dell’operando che l’operazione andrà ad utilizzare. La seconda parte specifica, tra parentesi quadre, la merker word o data word che contiene l’esatto indirizzo di bit, byte, word o doppia word all’interno dell’area prescelta.

Ad esempio nel seguente programma:

L     +6

T     MW100

L     MW[MW100]

le prime due istruzioni assegnano alla MW100 il valore 6; la terza istruzione carica in accumulatore il valore della merker word puntata dalla MW100, cioè la MW6. Variando il contenuto della MW100 è possibile caricare in accumulatore il contenuto di merker word diverse, ogni volta quella puntata dalla MW100.

Se nell’indirizzamento indiretto di variabili a più bit è sufficiente utilizzare un puntatore a 16 bit, per l’indirizzamento indiretto di variabili a singolo bit è invece necessario utilizzare puntatori a 32 bit. I 3 bit meno significativi costituiranno l’indirizzo di bit, mentre i bit dalla posizione 3 alla 18 verranno interpretati come indirizzo di byte.

Per esempio il programma:

L     2#0000_0000_0000_0000_0000_0000_0000_1011

T     MD44

U     E[MD44]

consente di testare il valore del bit 3 (011 come bit meno significativi) del modulo di ingressi digitali 1 (valore dei bit dal 3 al 18 dell’accumulatore 1).

^