Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Maschinensprache (registermaschine) » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 5 Beiträge
eulerscheZahl

Das Ganze wiederholt sich, bis im Akkumulator keine positive Zahl mehr steht.
wemo10

okay also dann

speichert store 0 den wert von subi und
move weist dem IN1 wieder den Wert des Akkumulators zu (den gleichen wie vorher?)
subi 2 zieht diesem wert dann wieder zwei ab und
jump> -6 springt sechs stellen hoch also zu move acc, IN1

und dann?!
eulerscheZahl

Ui, ein neuer Mitstreiter smile
Ist zwar kaum zu erkennen wegen des Bleistifts, aber wemo hat glaube ich schon ungefähr verstanden, wie man vorgehen muss.

Ich habe mal einen Simulator zusammengetippt, das ist der Programmablauf:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
pc=1 (MOVE), acc=4, in1=0, in2=0, mem=(0=4)
pc=2 (LOAD), acc=4, in1=4, in2=0, mem=(0=4)
pc=3 (SUBI), acc=4, in1=4, in2=0, mem=(0=4)
pc=4 (STORE), acc=3, in1=4, in2=0, mem=(0=4)
pc=5 (MOVE), acc=3, in1=4, in2=0, mem=(0=3)
pc=6 (SUBI), acc=4, in1=4, in2=0, mem=(0=3)
pc=7 (JUMP), acc=2, in1=4, in2=0, mem=(0=3)
pc=1 (MOVE), acc=2, in1=4, in2=0, mem=(0=3)
pc=2 (LOAD), acc=2, in1=2, in2=0, mem=(0=3)
pc=3 (SUBI), acc=3, in1=2, in2=0, mem=(0=3)
pc=4 (STORE), acc=2, in1=2, in2=0, mem=(0=3)
pc=5 (MOVE), acc=2, in1=2, in2=0, mem=(0=2)
pc=6 (SUBI), acc=2, in1=2, in2=0, mem=(0=2)
pc=7 (JUMP), acc=0, in1=2, in2=0, mem=(0=2)
pc=8 (ENDE), acc=0, in1=2, in2=0, mem=(0=2)


Mit sowas lernt man nach meiner Erfahrung am besten umzugehen, wenn man sich einfach ein kleines Programm schreibt um damit etwas zu berechnen, z.B. die Summe aller Zahlen von 1 bis 10.

Im Anhang ist mein Simulator, falls du damit rumspielen willst.

Dateianhang:
zip simulator.zip (5,24 KB, 401 mal heruntergeladen)
Gramo

Bei diesem Maschinenmodell existieren insgesamt 4 Register: Program Counter (Befehlszähler) PC, Akkumulator ACC, sowie die beiden Indexregister IN1 und IN2. Der Befehlszähler PC zeigt auf die Speicheradresse des derzeitigen bzw. nächsten auszuführenden Befehls. Weiterhin können Speicherstellen S0..Sn angesprochen werden.

Du musst den Programmablauf Schritt für Schritt durchgehen.

code:
1:
LOAD 0
Lädt den Akkumulator ACC mit dem Inhalt der Speicherstelle 0

code:
1:
MOVE ACC, IN1
Dem Indexregister IN1 wird der Wert des Akkumulators ACC zugewiesen.

code:
1:
LOAD 0
Lädt ACC erneut.

code:
1:
SUBI 1
Subrahiert 1 von Inhalt des Akkumulators.



Versuch jetzt mal die restlichen Befehle zu deuten.
wemo10 Maschinensprache (registermaschine)

Meine Frage:
Hey ich hab bald eine Klausur und unterem ist eines der Teilgebiete Maschinensprache. ich verstehe allerdings nur Bahnhof und weiß beim besten willen nicht wie ich diese art von aufgaben angehen geschweige denn lösen soll.
Hilfe!

Meine Ideen:
Ich hab leider so gar keine und ich werde so langsam panisch....

wemo10 hat dieses Bild (verkleinerte Version) angehängt:
11088250_1046629868698073_104299928_n.jpg