Knobeln mit Registerschieberei

Thorben hat mir schon vorgestern eine kleine Aufgabe aus seiner Uni weitergereicht. Wir sind zu dem Schluss gekommen, dass die Aufgabe nicht lösbar ist. Vielleicht sind wir aber auch nur zu starr in unseren Gedankengängen und denken nicht um genügend Ecken.

Hier die Aufgabe:

Es gibt 4 Register. Dabei soll Register 0 als Zeiger auf die aktuelle Instruktion im Speicher dienen. Befehle sind immer 3 Felder im Speicher lang: Instruktion, Param1, Param2.

Dann gibt es vier Instruktionen:

  1. Packe Zahl n in Register m
  2. Packe Zahl aus Register n in Register m
  3. Lese Zahl aus dem Speicher und zwar von der Adresse, die in Register n steht und schreibe diese Zahl in Register m.
  4. Schreibe die Zahl aus Register n in den Speicher. Und zwar an die Adresse, die in Register m steht.

Schreibe ein Programm in dieser Maschinensprache, das davon ausgeht, dass in Register 1 und Register 2 zu Beginn zwei Speicheradressen stehen. Vertausche den Inhalt der Speicherzellen.

Viel Spaß damit, hehe.

No Response so far »

Comment RSS · TrackBack URI

Say your words