Maschinensprache: Unterschied zwischen den Versionen
Hauer (Diskussion | Beiträge) |
Hauer (Diskussion | Beiträge) |
||
Zeile 1: | Zeile 1: | ||
Unter Maschinensprache versteht man die Repräsentation eines Programmes in Form von Maschinenbefehlen. Diese setzen sich meist als eine Folge von Befehlen zusammen, die sequentiell ausgeführt werden und die tatsächlichen Operationen, die ein [[Prozessor]] ausführen kann, repräsentieren. | Unter Maschinensprache versteht man die Repräsentation eines Programmes in Form von Maschinenbefehlen. Diese setzen sich meist als eine Folge von Befehlen zusammen, die sequentiell ausgeführt werden und die tatsächlichen Operationen, die ein [[Prozessor]] ausführen kann, repräsentieren. | ||
+ | |||
+ | = Abstraktes | ||
Als Beispiel sei hier ein einfacher Prozessor mit einem Stack gegeben. So kann die Berechnung '''2+3''' umgesetzt werden, indem folgende Maschinenoperationen durchgeführt werden: | Als Beispiel sei hier ein einfacher Prozessor mit einem Stack gegeben. So kann die Berechnung '''2+3''' umgesetzt werden, indem folgende Maschinenoperationen durchgeführt werden: | ||
Zeile 7: | Zeile 9: | ||
#Addiere die obersten zwei Elemente auf dem Stack miteinander und lege das Ergebnis zurück auf den Stack (add) | #Addiere die obersten zwei Elemente auf dem Stack miteinander und lege das Ergebnis zurück auf den Stack (add) | ||
#Speichere das oberste Element des Stacks in einem Zielregister (pop) | #Speichere das oberste Element des Stacks in einem Zielregister (pop) | ||
+ | |||
+ | Nun repräsentiere das [[Byte]] '''0000 0001''' die Operation "push", Das Byte '''0000 0010''' die Opeartion "pop", das Byte '''0000 0011''' die Operation "add" und jede Zahl wird ebenso als Byte repräsentiert. So kann die obere Operation folgendermaßen repräsentiert werden: | ||
+ | |||
+ | 0000 0001 0000 0010 0000 0001 0000 0011 0000 0011 0000 0010 | ||
+ | (push 2 push 3 add pop) |
Version vom 7. Dezember 2015, 11:14 Uhr
Unter Maschinensprache versteht man die Repräsentation eines Programmes in Form von Maschinenbefehlen. Diese setzen sich meist als eine Folge von Befehlen zusammen, die sequentiell ausgeführt werden und die tatsächlichen Operationen, die ein Prozessor ausführen kann, repräsentieren.
= Abstraktes
Als Beispiel sei hier ein einfacher Prozessor mit einem Stack gegeben. So kann die Berechnung 2+3 umgesetzt werden, indem folgende Maschinenoperationen durchgeführt werden:
- Lege 2 auf den Stack (push 2)
- Lege 3 auf den Stack (push 3)
- Addiere die obersten zwei Elemente auf dem Stack miteinander und lege das Ergebnis zurück auf den Stack (add)
- Speichere das oberste Element des Stacks in einem Zielregister (pop)
Nun repräsentiere das Byte 0000 0001 die Operation "push", Das Byte 0000 0010 die Opeartion "pop", das Byte 0000 0011 die Operation "add" und jede Zahl wird ebenso als Byte repräsentiert. So kann die obere Operation folgendermaßen repräsentiert werden:
0000 0001 0000 0010 0000 0001 0000 0011 0000 0011 0000 0010 (push 2 push 3 add pop)