Zehn interaktive Übungen zu Maschinensprache, Assembler, Hochsprachen und der Geschichte der Sprachen — von AFB I bis AFB III.
Dein Fortschritt:
0 / 0 Aufgaben
1
Übungsaufgaben
Zehn interaktive Übungen zum Klicken, Ziehen und Knobeln — von AFB I bis AFB III. Jede Übung gibt dir sofort Rückmeldung, und nach dem Prüfen erklärt eine kurze Notiz die Lösung.
A1
Was Assembler ausmacht
AFB I
Welche Aussagen über Assembler treffen zu?
Mehrere Antworten sind richtig. Markiere alle zutreffenden und klicke dann auf „Prüfen“.
Assembler ersetzt Bits nur durch Kürzel — es bleibt hardwarenah und prozessorabhängig. Auch die Kürzel müssen noch von einem Übersetzungsprogramm (dem Assembler) in Bitfolgen umgewandelt werden, denn der Prozessor versteht nur Maschinensprache.
A2
Stimmt's? — Fünferserie
AFB I
Fünf Behauptungen über Sprachebenen und Übersetzer.
5 Aussagen nacheinander. Eine falsche Einschätzung reicht — dann startest du die Serie mit „Neue Runde“ neu.
Aussage 1 von 5
Merke die Richtung: Hochsprache → Übersetzer → Maschinencode → Prozessor. Je höher die Sprache, desto mehr Arbeit übernimmt der Übersetzer.
A3
Lückentext: Von unten nach oben
AFB I
Setze die Fachbegriffe ein — ein Wort bleibt übrig.
Wort anklicken, dann Lücke anklicken (oder umgekehrt) — mit Tab und Enter geht es genauso. Ein Klick auf eine gefüllte Lücke legt das Wort zurück.
Ganz unten steht die : Bitfolgen, die der Prozessor direkt ausführt. In schreibt man stattdessen Kürzel wie ADD. Programme in einer wie C oder Python sind viel leichter zu lesen, müssen aber von einem in Maschinencode übertragen werden. Weil Sprachen Ideen voneinander übernehmen, gilt C als Vorfahr von C++, Java und .
„COBOL“ bleibt übrig: COBOL (1959) ist älter als C und gehört nicht zur C-Familie mit geschweiften Klammern und Semikolons.
A4
Welche Sprachebene?
AFB II
Ordne jeden Codeschnipsel der Ebene zu, auf der er geschrieben ist.
Ziehe jede Karte in den passenden Korb — oder wähle sie mit Enter aus und drücke dann die Ziffer des Korbs (0 legt sie zurück).
1Maschinensprache
2Assembler
3Hochsprache
Nur Nullen und Einsen: Maschinensprache. Großgeschriebene Kürzel mit Registern wie AX oder CX: Assembler. Wörter wie print, if oder for mit Variablennamen: Hochsprache.
A5
Assembler lesen
AFB II
In Assembler bedeutet MOV Ziel, Quelle „kopiere Quelle nach Ziel“, ADD Ziel, Quelle „Ziel ← Ziel + Quelle“ und SUB Ziel, Quelle „Ziel ← Ziel − Quelle“. AX und BX sind Register — kleine Speicherplätze im Prozessor.
Assembler (x86, vereinfacht)
MOV AX, 7ADD AX, 5MOV BX, AX
ADD AX, BX
SUB AX, 4
Welcher Wert steht am Ende im Register AX?
Rechne selbst und trage das Ergebnis ein — Enter prüft direkt.
AX = 7, dann 12. MOV BX, AX kopiert 12 nach BX (AX bleibt 12). ADD AX, BX ergibt 24, SUB AX, 4 ergibt 20. Typischer Fehler: MOV als „verschieben“ verstehen und AX danach für leer halten.
A6
Vom Quelltext zum Prozessor
AFB II
Emre hat ein Programm in C geschrieben. Bringe die Stationen in die Reihenfolge, die das Programm bis zur Ausführung durchläuft.
Ziehe die Karten in die richtige Reihenfolge — mit der Tastatur: ↑/↓ verschiebt, Shift+↑/↓ wechselt nur den Fokus.
1Der Maschinencode wird in den Arbeitsspeicher geladen.
2Emre schreibt den Quelltext in der Hochsprache C.
3Der Prozessor führt die Maschinenbefehle nacheinander aus.
4Es entsteht Maschinencode: Bitfolgen für genau diesen Prozessortyp.
5Ein Übersetzer prüft den Quelltext und übersetzt ihn.
Erst Quelltext, dann Übersetzung, dann Maschinencode. Häufiger Fehler: den Prozessor schon vor dem Laden arbeiten lassen — er kann nur Befehle ausführen, die im Arbeitsspeicher liegen.
A7
Mix: Wer schreibt so?
AFB II
Alle fünf Zeilen geben dieselbe Punktzahl p aus — in Sprachen, die du schon kennst. Verbinde jede Zeile mit ihrer Sprache.
Klicke links einen Eintrag an und dann rechts den passenden — es entsteht eine Verbindungslinie. Mit der Tastatur: Enter zum Auswählen, ↑/↓ zum Wandern.
Nur Python kommt ohne Semikolon aus. System.out verrät Java, printf mit Platzhalter %d ist C, der Ausgabestrom std::cout << kam mit C++, und console.log kennst du aus dem Browser.
A8
Eine Schleife in Assembler
AFB III
Assembler kennt keine for-Schleife. Man baut sie mit einem Sprung: DEC CX verringert CX um 1, JNZ nochmal springt zur Marke nochmal, wenn das Ergebnis dabei nicht 0 war.
Rechne die Kette Schritt für Schritt: Erst wenn ein Schritt stimmt, wird der nächste freigeschaltet. Enter prüft.
AX nach dem 1. Durchlauf
CX nach dem 1. Durchlauf
AX am Programmende
AX am Ende, wenn in Zeile 1 MOV CX, 5 steht
ADD AX, AX verdoppelt AX. CX zählt die Durchläufe herunter: 3 → 2 → 1 → 0. Beim dritten DEC wird CX = 0, also springt JNZ nicht mehr. AX: 1 → 2 → 4 → 8. Mit CX = 5 wird fünfmal verdoppelt: 25 = 32. In Python wäre das eine einzige Zeile Schleifenkopf — genau diese Arbeit nimmt dir eine Hochsprache ab.
A9
Fehler im Referat
AFB III
Jonas hat für sein Referat einen Zeitstrahl mit Stichpunkten vorbereitet. Drei Stichpunkte sind falsch.
In diesem Text stecken Fehler. Klicke genau die falschen Zeilen an — die richtigen musst du stehen lassen.
Die häufigsten Irrtümer: Namensähnlichkeit mit Verwandtschaft verwechseln (Java/JavaScript), Firmen vertauschen und glauben, neue Sprachen verdrängen alte vollständig.
A10
Neuer Prozessor — wie viel Arbeit?
AFB III
Ein Wetterprogramm besteht aus 300 Zeilen Standard-C ohne prozessorspezifische Befehle. Der Wetterdienst kauft Rechner mit einem ganz anderen Prozessortyp. Wie viele Zeilen des C-Quelltexts müssen geändert werden, damit das Programm dort läuft?
Schiebe den Regler auf deine Antwort — Pfeiltasten bewegen ihn feiner. Nach dem Prüfen siehst du den Trefferbereich.
0 Zeilen300 Zeilen
Trick: keine einzige. Nicht der Quelltext wird angepasst, sondern man übersetzt ihn mit einem Compiler für den neuen Prozessor neu — es entsteht neuer Maschinencode. Wäre das Programm in Assembler geschrieben, müsste man es dagegen fast vollständig neu schreiben, weil Assembler prozessorabhängig ist.