Information Technology Reference
In-Depth Information
stante, entsprechend der Breite des Zugriffs genutzt, also 1, 2, 4 oder 8 bei Byte-,
Halbwort-, Wort- oder Langwortzugriffen [124]. Zur Definition eines Sprungziels
sind modifizierende Adressierungsarten nicht erlaubt.
Daten
a) Prämodifizierende indirekte Adressierung
Befehle
Datum
PC
Befehl
Register
Skalierungsfaktor
Daten
b) Postmodifizierende indirekte Adressierung
Befehle
Datum
PC
Befehl
Register
Skalierungsfaktor
Bild 1.12. Modifizierende indirekte Adressierungsarten. Vor oder nach dem Zugriff wird der Inhalt
eines Registers durch Addition oder Subtraktion mit einer Konstanten oder dem Inhalt eines ska-
lierten Registers modifiziert
Beispiel 1.7. Programmierung eines Stapels . Die modifizierenden indirekten Adressierungsarten
lassen sich z.B. nutzen, um einen Stapel zu realisieren: Ein in einem Register gespeicherter Stapel-
zeiger verweist jeweils auf das obere Ende eines zu niedrigen Adressen wachsenden Stapels. Immer
wenn ein Eintrag auf dem Stapel abgelegt werden muss, wird der Inhalt des Stapelzeigers zunächst
entsprechend des benötigten Speicherplatzes dekrementiert - also Speicher reserviert - und
anschließend der Eintrag indirekt zum Stapelzeiger in den Datenspeicherraum geschrieben. Diese
beiden Schritte lassen sich mit der prämodifizierenden indirekten Adressierung sowie der einfache-
ren Prädekrementierung, wie sie im ColdFire MFC5206 verfügbar ist, vereinen.
Soll umgekehrt ein Eintrag vom Stapel gelesen und entfernt werden, so geschieht dies, indem
zunächst auf den Eintrag indirekt zum Stapelzeiger zugegriffen (der Stapelzeiger verweist immer
auf den obersten Eintrag des Stapels) und der reservierte Speicher auf dem Stapel anschließend
durch Inkrementierung des Stapelzeigers entsprechend der Breite des gelesenen Eintrags freigege-
ben wird. Diese Aktionen sind ebenfalls in einem Schritt durchführbar, wenn man die postmodifi-
zierende indirekte Adressierung oder einfacher die Postinkrementierung nutzt.
Modifizierende Moduloadressierung
Die in Spezialprozessoren, z.B. den Signalprozessoren , erlaubte prä- oder postmodi-
fizierende Moduloadressierung vereinfacht die Realisierung sog. Ringpuffer ( first-
in, first-out ; fifo ), das sind Zwischenspeicher, in denen Daten eingeschrieben und
entsprechend der Schreibreihenfolge wieder ausgelesen werden können. Bei der
modifizierenden Moduloadressierung wird zunächst vor oder nach einem indirekten
Zugriff der Inhalt des verwendeten Indexregisters durch Addition oder Subtraktion
modifiziert. Falls dabei eine effektive Adresse generiert wird, die außerhalb des für
den Ringpuffer zur Verfügung stehenden Speicherbereichs liegt, findet ein Umbruch
 
Search WWH ::




Custom Search