Jetzt sind wir bereit für unser erstes Programm, das übliche Hello, World!
Hier folgt die Erklärung des Programms: Zeile 1
fügt die Definitionen ein, die Makros und den Code aus
system.inc
.
Die Zeilen 3 bis 5 enthalten die Daten: Zeile 3 beginnt den
Datenabschnitt/das Datensegment. Zeile 4 enthält die
Zeichenkette "Hello, World!", gefolgt von einem Zeilenumbruch
(0Ah
). Zeile 5 erstellt eine Konstante, die
die Länge der Zeichenkette aus Zeile 4 in Bytes
enthält.
Die Zeilen 7 bis 16 enthalten den Code. Beachten Sie
bitte, dass FreeBSD das Dateiformat elf
für diese ausführbare Datei verwendet, bei dem jedes
Programm mit dem Label _start
beginnt (oder,
um genau zu sein, wird dies vom Linker erwartet). Diese Label
muss global sein.
Die Zeilen 10 bis 13 weisen das System an
hbytes
Bytes der Zeichenkette
hello
nach stdout
zu
schreiben.
Die Zeilen 15 und 16 weisen das System an das Programm mit
dem Rückgabewert 0
zu beenden. Der
Systemaufruf SYS_exit
kehrt
niemals zurück, somit endet das Programm hier.
Wenn Sie von MS-DOS®-Assembler zu
UNIX® gekommen sind, sind Sie es vielleicht gewohnt direktauf
die Video-Hardware zu schreiben. Unter FreeBSD müssen Sie
sich darum keine Gedanken machen, ebenso bei jeder anderen Art
von UNIX®. Soweit es Sie betrifft schreiben Sie in eine Datei
namens stdout
. Das kann der Bildschirm,
oder ein telnet-Terminal, eine
wirkliche Datei, oder die Eingabe eines anderen Programms
sein. Es liegt beim System herauszufinden, welches davon es
tatsächlich ist.
Geben Sie den Code (außer den Zeilennummern) in
einen Editor ein und speichern Sie ihn in einer Datei namens
hello.asm
. Um es zu assemblieren
benötigen Sie nasm.
Wenn Sie nasm noch nicht installiert haben geben Sie folgendes ein:
%
su
Password:your root password
#
cd /usr/ports/devel/nasm
#
make install
#
exit
%
Sie können auch make install
clean
anstatt make
install
eingeben, wenn Sie den Quelltext von
nasm nicht behalten
möchten.
Auf jeden Fall wird FreeBSD nasm automatisch aus dem Internet herunterladen, es kompilieren und auf Ihrem System installieren.
Wenn es sich bei Ihrem System nicht um FreeBSD handelt, müssen Sie nasm von dessen Homepage herunterladen. Sie können es aber dennoch verwenden um FreeBSD code zu assemblieren.
Nun können Sie den Code assemblieren, binden und ausführen:
%
nasm -f elf hello.asm
%
ld -s -o hello hello.o
%
./hello
Hello, World!
%
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.