faecher:informatik:oberstufe:techinf:assembler:einfuehrung:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:techinf:assembler:einfuehrung:start [22.07.2021 08:22] sbelfaecher:informatik:oberstufe:techinf:assembler:einfuehrung:start [22.07.2021 09:45] (aktuell) sbel
Zeile 1: Zeile 1:
-{{ :faecher:informatik:oberstufe:techinf:assembler:einfuehrung:prozessor.jpg?380|}}+~~NOTOC~~ 
 + 
 +{{ :faecher:informatik:oberstufe:techinf:assembler:einfuehrung:prozessor.jpg?320|}}
  
 ====== Einführung Assembler ====== ====== Einführung Assembler ======
  
-Das Hauptelement eines Computers ist der Mikroprozessor. Die Aufgabedes Mikroprozessors ist es, Daten zu manipulieren, also zu verändern.+===== Was und warum? ===== 
 + 
 + 
 +Das Hauptelement eines Computers ist der Mikroprozessor. Die Aufgabe des Mikroprozessors ist es, Daten zu manipulieren, also zu verändern.
  
 Über ein **Leitungssystem (Bus)** kann der Prozessor Daten mit Speicher- und Peripheriebausteinen austauschen.  Über ein **Leitungssystem (Bus)** kann der Prozessor Daten mit Speicher- und Peripheriebausteinen austauschen. 
-Fur die Verarbeitung der Daten verfügt er über einige interne Speicherplätze, die sogenannten **Register** . +Für die Verarbeitung der Daten verfügt er über einige interne Speicherplätze, die sogenannten **Register** .  
 + 
 +{{ :faecher:informatik:oberstufe:techinf:assembler:einfuehrung:arch.png?320 |}}
  
 Jedes Programm, das auf einem Computer ausgeführt wird, wird in viele kleine Einzelschritte zerlegt, die Jedes Programm, das auf einem Computer ausgeführt wird, wird in viele kleine Einzelschritte zerlegt, die
Zeile 23: Zeile 30:
  
 Das ändert jedoch nichts am Umstand, dass die Darstellung für uns Menschen wenig intuitiv ist.  Das ändert jedoch nichts am Umstand, dass die Darstellung für uns Menschen wenig intuitiv ist. 
 +
 +
 +
 +Es gibt jedoch Anwendungsfälle in denen man sehr nah an der Hardware programmieren möchte oder muss - wann immer man Kontrolle darüber erlangen möchte, was der Prozessor genau macht.
 +
 +Die **Assemblersprache** ist eine fast vollständige 1:1 Repräsentation der Maschinenbefehle des Prozessors, der **Assembler** kann Assemblerbefehle also direkt in Maschinensprache übersetzen - auf diese Weise ist es auch für uns Menschen möglich, dem Prozessor direkte Anweisungen zu geben. Assemblerbefehle bestehen meist aus 3 Buchstaben, den sogenannten **Mnemonics**. 
 +
 +Die folgende Grafik veranschaulicht die Situation:
 +
 +{{ :faecher:informatik:oberstufe:techinf:assembler:einfuehrung:compile_assemble.png |}}
 +
 +===== Anders denken... =====
 +
 +Mit Hilfe von Assemblerbefehlen kann ein Ausdruck wie 
 +
 +   sum = a + b + c
 +
 +nicht direkt dargestellt werden, da sich die zur Verfügung stehenden Befehle daran orientieren, welche Register der Prozessor hat und welche Operationen er unterstützt. Das Vorgehen bei der Lösung von Problemen wird dadurch sehr kleinschrittig, die zur Verfügung stehenden Befehle sind sehr beschränkt: 
 +
 +  mov eax,[a] ;Schreibe den Inhalt der Speicherzelle a ins Register eax
 +  add eax,[b] ;Addiere den Inhalt der Speicherzelle b zum Inhalt des Registers eax (eax ist jetzt a+b)
 +  add eax,[c] ;Addiere den Inhalt der Speicherzelle c zum Inhalt des Registers eax (eax ist jetzt a+b+c)
 +  
 +Um uns an eine solche Problemlösestrategie zu gewöhnen, kann man ein Spiel spielen: https://tomorrowcorporation.com/humanresourcemachine (Gibt es auch für iOS und Android, ca. 5-10EUR).
 +
 +{{ :faecher:informatik:oberstufe:techinf:assembler:einfuehrung:hrm.png?600 |}}
 +
 +===== Dateien =====
  
  
 {{simplefilelist>:faecher:informatik:oberstufe:techinf:assembler:einfuehrung:*}} {{simplefilelist>:faecher:informatik:oberstufe:techinf:assembler:einfuehrung:*}}
  • faecher/informatik/oberstufe/techinf/assembler/einfuehrung/start.1626942173.txt.gz
  • Zuletzt geändert: 22.07.2021 08:22
  • von sbel