2.2.3.1 Einadressformat

[gesichtete Version][gesichtete Version]
(Die Seite wurde neu angelegt: „Das '''Einadressformat''' entspricht dem Format aus dem Video [http://youtu.be/cX5XLc9e_g4 Vom Quellcode zum Prozessor]. Hier wird für die einzelnen Befehle n…“)
 
Keine Bearbeitungszusammenfassung
 
(18 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Das '''Einadressformat''' entspricht dem Format aus dem Video [http://youtu.be/cX5XLc9e_g4 Vom Quellcode zum Prozessor]. Hier wird für die einzelnen Befehle nur der ''Opcode'' und die ''Adresse eines Operaden'' (deshalb ''Einadressformat'') angegeben.


<p>
Das '''<loop_index id="5fa978576f605">Einadressformat</loop_index>Einadressformat''' entspricht dem Format aus dem Video [http://youtu.be/cX5XLc9e_g4 Vom Quellcode zum Prozessor]. Hier wird für die einzelnen Befehle nur der ''<loop_index id="5fa978576f60e">Opcode</loop_index>Opcode'' und die ''Adresse eines <loop_index id="5fa978576f613">Operand</loop_index>Operanden'' (deshalb ''Einadressformat'') angegeben.
</p>
<p>
<span style="font-family:Courier">
<Opcode><Operand1>
<Opcode><Operand1>
</span>
</p>


<br />
== Bedeutung des Akkumulators ==
<p>
Wird ein zweiter Operand benötigt, so wird vorausgesetzt, dass dieser sich im Register Akkumulator befindet. Das bei der Abarbeitung des Befehls berechnete Ergebnis wird per Definition wieder im Akkumulator gespeichert.
Wird ein zweiter Operand benötigt, so wird vorausgesetzt, dass dieser sich im Register Akkumulator befindet. Das bei der Abarbeitung des Befehls berechnete Ergebnis wird per Definition wieder im Akkumulator gespeichert.
</p>


<loop_area type="definition">'''Definition: Opcode'''<br />Unter dem '''Opcode''' eines Befehls versteht man eine binäre Codierung, aus der sowohl der Befehl, als auch zusätzlich benötigte Steuerinformationen hervorgehen.
<br />
</loop_area>
<p>
Betrachte für die folgenden Aufgaben die Befehle <span style="font-family:Courier">NOOP, LOAD, STORE, ADD, SUB, EQUAL, JUMP, HALT</span> aus dem Video [http://youtu.be/cX5XLc9e_g4 Vom Quellcode zum Prozessor].
</p>


Der Opcode für das Beispiel zum Einadressformat besteht also aus <Befehl> und <Num>, insgesamt also aus vier Bit.
<br />


<loop_area type="task">'''Aufgabe 1'''<br />
== Aufgabe 1 ==
Betrachte die Befehle NOOP, LOAD, STORE, ADD, SUB, EQUAL, JUMP, HALT aus dem Video [http://youtu.be/cX5XLc9e_g4 Vom Quellcode zum Prozessor]. Welche dieser Befehle benötigen einen Operaden, welche benötigen keinen Operanden?
<p>
<loop_area type="task">
<loop_task title="Operand oder nicht?" id="5fa978576f618">
<p>
Welche dieser Befehle benötigen einen Operanden, welche benötigen keinen Operanden?
</p>
</loop_task>
</loop_area>
</loop_area>
</p>
<br />
<br />
<hr />
== Aufgabe 2 ==
<sub>Diese Seite steht unter der [http://creativecommons.org/licenses/by/3.0/deed.de Creative Commons Namensnennung 3.0 Unported Lizenz] [http://creativecommons.org/licenses/by/3.0/deed.de http://i.creativecommons.org/l/by/3.0/80x15.png]
<p>
</sub>
<loop_area type="task">
<loop_task title="Wenn der Operand keine Adresse ist" id="5fa978576f61d">
<p>
Bei Befehlen mit einem Operanden muss der Operand nicht zwingend die Adresse einer Speicherzelle repräsentieren. Im [http://youtu.be/cX5XLc9e_g4 Video] gibt es eine zweite Interpretationsmöglichkeit des Operanden (Stichwort: # im [http://youtu.be/cX5XLc9e_g4 Video]).
* Was ist gemeint?
* Und wie wird bei der Repräsentation in Maschinensprache (--> Einsen und Nullen!) dafür gesorgt, dass beide Interpretationsmöglichkeiten unterschieden werden können?
</p>
</loop_task>
</loop_area>
</p>

Aktuelle Version vom 9. November 2020, 18:47 Uhr

Das Einadressformat entspricht dem Format aus dem Video Vom Quellcode zum Prozessor. Hier wird für die einzelnen Befehle nur der Opcode und die Adresse eines Operanden (deshalb Einadressformat) angegeben.

<Opcode><Operand1>


Bedeutung des Akkumulators

Wird ein zweiter Operand benötigt, so wird vorausgesetzt, dass dieser sich im Register Akkumulator befindet. Das bei der Abarbeitung des Befehls berechnete Ergebnis wird per Definition wieder im Akkumulator gespeichert.


Betrachte für die folgenden Aufgaben die Befehle NOOP, LOAD, STORE, ADD, SUB, EQUAL, JUMP, HALT aus dem Video Vom Quellcode zum Prozessor.


Aufgabe 1

Aufgabe

Welche dieser Befehle benötigen einen Operanden, welche benötigen keinen Operanden?


Aufgabe 2

Aufgabe

Bei Befehlen mit einem Operanden muss der Operand nicht zwingend die Adresse einer Speicherzelle repräsentieren. Im Video gibt es eine zweite Interpretationsmöglichkeit des Operanden (Stichwort: # im Video).

  • Was ist gemeint?
  • Und wie wird bei der Repräsentation in Maschinensprache (--> Einsen und Nullen!) dafür gesorgt, dass beide Interpretationsmöglichkeiten unterschieden werden können?