Die Indirekte Adressierung beschreibt den Aufruf einer Adresse über eine andere Adresse. Dadurch kann die Zieladresse zur Laufzeit errechnet werden und muss nicht fest programmiert werden.
Normalerweise ruft man eine Variable über ihren Namen auf. Enthält diese Variable jedoch nicht den gesuchten Wert sondern nur die Adresse des gesuchten Werts, dann liegt eine indirekte Adressierung vor.
Das gleiche Prinzip gilt für die Speicheradresse. Normalerweise bekommt man den Inhalt eines Bytes bzw. Worts durch Angabe einer Adresse. Bei der indirekten Adressierung enthält das Wort jedoch lediglich die Adresse des gesuchten Speicherstelle (Byte oder Wort). Es kommt auch vor, dass die endgültige Adresse sich aus zwei anderen Variablen (z.B. Basisadresse und Index) zusammensetzt. Die finale Adresse ist dann die Summe der beiden Werte.