Zum Inhalt springen

Informatik · Klasse 10–13 · aktualisiert

Maschinenbefehl: Aufbau und Ausführung erklärt

Du lernst, wie ein Prozessor Befehle ausführt, wie du ihre Teile erkennst und wie Befehle gespeicherte Werte verändern.

0 von 9 Aufgaben gelöst

Maschinenbefehl: Aufbau und Ausführung erklärt

Kurz gesagt

Ein Maschinenbefehl ist eine Anweisung in einem Zahlencode, die ein passender Prozessor direkt ausführen kann. Er legt fest, was der Prozessor tun soll, etwa einen Wert kopieren oder zwei Werte addieren.

Ein Programm kann aus vielen kleinen Befehlen bestehen. An einer Addition verfolgst du, wo Werte gespeichert werden und welcher Befehl sie ändert. Danach vergleichst du eine gut lesbare Programmiersprache mit der Darstellung für den Prozessor.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Termi das Ziel für dich ab.

4 Abschnitte

Ein Prozessor ist die Recheneinheit eines Computers. Er wird auch CPU genannt. Das Kürzel kommt von „Central Processing Unit“, auf Deutsch „zentrale Verarbeitungseinheit“. Ein Maschinenbefehl gibt ihm eine einzelne Anweisung in einem Zahlencode.

Die Menge der Befehle, die ein Prozessor versteht, heißt Befehlssatz. Ein Maschinenprogramm besteht aus solchen codierten Befehlen. Seine Zahlencodes heißen zusammen Maschinencode. Dieser muss zur CPU passen. Untereinander kompatible CPUs verstehen die dafür benötigten Befehle und können denselben passenden Maschinencode ausführen.

In unserem einfachen Modell liegen die Befehle im Hauptspeicher, dem Arbeitsspeicher des Computers. Die CPU liest einen Befehl, erkennt die angegebene Tätigkeit und führt sie aus. In den hier betrachteten Befehlsfolgen kommt danach der nächste Befehl an die Reihe. Werte kann die CPU dabei in Registern speichern. Ein Register ist ein Speicherplatz innerhalb der CPU.

Definition

Maschinenbefehl

Ein Maschinenbefehl ist eine durch Zahlen dargestellte Einzelanweisung aus dem Befehlssatz einer CPU.

Merke: Ein Befehl beschreibt eine Tätigkeit. Ein Register ist dagegen ein Speicherplatz für Werte. Der Befehlssatz umfasst die Befehle, die eine CPU versteht.

Teste dich

LeichtWas bezeichnet ein Maschinenbefehl?

Alles auf einen Blick

Maschinenbefehl

  • Befehl

    Ein Maschinenbefehl ist eine codierte Einzelanweisung und muss zur CPU passen.

  • Aufbau

    Der Opcode legt die Tätigkeit fest; vorhandene Operanden nennen Werte oder Speicherorte.

  • Befehlsname

    Eine Mnemonik wie mov ist ein lesbarer Name. Bei x86 kann der genaue Opcode auch von den Operanden abhängen.

  • Kopieren

    mov kopiert im Lehrmodell den Quellwert ins Ziel und erhält den Quellwert.

  • Rechnen

    In der gezeigten Folge schreibt add die Summe nach EAX. Erst mov c, eax schreibt sie nach c.

  • Darstellungen

    Hochsprache beschreibt Rechnungen mit Ausdrücken, Assemblersprache nutzt lesbare Befehle und Maschinencode enthält passende Zahlencodes.

Musteraufgabe · Schritt für Schritt

Eine Summe mit Registerbefehlen berechnen (ausgedachtes Beispiel)

  1. 1Im Lehrmodell soll c die Summe aus a und b erhalten. Anfangs enthält a den Wert 18, b den Wert 7 und c den Wert 4. EAX und ECX enthalten jeweils 0.
  2. 2mov eax, a → EAX enthält 18; a bleibt bei 18.
  3. 3mov ecx, b → ECX enthält 7; b bleibt bei 7.
  4. 4add eax, ecx → EAX enthält die Summe 25. ECX bleibt bei 7 und c bleibt bei 4.
  5. 5mov c, eax → c enthält 25. EAX enthält weiterhin 25; a bleibt bei 18 und b bei 7.

Fehler finden

Prüfe die Befehlsfolge für a, b und c In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

Beim ausgedachten Bonsai-Zahlencode 10048 besteht die Adresse aus den letzten vier Stellen; der Adressteil lautet . In einem ausgedachten Fall enthält a vor „mov eax, a“ den Wert 4 und EAX den Wert 9; nach dem Kopieren enthält a weiterhin . In einem weiteren Fall enthält EAX vor „add eax, ecx“ den Wert 6 und ECX den Wert 11; danach enthält EAX .

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: Maschinenbefehl

LeichtEin ausgedachtes C-Programm enthält „gesamt = menge + zugabe;“. Die Wörter darin sind Variablennamen. Welcher Darstellung ist diese Zeile hier zugeordnet?
MittelEin ausgedachter Befehl im Lehrmodell lautet „mov ecx, 9“. Welche Rolle hat die 9?
SchwerAusgedachter Fall im Lehrmodell: a enthält 7, b enthält 15 und c enthält 2. Nacheinander folgen „mov eax, a“, „mov ecx, b“, „add eax, ecx“, „mov c, eax“ und „mov eax, b“. Welche Werte haben EAX und c am Ende?

Weiterlesen in Informatik