FDS-TEAM
Linux, Windows, Programming and more...
IBN - Assembler - Installation und Testen von NASM und GCC
19 May 2013 18:44 CEST  written by Michael, Sebastian
[article-image]
info

Info:

Some of the documents below are password protected as they are only for students visiting our tutorials in the lecture "Betriebssysteme und Netzwerke" at university of Heidelberg.

Diese Seite liefert die für die freiwillige Assembler-Zusatzveranstaltung benötigten Informationen zur Installation und Einrichtung von NASM und GCC. Der Schwerpunkt dieser Veranstaltung liegt auf der praktischen Einführung in x86 Assembler, wobei jeder Teilnehmer selbst die Möglichkeit bekommt, die Kenntnisse durch Schreiben von kleineren Assemblercodes anzuwenden. Damit dies auch zu Hause fortgeführt werden kann, werden wir keine vorkonfiguierten Computer der Universität nutzen, sondern haben uns dafür entschieden, dass optimalerweise jeder Teilnehmer seinen eigenen Laptop mitbringen und dafür nutzen sollte. Damit bereits während der Veranstaltung die vorgestellten Aufgaben bearbeitet und nachvollzogen werden können, müssen bereits im Vorraus die benötigten Programme auf dem System installiert werden. Dies ist nicht sonderlich aufwendig oder schwer, kann aber eine gewisse Zeit dauern, weshalb von einer Installation während der Veranstaltung abzuraten ist.

Wir werden die Programme GCC und NASM (Netwide Assembler) nutzen, da diese auf allen 3 großen Betriebssystem verfügbar sind (Linux/Windows/Mac OS). Die einzige Vorraussetzung, die das System erfüllen muss ist, das es einen x86 Prozessor (32 Bit oder 64 Bit, Intel/AMD) besitzt, also z.B. keine älteren Macs mit PowerPC Prozessor. Wenn Sie den GCC Compiler installieren, wird zwar bereits der Gnu Assembler (GAS) mitinstalliert, dieser verwendet jedoch einen anderen Syntax (AT&T Syntax) als der in den Vorlesungsfolien verwendete Syntax von Intel.

Im Folgenden werden die Installationschritte für die jeweiligen Betriebssysteme gezeigt. Es empfiehlt sich nach der Installation einen kurzen Test (siehe unten) durchzuführen, um sicherzustellen, das alles ordungsgemäß funktioniert.

1. Installation

1.1. Installation auf Linux

Die Installation von Paketen unterscheidet sich stark je nach verwendeter Distribution, jedoch installieren viele Distributionen den GCC Compiler standardmäßig mit und sie müssen nur noch NASM nachinstallieren. Für Debian/Ubuntu basierte Systeme müssen sie einfach nur folgenden Befehl ausführen um alle benötigten Programme zu installieren:

sudo apt-get install gcc make nasm

Wenn Sie eine 64-Bit Linux-Distribution nutzen, muss noch zusätzlich gcc-multilib installiert werden (da wir uns bei dieser Veranstaltung auf 32-Bit Assembler beschränken):

sudo apt-get install gcc-multilib

Fals Sie eine andere Distribution benutzen, so müssen sie den jeweiligen Paket Manager benutzen um die beiden Anwendungen zu installieren. Sollte ihre verwendete Distribution NASM nicht in den Paket Quellen enthalten, so ist dies auch kein großes Problem, da er sich relativ einfach selbst compilieren lässt:

wget http://www.nasm.us/pub/nasm/releasebuilds/2.10.07/nasm-2.10.07.tar.gz
tar -xf nasm-2.10.07.tar.gz
cd nasm-2.10.07/
./configure
make
sudo make install

Da NASM wenige Abhängigkeiten besitzt, sollte dies in der Regel ohne Fehler durchlaufen.

1.2. Installation auf Windows

Während sich die Installation von NASM unter Windows als sehr einfach erweist, ist die Installation von GCC etwas komplizierter. Im Folgenden werde ich MinGW verwenden, da hier lediglich der GCC Compiler mit den benötigten Programmen installiert wird ohne eine (für uns unnötige) POSIX Emulationsschicht wie bei Cygwin. Prinzipiell sollte jedoch auch der GCC Compiler von Cygwin ausreichend sein, wenn dieser stattdessen verwendet werden soll.

1.2.1. Installation von MinGW

