:: Enseignements :: ESIPE :: E3INFO :: 2007-2008 :: Architecture des ordinateurs ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | 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.
© Université de Marne-la-Vallée