i

Zusammenfassung - JOHNNY-Maschinensprache

Auswahl von Makrobefehlen bei JOHNNY[1]
Fassen wir die JOHNNY-Assembler-Befehle noch einmal systematisch zusammen. Wir können dabei drei Gruppen von Befehlen ausmachen:
  • Befehle, die nur Daten transportieren (Transportbefehle)
  • Befehle, die (auch) Rechenoperationen ausführen (Rechenbefehle)
  • Befehle, die den Ablauf des Programms steuern (Programmablauf-Befehle)

Transportbefehle

Assembler-BefehlFunktion
TAKE AdresseTransportiert die Zahl aus der angegebenen Adresse in den Akkumulator des Rechenwerks
SAVE AdresseTransportiert die Zahl aus dem Akkumulators des Rechenwerks zur angegebenen Adresse

Rechenbefehle

Assembler-BefehlFunktion
ADD AdresseAddiert die Zahl aus der angegebenen Adresse zum Akkumulator des Rechenwerks
Besonders bei JOHNNY: Wäre das Ergebnis größer als 19999, so wird es auf 19999 gesetzt.
SUB AdresseSubtrahiert die Zahl aus der angegebenen Adresse vom Akkumulator des Rechenwerks
Besonders bei JOHNNY: Wäre das Ergebnis kleiner als 0, so wird es auf 0 gesetzt.
INC AdresseErhöht die Zahl an der entsprechenden Adresse um 1
Besonders bei JOHNNY: Wäre das Ergebnis größer als 19999, so wird es auf 19999 gesetzt.
DEC AdresseErniedrigt die Zahl an der entsprechenden Adresse um 1
Besonders bei JOHNNY: Wäre das Ergebnis kleiner als 0, so wird es auf 0 gesetzt.
NULL AdresseSetzt die Zahl an der entsprechenden Adresse auf den Wert 0

Programmablauf-Befehle

Assembler-BefehlFunktion
JMP AdresseSetzt das Programm an der angegebenen Adresse fort
TST AdresseTestet die Zahl bei der angegebenen Adresse.
  • Ist die Zahl nicht 0, tut der Befehl selbst fast gar nichts, sondern es wird einfach zum nächsten Befehl weitergegangen.
  • Ist die Zahl hingegen 0, wird im weiteren Verlauf des Programms der nächste (also der auf den TST-Befehl folgende) Befehl übersprungen.
HLT AdresseDas Programm hält definiert an. Die angegebene Adresse ist vollkommen unerheblich.

Quellen

Suche

12.4.4.3
https://dev.inf-schule.de/rechner/johnny/spruenge/zusammenfassung_johnny_asm
https://dev.inf-schule.de/12.4.4.3
https://dev.inf-schule.de/@/page/nxqaRjIHqa9viETy

Rückmeldung geben