Downloaden Sie den MinGW Installer und führen sie diesen aus. Bei der Frage ob die vorinstallierte Paketliste verwendet werden sollen, wählen sie "Download latest repository catalogues" aus und akzeptieren Sie die Lizenzbedingungen. Als Installationsort sollten sie keinen Pfad mit Leerzeichen auswählen. Bei der Auswahl der zu installierenden Komponenten selektieren Sie den C Compiler, den C++ Compiler sowie das MSYS Basic System und führen sie die Installation zu Ende aus.

Paket IndexPaket Index
Selektiere Komponenten 1/2Selektiere Komponenten 1/2
Selektiere Komponenten 2/2Selektiere Komponenten 2/2

Alle wichtigen Einstellungen sind ebenfalls auf den Screenshots zu sehen. Nach dem alles erfolgreich installiert wurde, sollten Sie nun in ihrem Startmenü den Eintrag "MinGW Shell" finden.

Startmenü mit MinGWStartmenü mit MinGW

1.2.2. Installation von NASM

Um NASM zu installieren downloaden sie das zip Archiv mit Nasm und kopieren sie die Datei nasm.exe aus dem Archiv nach C:\MinGW\bin (bzw. in den bin Ordner unter dem Installationspfad welchen Sie ausgewählt haben)

1.3. Installation auf Mac OS

Um den GCC Compiler unter Mac OS zu installieren, installieren Sie am besten die XCode Entwicklungsumgebung von Apple. Diese können sie entweder hier nach einer kostenlosen Registrierung eines Apple Developer Kontos herunterladen oder von dem Mac OS Installationsmedium nachinstallieren. Falls sie XCode 4.3 oder neuer verwenden müssen Sie zusätzlich die "Command Line Tools" nachinstallieren (siehe hier). Alternativ können Sie auch nur die Command Line Tools installieren, falls diese auf der Apple Webseite als Download für ihre MacOS Version angeboten wird.

Die Installation von NASM ist jedoch wieder wesentlich einfacher. Downloaden sie einfach diese zip Datei, welche NASM für Mac OS enthält und extrahieren sie das Archiv. Um NASM systemweit verwenden zu können empfehle ich es "nasm" nach /bin/ zu kopieren. Um dies zu tun öffnen sie einfach ein Terminal, wechseln Sie in das Verzeichnis mit den extrahierten Dateien und führen sie folgenden Befehl aus:

sudo cp nasm /bin/

Nach Eingabe des eigenen Passworts sollte GCC und NASM auf ihrem Mac einsatzbereit sein.

2. Testen

Nach der Installation von GCC und NASM können Sie dessen Funktionalität recht einfach mit unserem vorgefertigten Beispiel testen. Downloaden Sie einfach folgendes Archiv und extrahieren sie die enthaltenden Dateien in einen seperaten Ordner. Unter Windows müssen die Dateien nach C:\MinGW\msys\1.0\home\IHR BENUTZERNAME\asm-test extrahiert werden (dieser Pfad wird beim erstmaligen Starten der MinGW Shell erzeugt), wobei der Pfad an ihren ausgewählten Installationspfad angepasst werden muss. Nun öffnen sie ein Terminal (unter Windows die MinGW Shell) und wechsel sie mit cd in das Verzeichnis.

download

Download:

  • MD5:    a0cfd321e409accbd4b45d3b729d14e2
    SHA256: e63249f66a628dea208a6834b846207b4cb753090ede0149b5ed9f55699bb865
    Size:   < 2 kB
    Testcode

Nachdem Sie sich in dem Verzeichnis befinden, müssen sie nun mit make einfach den Quellcode kompillieren. Durch sehr minimale Unterschiede zwischen den Betriebssystemen (ein anderer Parameter bei nasm) müssen sie make noch mitteilen, unter welchem Betriebssystem Sie sich befinden. Rufen sie dazu make linux, make windows oder make macos auf.

Falls alles geklappt hat sollte nun durch einen Aufruf von ./test die Ausgabe "Installation erfolgreich" erscheinen.

Bei Fragen oder Problemen können Sie gerne einen Kommentar hinterlassen oder eine Email an michael@fds-team.de oder sebastian@fds-team.de schreiben (bitte immer inklusive vollständiger Fehlermeldung!).

Writing comments is currently disabled, as we're updating the content management system.
DP-CMS 0.1 RSSRSS - Feed