Assembler-Programmierung für x86-Prozessoren

Aus Wikibooks
Wechseln zu: Navigation, Suche
Gnome-applications-office.svg Dieses Buch steht im Regal Programmierung.
Nuvola mimetypes kmultiple.png Zu diesem Thema existiert eine Sammlung. Damit kann man das Thema als PDF herunterladen oder in gedruckter Form bestellen.
Druckversion Dieses Buch soll bald eine Druckversion haben.
PDF Es ist eine PDF-Version dieses Buches vorhanden.

Vorwort[Bearbeiten]

Dieses Buch ist eine Einführung in Assembler, die ihren Lesern gleichzeitig ein besseres Verständnis darüber geben will, wie Computer wirklich in ihrem Inneren arbeiten. Wenn der Leser die Lower-Level-Grundlagen der Programmierung verstanden hat, kann er oftmals auch in Hochsprachen viel produktivere Programme entwickeln. Assembler (englisch: Assembly Language) ist eine äußerst maschinennahe Sprache, da der Programmierer, im Gegensatz zu Hochsprachen, mit den Befehlen der CPU arbeitet.

Das Programmieren in Assembler ist, eine gute Einführung vorausgesetzt, nicht schwerer als das Erlernen einer modernen Programmiersprache wie C, C++, Java oder C#. Leider gibt es in der deutschsprachigen Literatur relativ wenige gute Bücher über die Programmierung in Assembler. Dieses Werk soll die Lücke schließen.

In der Praxis wird Assembler bei sehr zeitkritischen Projekten eingesetzt. Häufig wird Assembler nicht alleine verwendet, sondern der Programmcode wird in Programme anderer Sprachen eingebettet. Dies bezeichnet man als Inline-Programmierung, das heißt eine Hochsprache greift auf Assemblerbefehle zurück.

Zusammenfassung des Projekts[Bearbeiten]

  • Zielgruppe: Das Buch richtet sich an Anfänger. Da Assembler aber nicht für den Einsteiger geeignet ist, werden grundlegende Programmiererfahrungen in einer anderen Programmiersprache vorausgesetzt.
  • Projektumfang: In einem ersten Schritt soll zunächst die Programmierung mit der 8086/88 unter DOS beschrieben werden. Wenn das Buch soweit vollständig ist, soll es schrittweise ergänzt werden um Themen wie Makros, Opcode, Inline-Programmierung, 80x87-Coprozessorprogrammierung, 80286 / 80386 Protected Mode, Paging, Virtueller 8086-Modus und Systemprogrammierung unter Windows und Linux sowie MMX/SSE.
  • Themenbeschreibung: Das Buch beschreibt die Programmierung mit Assembler auf Rechnern der 80x86-Architektur
  • Lernziele: Die Grundlagen der Assemblerprogrammierung auf einem 8086/88 erlernen. Wie oben beschrieben, soll das Buch der Reihe nach und nach um fortgeschrittene Themen ergänzt werden.
  • Abgrenzung zu anderen Wikibooks: Maschinensprache i8086 enthält elementare Programme, um einige Grundlagen sowie die Methode des Testens von Programmen zu lernen.
  • Policies:
  • Kommentare und Anregungen sind erwünscht. Diese sollten dann aber konkrete Verbesserungsvorschläge enthalten.
  • Auch Verständnisfragen von Anfängern zu diesem Buch sind ausdrücklich erwünscht. Diese bitte auf die Diskussionsseite des entsprechenden Kapitels stellen.
  • Bitte keine Details zur DOS-Programmierung wie TSR, DOS Extender etc. Dies ist nicht mehr zeitgemäß. Der Einstieg über den Real Mode unter DOS wurde gewählt, weil damit eine seitenweise – und für Anfänger ermüdende – Beschreibung über die Adressierung im Protected Mode ganz am Anfang des Buches vermieden wird.
  • Aufbau des Buches: Siehe Inhaltsverzeichnis. Weitere Kapitel werden schrittweise ergänzt.

Inhaltsverzeichnis[Bearbeiten]

Referenz[Bearbeiten]