Das erste Programm "Hello World"

Aus C und Assembler mit Raspberry

Nach der ersten Theorie wollen wir endlich mal etwas Programmieren. In den meisten Programmiersprachen wird mit einem einfachen Programm begonnen, welches oft einfach auf den Bildschirm ein "Hello World" ausgibt. Auch hier machen wir dies.

.global _start //Definition der Einsprungsadresse als GLOBAL 
_start:        //Label, für den Start des Programms
    mov x0,#1  //Setze das Register x0 auf 1 (StdOutput)
    ldr x1,=helloworld //In x1 ein Zeiger auf den String
    mov x2,#13 //x2 wird die Länge des Strings angegeben
    mov x8,#64 //Systemcall für Output
    svc 0 //Führe den Systemcall aus
    mov x0,#0 //x0 auf 0: Kein Fehler
    mov x8,#93 //Systemcall für Exit
    svc 0 //Führe den Systemcall aus

.data //Definition des Datenbereichs
helloworld: //Label für den String, der angezeigt werden soll
    .ascii "Hello World!\n" //Der String selbst

Damit wir schnell was sehen, Kompilieren, Linken und führen das Programm aus:

as -o HelloWorld.o HelloWorld.s
ld -o HelloWorld HelloWorld.o
./HelloWorld