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).