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

Informatiker Board » Themengebiete » Theoretische Informatik » Maschinensprache (registermaschine) » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Maschinensprache (registermaschine)
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
wemo10
Grünschnabel


Dabei seit: 26.03.2015
Beiträge: 2

Maschinensprache (registermaschine) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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

26.03.2015 13:42 wemo10 ist offline E-Mail an wemo10 senden Beiträge von wemo10 suchen Nehmen Sie wemo10 in Ihre Freundesliste auf
Gramo
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.
26.03.2015 15:11
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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, 404 mal heruntergeladen)


__________________
Syntax Highlighting fürs Board (Link)
26.03.2015 16:07 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
wemo10
Grünschnabel


Dabei seit: 26.03.2015
Beiträge: 2

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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?!

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von wemo10: 27.03.2015 10:45.

27.03.2015 10:40 wemo10 ist offline E-Mail an wemo10 senden Beiträge von wemo10 suchen Nehmen Sie wemo10 in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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

__________________
Syntax Highlighting fürs Board (Link)
27.03.2015 10:56 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Maschinensprache (registermaschine)