Seitenleiste

Tutorial

Infodatenbank

Community

Erwartungen an den Leser

Da dieses Tutorial ein schon recht fortgeschrittenes Thema behandelt, erwarte ich von dir zumindest einige Grundvoraussetzungen.

Fähigkeiten des Lesers

So solltest du in der Lage sein, die Programmiersprache C zu verstehen und auch selbst Code in dieser Sprache anzufertigen.

Du solltest auch wissen, wie du diesen Code auf deiner Plattform kompilieren kannst. Solltest du Probleme beim Kompilieren späterer Beispielcodes haben, dann melde dich einfach im passenden Brett im Forum.

Ich erwarte nicht von dir, dass du dich mit der Programmierung mit bestimmten Bibliotheken auskennst. Der Grund dafür ist einfach: Wir werden keine Bibliothek verwenden können. Jedes Stück Code wird selbst geschrieben werden müssen. Das betrifft auch Funktionen wie printf.

Ein paar grundlegende Assemblerkenntnisse erwarte ich auch. Es ist aber nicht notwendig, ein Asm-Guru zu sein. Es reicht im Grunde, wenn du den Code lesen kannst.

Das du dich mit deinem Computer auskennst setze ich als selbstverständlich voraus…

Die Arbeitsumgebung

Ich habe keine Erwartungen an die Arbeitsumgebung, in der du arbeitest. Solange du dich damit auskennst, ist es gut. Ich arbeite auf Ubuntu Hardy und benutze den Editor und die Kommandozeile zum arbeiten am Code. Folglich werde und kann ich auch nur berichten, wie ich Beispielcodes kompiliert habe.

Ich werde nicht aufzeigen, wie man den Beispielcode auf Windows kompiliert. Das liegt zum einen an meiner Abneigung gegen Windows und zum anderen daran, dass es nicht unbedingt gerade das angenehmste ist.

Wer den Code auf Windows kompilieren möchte und auf Windows arbeiten möchte, der kann das meinetwegen gerne tun. Allerdings auf eigene Verantwortung ;)

Ich kompiliere meinen Code mit dem GCC, assembliere mit NASM, linke mit LD, benutze MAKE für den besseren Komfort und betrachte die Ergebnisse im Emulator BOCHS. Unter Ubuntu sind diese Programme über den Befehl

  sudo apt-get install build-essential binutils nasm make bochs

zu installieren.