Einstieg in das Thema
Worum geht es?
In der Prüfung untersuchst, ergänzt und verbesserst du Programme. Du entwickelst außerdem kleine eigene Programme. Die Befehlsreferenz darfst du dabei verwenden; Befehle auswendig zu lernen ist nicht das Ziel.
Was ist das Ziel?
Du kannst Register- und Speicherzustände verfolgen, Fehler begründet korrigieren und bekannte Programmierideen in kurze Z80-Programme übertragen.
Erarbeitung
Block
Stufe 2 – Beispiel mit Lösung
Untersuche das Programm. Es soll A von 3 bis 0 herunterzählen, läuft aber nicht wie beabsichtigt.
Lösung: Nach dem ersten `DEC A` enthält A den Wert 2. Das Zero-Flag ist nicht gesetzt, daher springt `JR Z,2` nicht zurück. Richtig ist `JR NZ,2`. Dann wird zurückgesprungen, solange A noch nicht 0 ist.
Stufe 2 – Zweites Beispiel mit Lösung
Bestimme A, B und Speicherzelle 1024 am Ende.
Lösung: B erhält eine Kopie der 7. Danach wird B zu A addiert, also enthält A zunächst 14. Dieser Wert wird in Speicherzelle 1024 geschrieben. Die letzte Zeile setzt nur A auf 0. Am Ende gilt: A=0, B=7 und Speicherzelle 1024 enthält 14.
Stufe 2 – Aufgaben ohne Lösung
Stufe 3 – Beispiel mit Lösung
Entwickle ein Programm, das den Wert aus Speicherzelle 1024 liest, 5 addiert, das Ergebnis in Speicherzelle 1025 schreibt und danach anhält.
Lösung: Zuerst wird der Inhalt der Quelladresse geladen. Die Addition verändert A. Anschließend wird A an der Zieladresse gespeichert.
Stufe 3 – Zweites Beispiel mit Lösung
Entwickle eine Schleife, die A von 4 bis 0 herunterzählt.
Lösung: `DEC A` verändert den Zähler. Solange das Ergebnis nicht 0 ist, springt `JR NZ` zurück zur Adresse 2. Bei 0 wird HALT erreicht.
Stufe 3 – Aufgaben ohne Lösung
Zusammenfassung
Checkliste
- Prozessor, Speicher, Register und Program Counter erklären
- Opcode, Wertebytes und Adressbytes unterscheiden
- Werte mit LD kopieren sowie Klammern bei Speicherzugriffen beachten
- Little Endian bei 16-Bit-Adressen erkennen
- ADD, INC, DEC und 8-Bit-Überlauf verfolgen
- CP und Zero-Flag erklären
- absolute und relative Sprünge unterscheiden
- Z und NZ korrekt verwenden
- Verzweigungen und Zählschleifen nachvollziehen
- Fehler systematisch mit Step eingrenzen
Plane bei eigenen Programmen zuerst Registerbelegung, Speicheradressen und Programmwege. Prüfe anschließend im Einzelschritt, ob PC, Register und Speicher nach jedem Befehl den erwarteten Zustand besitzen.