Maschinensprache: Unterschied zwischen den Versionen

Aus EINI
Wechseln zu: Navigation, Suche
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
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 Programms in Form von Maschinenbefehlen. Diese setzen sich meist aus eine Folge von Befehlen zusammen, die sequentiell ausgeführt werden und die tatsächlichen Operationen, die ein [[Prozessor]] ausführen kann, repräsentieren.
 +
 
 +
Maschinensprache ist für Menschen nur schwer lesbar.
  
 
= Abstraktes Beispiel =
 
= Abstraktes Beispiel =
  
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:
  
 
#Lege 2 auf den Stack (push 2)
 
#Lege 2 auf den Stack (push 2)
Zeile 10: Zeile 12:
 
#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:
+
Nun repräsentiere das [[Byte]] '''0000 0001''' die Operation "push", das Byte '''0000 0010''' die Operation "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
 
0000 0001 0000 0010 0000 0001 0000 0011 0000 0011 0000 0010
 
(push 2 push 3 add pop)
 
(push 2 push 3 add pop)

Aktuelle Version vom 7. Juni 2017, 11:00 Uhr

Unter Maschinensprache versteht man die Repräsentation eines Programms in Form von Maschinenbefehlen. Diese setzen sich meist aus eine Folge von Befehlen zusammen, die sequentiell ausgeführt werden und die tatsächlichen Operationen, die ein Prozessor ausführen kann, repräsentieren.

Maschinensprache ist für Menschen nur schwer lesbar.

Abstraktes Beispiel

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:

  1. Lege 2 auf den Stack (push 2)
  2. Lege 3 auf den Stack (push 3)
  3. Addiere die obersten zwei Elemente auf dem Stack miteinander und lege das Ergebnis zurück auf den Stack (add)
  4. 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 Operation "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)