[gesichtete Version] | [gesichtete Version] |
Keine Bearbeitungszusammenfassung |
Kwastg (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(8 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
<p> | |||
Beim '''<loop_index id="5fa97856b63ef">Dreiadressformat</loop_index>Dreiadressformat''' besteht ein kompletter Befehl aus dem ''<loop_index id="5fa97856b63f4">Opcode</loop_index>Opcode'', ''einer Adresse des ersten <loop_index id="5fa97856b63f6">Operand</loop_index>Operanden'', einer ''Adresse des zweiten Operanden'', sowie einer ''Adresse, an der das Ergebnis gespeichert wird''. | |||
</p> | |||
<p> | <p> | ||
Üblicherweise ergibt sich in der Notation folgende Reihenfolge: | |||
</p> | </p> | ||
<p> | <p> | ||
<span style="font-family:Courier"> | |||
<Opcode><Ergebnis><Operand1><Operand2> | <Opcode><Ergebnis><Operand1><Operand2> | ||
</span> | |||
</p> | </p> | ||
Zeile 12: | Zeile 18: | ||
<p> | <p> | ||
<loop_area type="sourcecode">int z = x + y;</loop_area> | <loop_area type="sourcecode"> | ||
<span style="font-family:Courier"> | |||
int z = x + y; | |||
</span> | |||
</loop_area> | |||
</p> | </p> | ||
Zeile 18: | Zeile 28: | ||
Z nimmt das Ergebnis auf und steht zuerst, x und y sind die beiden Operanden und folgen. | Z nimmt das Ergebnis auf und steht zuerst, x und y sind die beiden Operanden und folgen. | ||
</p> | </p> | ||
Beim Dreiadressformat besteht ein kompletter Befehl aus dem Opcode, einer Adresse des ersten Operanden, einer Adresse des zweiten Operanden, sowie einer Adresse, an der das Ergebnis gespeichert wird.
Üblicherweise ergibt sich in der Notation folgende Reihenfolge:
<Opcode><Ergebnis><Operand1><Operand2>
Diese Reihenfolge spiegelt sich beispielsweise auch im C-Quelltext aus dem Beispiel im Kapitel Vom Quellcode zum Prozessor wider. Hier der entscheidende Ausschnitt:
int z = x + y;
Z nimmt das Ergebnis auf und steht zuerst, x und y sind die beiden Operanden und folgen.