header.self8051
Suche   ||   HOME   ||   Eigenschaften   ||   Befehlsreferenz   ||   Derivate   ||  
 Eigenschaften
 Befehlsreferenz
    > Einführung
        Aufschlüsselung
       > Adressierungsarten
     alle Befehle
 Derivate
 interessante Links
Sie sind hier: SELF8051 || Befehlsreferenz || Einführung || Adressierungsarten

Adressierungsarten


Der 8051-Mikrocontroller beherscht fünf Adressierungsarten:
 

> Register-Adressierung
> Direkte Adressierung
> Registerindirekte Adressierung
> Unmittelbare Adressierung
> Indirekte Adressierung durch Basisregister plus Indexregister

 

 

Adressierungsarten und zugehörige Speicherbereiche

Register-Adressierung
R0 .. R7
ACC,  B,  CY (Bit),  DPTR

Direkte Adressierung
128 Bytes des internen RAM
spezielle Funktionsregisster

Registerindirekte Adressierung
internes RAM (@R1,  @R0,  @SP)
externer Datenspeicher (@R1,  @R0,  @DPTR)

Unmittelbare Adressierung
Programmspeicher

Indirekte Adressierung durch Basisregister plus Indexregister
Programmspeicher (@DPTR+A,  @PC+A)

 

Register-Adressierung

Die Register-Adressierung erlaubt den Zugriff auf 8 Register (R0 .. R7) der gewählten Registerbank. Die unteren 3 Bits im Operationscode des Befehls geben an, welches Register verwendet werden soll. ACC,  B,  DPTR  und CY (Akkumulator des Booleschen Prozessors) können ebenfalls als Register adressiert werden.

 

 

Direkte Adressierung

Die direkte Adressierung stellt die einzige Methode dar, auf die speziellen Funktionsregister zuzugreifen. Die 128 Bytes des internen RAMs sind ebenfalls direkt adressierbar.

 

Registerindirekte Adressierung


Bei der registerindirekten Adressierung wird der Inhalt von R0 oder R1 (in der gewählten Registerbank) als Zeiger auf Speicherplätze in einem Block von maximal 256 Bytes verwendet. Hierbei kann es sich entweder um 128 Bytes des internen RAM oder um die unteren 256 Bytes des externen Datenspeichers handeln. Man beachte, dass auf die speziellen Funktionsregister mit dieser Adressierungsart nicht zugreiffen kann. Der Zugriff auf den gesamten externen 64kByte-Datenspeicher-Bereich erfolgt über den 16bit-Datenzeiger.

Bei der Ausführung der Befehle PUSH und POP wird ebenfalls die registerindirekte Adressierung verwendet. Der Stack kann an beliebiger Stelle im interen RAM untergebracht werden.

 

 

Unmittelbare Adressierung

Die unmittelbare Adressierung erlaubt den Zugriff auf Konstanten, die Teil des Operationscodes eines Befehls sind, im Programmspeicher.

 

Indirekte Adressierung durch Basisregister plus Indexregister

Diese Adressierungsart gestattet den Zugriff auf ein Byte im Programmspeicher über eine Adressdistanz aus einem Speicherplatz, dessen Adresse die Summe eines Basisregister-Inhalts (DPTR oder PC) und des Indexregister-Inhalts (ACC) ist. Sie erleichtert den Zugriff auf Nachschlagetabellen.
 

Fehler auf dieser Seite melden



 

Seite drucken

Send a Friend

 
 zum Seitenanfang   © Autor Dipl. Ing. Sven Pohl || Impressum || Datenschutz


Tipp: rechtssichere Patientenverfügung einfach online erstellen für nur 14,90 €

  

 

Wertschätzen Sie den Aufwand und den Inhalt mit einer kleinen Spende. Danke.

Sie bestimmen die Höhe, jeder noch so kleine Betrag hilft.

 

   
HASM - Skyscrapper 1