TP 1 (Hiver 2006)
IFT3380/IFT6380
Première partie : à remettre avant jeudi 16 février à 17h00
Par groupe de 2 étudiants.
- Écrire un programme pour la machine MIPS qui trie
un tableau d'éléments en traduisant le programme suivant en assembleur.
C'est l'algorithme de tri par sélection. Utiliser l’environnement SPIM.
for(i=0 ; i<N-1; i++)
{
Ind_Min
= i;
for(j=i+1;
j < N ; j++)
if(tab[j]
< tab[Ind_Min])
Ind_Min
= j;
if(i != Ind_Min)
{
tempo
= tab[i];
tab[i] = tab[Ind_Min];
tab[Ind_Min] = tempo;
}
}
- Transformer le programme précédent en une
fonction qui prend comme paramètre N et l’adresse de la table à trier.
- Écrire un programme général qui fait appel à
cette fonction.
- Tester le tout sur l’environnement SPIM disponible à "~dift3380/spim/". L'executable graphique "~dift3380/spim/xspim" et la documentation "dift3380/spim/Documentation/spim.ps".
Exercices 1.3, 1.7 de H&P ed 3.
Vous devez remettre
- le code du #2 et du #3. Ce code doit fonctionner sous SPIM.
- les réponses au exercice 1.3 et 1.7
- un mini text, max 1 pages, pour expliquer votre convention d'appel de fonction
pour faire la remise vous devez vous connecter à la machine "remise.iro.umontreal.ca" sur cette machine, vous devez faire la commande suivante
"remise ift3380 tp1 fichiers...".