Minimalmaschine Moduloberechnung?

1 Antwort

Soweit ich das verstehe folgende Nomenklatur:

<Bezeichner>: <Datentyp> <Initialwert>

zur deklarierung von Speicherbereichen oder auch zum setzen von Sprungmarken.

LDC <Wert>

Zum Laden eines Wertes in den Akkumulator.

STV <Bezeichner>

Speichern des Wertes im Akkumulator in den Speicherbereich mit dem gegebenem Bezeichner.

NOT

Bitweises negieren des Wertes im Akkumulator.

ADD <Bezeichner>

Addieren des Wertes im Speicherbereich des gegebenen Bezeichners zum Akkumulator.

LDV <Bezeichner>

Laden des Wertes vom Speicherbereich des gegebenen Bezeichners in den Akkumulator.

JMN <Bezeichner>

Wenn der Wert im Akkumulator negativ ist wird zum Code an der Stelle gesprungen, die durch den Bezeichner bezeichnet wird.

JMP <Bezeichner>

Es wird zum Code an der Stelle gesprungen, die durch den Bezeichner bezeichnet wird.

HALT

Beendet die Ausführung des Programms.

Zum Programm:

Es wird solange zwei vom gegebenem Wert abgezogen, bis der Wert im Akkumulator negativ wird.

Ist das der Fall, wird einmal 2 addiert, um das Ergebnis zu erhalten, den Rest, der nicht durch 2 teilbar war (kleiner als zwei war) und somit zu einem negativem Ergebnis bei der Subtraktion führte.

Speedefix 
Fragesteller
 29.12.2022, 12:59

Das hat mir geholfen, Ich Danke dir vielmals

Die Bedeutungen hast du alle richtig interpretiert

1