Namenskonventionen und Registerbeschreibung
8086 Assembler


Zurück zur Assemblerauswahlseite

Namenskonventionen
für die Quellenprogramme

Ein Name ist eine Abfolge von Zeichen bestehend aus Buchstaben, Ziffern und den folgenden Sonderzeichen: Unterstrich (_), Prozentzeichen (%), Fragezeichen (?), Dollarzeichen ($), dem at-Zeichen bzw. Klammeraffen (@) und dem Punkt (.). Folgende Regeln gelten:
  • Ein Name darf nicht mit einer Ziffer beginnen. Ziffern dürfen jedoch an anderen Stellen des Namens enthalten sein. (sym1 ist ein zulässiger Name, 1sym ist ein nicht zulässiger Name).
  • Ein Name darf mit einem Punkt beginnen. Ein Punkt an anderer Stelle ist nicht zulässig. (.sym1 ist ein zulässiger Name, sym.1 ist ein nicht zulässiger Name).
  • Ein Name darf nicht einem reservierten Wort oder einem reservierten Symbol entsprechen. Beispielsweise sind nicht zulässige Namen: AX, ?, $, mov und PAGE.

Registerbeschreibung

Datenregister Zeiger- und
Indexregister
AX Akkumulator SP Stackpointer
AH AL   BP Basepointer
BX Base
Adressierung
SI Sourceindex
BH BL   DI Destinationindex
CX Counter
(Schleifen)
Segmentregister
CH CL   CS Codesegment
DX Data DS Datasegment
DH DL (Portadressierung) SS Stacksegment
      ES Extrasegment
Kontrollregister    
IP Instruction Pointer    
Flags Process Status Word    

Process Status Word beim 8086
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
        OF DF IF TF SF ZF - AF - PF - CF
Process Status Word beim 80286
    NT I/O OF DF IF TF SF ZF - AF - PF - CF
CF Carry Flag Übertragskennzeichen (Statusflag)
Wird auch als Borrow bezeichnet.
PF Parity Flag Paritätskennzeichen (Statusflag)
1=gerade Anzahl 1er-bits im Ergebnis.
AF Auxiliary Flag Hilfsübertragungskennzeichen (Statusflag)
für AL, bezieht sich auf den Übertrag vom niederwertigen Halbbyte.
ZF Zero Flag Nullkennzeichen (Statusflag)
SF Sign Flag Vorzeichenbit (Statusflag)
1=Ergebnis der Integerberechnung ist negativ.
TF Trap Flag Einzelschrittkennzeichen (Steuerungsflag)
für Fehlersuche (Debugging).
IF Interrupt enable Flag Unterbrechungsfreigabekennzeichen (Steuerungflag)
1=Interrupt enabled
DF Direction Flag Richtungskennzeichen (Steuerungsflag)
1=Stringbefehl arbeitet von hoher Adresse zur niedrigen.
0=Stringbefehl arbeitet von niedriger Adresse zur hohen.
OF Overflow Flag Überlaufkennzeichen (Statusflag)
für vorzeichenbehaftete Operationen.
1=es trat Überlauf (Carry) oder Ausleihen (Borrow) auf. Das Ergebnis ist zu groß oder zu klein.
80286 im Protected Mode:
I/O I/O Privilege Level Maximale Zugriffsrechte für E/A Operationen
NT Nested Task Kennzeichen für verschachtelte Tasks

Allgemeine Register

AX und DX sind Register für allgemeine Aufgaben. Sie werden zu Spezialregistern, wenn es um den Zugriff auf Maschinen- und Systemschnittstellen geht (BIOS-Funktionen und INT 21h- Aufrufe). Das AX-Register ist besonders für arithmetische Aufgaben geeignet, denn einige der arithmetischen Operationen des Befehlssatzes laufen ausschließlich über das AX-Register. AX bzw. AL hat deshalb den Spitznamen "Akku" erhalten. Weiterhin laufen die Daten der Ein-/Ausgabeoperationen IN und OUT über das AX- bzw. AL-Register.

BX ist ein Register für allgemeine Aufgaben. Es hat eine Sonderfunktion bei der Adressierung.

CX ist ein Register für allgemeine Aufgaben. Es hat bei einigen Befehlen die Sonderfunktion des Zählers (z.B. als Schleifen- oder Wiederholungszähler).

DX ist ein Register für allgemeine Aufgaben. Es verlängert bei einige arithmetischen Operartionen das AX-Register. Bei den Ein-/Ausgabeoperationen IN und OUT kann es zur Angabe der Portadressen verwendet werden.

AX, BX, CX und DX können in die Hälften AH, AL, BH, BL, CH, CL, DH und DL unterteilt und als solche verwendet werden.

SI und DI sind nur 16-bit-Register verwendbar . Sie können (wie auch BX) zur Indexadressierung genutzt werden. Hauptsächlich werden sie als Stringpointer (Zeiger auf Zeichenketten) genutzt.

SP dient als Zeiger auf den Stack.

BP ist manipulierbar, und somit ein Verwandter von SP. Er hilft, auf Daten zuzugreifen, die im Stack abgelegt sind.

Die meisten 16-bit-Befehle können auf die Register SI, DI, SP oder BP angewendet werden.

Seite zuletzt geändert am 7.5.2007