Asm Minilibc (Tek 2)
Ecriture d'une minilibC en ASM.
But du projet : Ecrire une mini librairie C en assembleur pour NetBSD.
Description du projet
Il s'agit d'écrire une mini librairie C (de préférence dynamique) en assembleur pour NetBSD sous IA32 en utilisant as(1).
Pour cela, les noms des fonctions du système doivent être utilisés. Il faut s'arranger pour remplacer la librairie native. Dans le cas contraire, les noms des fonctions seront préfixés par asm_.
Aspects techniques
Voici la liste des fonctions à réaliser :
Fonctions obligatoires
Les fonctions suivantes sont nécessaires pour avoir la moyenne :
- memset(3) : Remplit une zone de mémoire avec un octet donné.
- strlen(3) : Calcule la longueur d'une chaîne de caractères.
- memchr(3) : Recherche un caractère dans une zone mémoire.
- strchr(3) : Recherche un caractère dans une chaîne.
- strcpy(3) : Copie une chaîne.
Fonctions recommandÉes
Ces fonctions sont nécessaires pour avoir 16 (il faudra aussi faire un seul parcours de chaîne pour la fonction strrchr(3) afin d'avoir la totalité des points).
- strrchr(3) : Recherche un caractère dans une chaîne.
- strcspn(3) : Recherche un ensemble de caractères dans une chaîne.
- strncmp(3) : Compare deux chaînes.
Fonctions suggÉrÉes
Ces fonctions sont nécessaires pour avoir 20 :
- dispatch (fonction décrite plus bas).
- alloca(3) : Alloc de la mémoire
- setjmp(3) : Sauve le contexte de pile pour un saut non-local.
- longjmp(3) : Saut non-local vers un contexte de pile sauvegardé.
Pour la fonction dispatch : retval dispatch(retval (*function) (...) , ...);
Cette fonction prend en paramètre un pointeur sur fonction. Elle appellera cette fonction avec les paramètres suivants de dispatch et renverra la valeur de retour de cette fonction. En résumé dispatch(otherfunc, arguments) se comporte comme otherfunc(arguments).
Ce mini projet, qui est à réaliser à deux, permet aux étudiants de deuxième année de s'initier au langage assembleur. Ces bases leurs seront utiles pour réaliser en Tech 3 le projet ftrace : un traceur d'appels de fonctions pour Unix.
-
10 ans de réussite
-
Une pédagogie innovante
-
Le cursus
-
Les programmes
-
Zoom sur des modules différents
-
Les infrastructures
-
Epitech en France
-
EPITECH dans le monde
- Edito
- Au coeur d'un monde qui bouge
- Etre expert en informatique
- Préparer les métiers de demain
- Après EPITECH
- Le groupe IONIS
- Le cursus
- 1er cycle - Bachelor en 3 ans
- 2ème cycle - Expertise en 2 ans
- La double formation Epitech-ISG
- Rentrée de mars
- La V.A.E.
- La formation permanente
- La culture Projet
- 1re année - Fondamentaux
- 2e année - Consolidation
- 3e année - Maîtrise
- 4e année - Internationalisation
- 5e année - Expertise








