:: Enseignements :: ESIPE :: E3INFO :: 2007-2008 :: Architecture des ordinateurs ::
[LOGO]

Assembleur MIPS [suite et fin]


Dans cette séance de travaux dirigés, nous allons programmer nos premières fonctions récursives en MIPS.

Exercice 1 - Produit scalaire de vecteurs

Ecrire une fonction permettant de calculer le produit scalaire de deux vecteurs. Les arguments sont les adresses des deux vecteurs et leur taille. On supposera que le résultat est codable sur 32 bits.

Exercice 2 - Produit de matrice

Ecrire une fonction permettant de calculer le produit de deux matrices entières et utilisant la fonction produit scalaire de l'exemple précédent. La première matrice est stockée en ligne et la deuxième en colonne. Les tailles (entiers ligne, colonne) sont stockées dans les deux premiers mots précédents les données. Les arguments dont les adresses des deux matrices et l'adresse de la matrice résultat.

Exercice 3 - Combi kezako

Traduire en assembleur MIPS le programme C suivant :
int combi (int n, int p){
     if (p==0 || p==n || n==0) return 1;
     else return combi(n-1,p) + combi (n-1, p-1);
     }
Ecrire un programme calculant et affichant une table des différentes valeurs des coefficients binômiaux jusqu'à une puissance n donnée. Une présentation sous forme de triangle de Pascal est souhaitée.

Exercice 4 - A la maison ...

Codez tous vos réponses aux exercices précédents en MIPS et testez les sur le simulateur Xspim.