![]()  | 
			|||
| HSG | 
		    
  | 
		
Mit einem Text-Editor wird folgendes einfache C-Programm geschrieben und unter hello.c abgespeichert.
#include <stdio.h>
int main( void )
{
   printf("Hello, world!\n");
   return 0;
}
Das Programm lässt sich mit dem GNU-C-Compiler gcc in die ausführbare Datei hello1 übersetzen.
gcc -o hello1 hello.c
Das Programm hello1 wird ausgeführt. Interessant ist seine Größe. Es wurden auf der Konsole elementare Befehle wie cd, ls, ... verwendet. Das Kommando ls -l zeigt auch die Zugriffsrechte.

Mit einem Text-Editor wird folgendes einfache Assembler-Programm geschrieben und unter hello2.asm abgespeichert.
.section .data
hello: .ascii "Hallo Welt!\n"
.section .text
.globl _start
_start:
    mov $4, %eax     # 4 fuer den Syscall 'write'
    mov $1, %ebx     # File Descriptor
    mov $hello, %ecx # Speicheradresse des Textes
    mov $12, %edx    # Laenge des Textes
    int $0x80        # Interrupt auslösen
    mov $1, %eax     # das
    mov $0, %ebx     # uebliche
    int $0x80        # Beenden
Assemblieren, Linken, Ausführen

Vergleiche die Dateigrößen von hello1 und hello2.
Lies den wikipedia-Artikel zum Systemaufruf. Warum wird zum Aufruf ein Interrupt aufgerufen?