Assembler - Steuerung


Es ist nicht möglich, den gesamten Assembler zu beschreiben, wir wollen uns deshalb nur auf ein paar Steuerungen konzentrieren.
Das ist wichtig, da damit genaue Programmstrukturen verbunden sind, die man als Programmierer kennen und dann anweisen muss. Diese Strukturen sind zum großen Teil als Anpassung an Programme in Hochsprachen gemacht worden, diese verlangen genau definierte Programmstrukturen und damit man nicht alles "zu Fuss" definieren muss, gibt es vordefinierte Modelle. Es geht natürlich auch zu "Fuss", ist aber sehr aufwendig.

Diese Art der Vereinbarungen habe die Bezeichnung,
Segment-Direktiven.
Wie schon gesagt, gibt es dazu zwei Möglichkeiten:

  1. vereinfachte, vordefinierte Segment-Direktiven
  2. ausführliche Segment-Direktiven

Wir wollen die vereinfachten Direktiven nur nennen und an den Beispielen uns nur auf eine konzentrieren
Die einfachen sind:
   
   
     

Die Direktiven müssen im Assembler gesetzt werden.
Alle Direktiven beginnen im Assembler-Programm mit einem ".", und dem Befehl "MODEL". Mit einer weiteren Direktive wird die letzte geschlossen. Am Ende des Programms folgt der Befehl END (ohne Punkt), damit werden die Direktiven und die Segmente geschlossen.
Ein Programm sieht dann etwa wie folgt aus:

.MODEL SMALL
.CODE
-
(Befehl i)
-
END

Beim Code-Segment kann auch noch die Verbindung zur Hochsprache festgelegt werden, z.B. die Verbindung zur Programmiersprache C:
    .MODEL SMALL, C

Wir wollen aber nicht verschweigen, dass auch die Anzahl der Assemblerbefehle gestiegen ist, die natürlich die Programmierung wesentlich erleichtern.

Befehle (Prozessor-Befehle)

Der Aufbau von Befehlen zur Nutzung des Prozessor ist sehr komplex, wir wollen deshalb nur zunächst ein paar Grundsätze klären.
Grundsätzlich gilt:

Befehl Ziel Quelle

z.B. MOV AH,AL
das ist ein 8Bit-Transport-Befehl, es wird der Inhalt von AL nach AH transportiert.

Der Befehl: MOV AH,CX ist falsch, es können nicht 16Bit auf 8Bit gespeichert werden.
So gibt es viele Regeln, die wir teils an den Beispielen beschreiben wollen.
Es gibt auch wieder wie bei "ERNA" Konstanten-Befehle, allerdings unterscheiden wir hier auch in Byte (8Bit) und Wort (16Bit). Die Angabe der Konstanten ist sehr flexibel, das geht dual, oktal, dezimal und hexadezimal.

Bevor es losgeht mit der Programmiererei sollte man noch ein Blick auf die dazu geschaffene Bedienoberfläche werfen, man braucht sie nicht, sie erleichtert aber das Aufrufen der einzelnen Komponenten.

zurück zur Start-Seite   /   weiter Bedienoberfläche