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

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
faecher:informatik:oberstufe:techinf:assembler:einfuehrung:start [22.07.2021 10:44] sbelfaecher:informatik:oberstufe:techinf:assembler:einfuehrung:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
-{{ :faecher:informatik:oberstufe:techinf:assembler:einfuehrung:prozessor.jpg?380|}} 
  
-====== Einführung Assembler ====== 
- 
-Das Hauptelement eines Computers ist der Mikroprozessor. Die Aufgabedes Mikroprozessors ist es, Daten zu manipulieren, also zu verändern. 
- 
-Ü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** .  
- 
-Jedes Programm, das auf einem Computer ausgeführt wird, wird in viele kleine Einzelschritte zerlegt, die 
-der Prozessor dann ausführt, um Daten mit anderen Teilen des Rechners auszutauschen, zu manipulieren und wieder auszugeben. Wenn wir in einer "höheren" Prögrammiersprache wie Java, C++ oder PHP programmieren, übernehmen Compiler und Interpreter die Übersetzung unserer Programme in diese kleinen Einzelschritte die der Prozessor verstehen kann. 
- 
-Ein Prozessor verfügt über eine gegebene Menge an Aktionen, die er ausführen kann((welche das genau sind, hängt von der Prozessorarchitekur ab)), den **Befehlssatz**. Die Befehle des Befehlssatzes heißen  **Maschinenbefehle**.  
-Es gibt Maschinenbefehle für den Datenaustausch mit Speicherzellen, für das Ansprechen von Peripheriegeräten, für den Transport zwischen Registern, für Veränderung von Daten und für vieles mehr. 
- 
-Maschinenbefehle sind letztlich nur binäre Bitmuster aus Nullen und Einsen, z.B.: 
- 
-  00010101 00000000 00101010 10001011 11011000 ... 
- 
-Das kann man nun platzsparend Hexadezimal schreiben((Erinnere dich: 4 Bit sind eine Hexadezimalzahl)) 
- 
-  A1 00 2A 8B D8 ... 
- 
-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 |}} 
- 
-{{simplefilelist>:faecher:informatik:oberstufe:techinf:assembler:einfuehrung:*}} 
  • faecher/informatik/oberstufe/techinf/assembler/einfuehrung/start.1626943476.txt.gz
  • Zuletzt geändert: 22.07.2021 10:44
  • von sbel