TP Architecture et assembleur
Procédure et passage de paramètres
Eric Ramat
17 octobre 2012
Durée : 3 heures
1 Question 1
Développer en Assembleur la fonction de calcul de factoriel en itératif et en récursif. Pour la version
récursive, la fonction doit obligatoirement garantir aucun registre n’est affecté par ses instructions sauf
le registre contenant le résultat. Naturellement, les fonctions à développer seront codées sous forme de
fonction et les paramètres de la fonction sont passés par la pile. Un exemple devra être proposé.
2 Question 2
Développer l’algorithme de tri rapide (Quick Sort) en Assembleur. Les consignes exposées à la ques-
tion 1 restent vrai ici. Les valeurs à trier sont placées dans un tableau. Déclarer une variable de type
tableau d’octets et une variable contenant la taille du tableau.
Rappel de l’algorithme du Quick Sort
TriRapide ( A , p , r )
Si p < r alors
q = partitionner(A, p, r)
TriRapide ( A , p , q )
TriRapide (A, q + 1 , r)
FinSi
Partitionner(A, p, r)
x = A[p ]
i = p - 1
j=r+1
Tant que vrai faire
Repeter j = j - 1 jusqu a A[j] <= x
Repeter i = i + 1 jusqu a A[i] <= x
Si i < j alors echanger A [ i] et A [j]
Sinon retourner j
Fin Si
Fin tant que
L’appel initial de la fonction TriRapide est TriRapide(A, 1, taille) où A est le tableau et taille la taille
du tableau.
1
1 / 1 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !