Adressierungsarten
Adressierungsarten oder Adressierungsmodi bezeichnen in der Informatik die Methode, mit der Operanden von Maschinenbefehlen bestimmt werden. Sie definieren, wo sich der Operand befindet (im Register, im Speicher oder direkt als Konstante) und wie die effektive Adresse berechnet wird. Die Wahl der Adressierungsart beeinflusst Kodierung, Zugriffskosten und Programmierstil.
Typische Adressierungsarten sind:
- Unmittelbare Adressierung (Immediate): Der Operandenwert ist direkt im Befehl enthalten; kein zusätzlicher Speicherzugriff nötig.
- Direkte Adressierung (Direct): Die Anweisung enthält die Speicheradresse des Operanden; der Zugriff erfolgt direkt auf diese
- Indirekte Adressierung (Indirect): Die im Befehl angegebene Adresse verweist auf eine Speicherstelle, die wiederum die Zieladresse
- Registeradressierung (Register): Der Operand befindet sich in einem Register; kein Speicherzugriff erforderlich.
- Registerindirekte Adressierung (Register-indirect): Ein Register enthält die Adresse des Operanden; der Zugriff erfolgt indirekt über dieses
- Basisadressierung (Base addressing) und Indexadressierung (Index addressing): Der Operand wird durch die Kombination aus Basisregister, Indexregister
- Basis-Index-Adressierung (Base-Index) bzw. komplexe Modi: Kombinationen aus Basis-, Index- und ggf. Segment- oder Offsetkomponenten, typisch in
- Relative Adressierung (Relative): Die Zieladresse ergibt sich aus einem relativen Versatz, häufig bei Sprüngen oder Schleifen
- Segmentadressierung (Segment addressing): In segmentierten Speichermodellen wird die Adresse durch Segment- und Offsetbestandteile bestimmt.
Moderne Architekturen kombinieren oft mehrere Modi in einem Befehl, sodass ein Operand auf verschiedene Weise adressiert