Stavo studiando il metodo di indirizzamento indicizzato con registro indice, e faceva il seguente esempio in assembly:

ADD 1050(R1), R2

L'indirizzamento indicizzato con registro indice non dovrebbe essere un indirizzamento a spaziamento (o offset) in cui lo spaziamento è salvato in un registro mentre la base è scritta direttamente nell'istruzione?

Dunque nell'istruzione di sopra:

ADD è il codice operativo;

1050 sarà la base;

R2, sarà l'offset?

E r1 tra parentesi tonde cosa dovrebbe essere? ovvero 1050(R1) ? un registro segnato cosi tra parentesi tonde dovrebbe significare che si parla di un indirizzo no? e quindi quella dicitura che significa?

Inoltre si parlava di indirizzamento mediante modo e registro, in cui compaiono due pezzi:

Uno il codice operativo ed accanto il modo.

Dice che il codice operativo è formato a sua volta dei flag D e W ed il campo mode è formato dai regitri MOD, REG e R/M

Sinceramente non ho capito bene cosa significassero i vari registri.

Se avete qualche guida o simili da linkare, o avete voglia di scrivermi voi una breve spiegazione ve ne sarei grato