Einstieg in das Thema
Was brauchst du als Basiswissen?
Du kennst Register, Program Counter, Opcode und Befehlszyklus. Du kannst ein kurzes Programm im Applet schrittweise ausführen.
Worum geht es?
Variablen wirken in einer höheren Programmiersprache wie benannte Behälter. In Maschinensprache müssen Werte ausdrücklich in Register oder an Speicheradressen geladen werden.
Was ist das Ziel?
Du kannst Werte laden, zwischen Registern kopieren und im Arbeitsspeicher ablegen. Du unterscheidest sicher zwischen einem Wert und dem Inhalt einer Speicheradresse.
Erarbeitung
Theorie
Checkliste (für die KI oder den Lehrer)
- 8-Bit-Register speichern Werte von 0 bis 255
- LD kopiert einen Wert; die Quelle bleibt erhalten
- Register A, B und C mit unmittelbaren Werten laden
- Werte zwischen A und B, C, D, E, H oder L kopieren
- Speicher als Folge nummerierter Zellen
- Adresse bezeichnet einen Ort, Inhalt bezeichnet den dort gespeicherten Wert
- Klammern bedeuten Zugriff auf den Inhalt einer Adresse
- Unterschied zwischen LD A,1024 und LD A,(1024)
- LD (1024),A schreibt; LD A,(1024) liest
- 16-Bit-Adressen werden im Maschinencode Little Endian gespeichert
Aufgaben
Die Referenz darf bei allen Aufgaben und später auch in der Prüfung verwendet werden. Es geht um das Verstehen und Anwenden der Befehle.
Zusammenfassung
Was muss man wissen und können?
LD kopiert Werte zwischen Registern und Speicherorten. Ein Registername bezeichnet ein Register. Eine Zahl ohne Klammern ist ein unmittelbarer Wert. Eine Zahl in Klammern bezeichnet den Inhalt dieser Speicheradresse. Adressen bestehen aus 16 Bit und werden im Code als niedriges Byte vor dem hohen Byte gespeichert.
Was können anschließende Themen sein?
Werte nur zu speichern genügt noch nicht. In der nächsten Lektion rechnen und vergleichen wir. Dabei lernen wir auch Statusinformationen kennen, mit denen der Prozessor Entscheidungen vorbereitet.