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

Assembleur MIPS [suite]


Dans cette séance de travaux dirigés, nous allons programmer nos premières fonctions avec des paramètres en MIPS.

Exercice 1 - Multrusse

Traduire en assembleur MIPS le programme C suivant :
( On veillera à utiliser les conventions classiques d'appels de procedures )

int multrusse (int a, int b)
{int p;
 p=0;
 while (b>0)
    {if (b%2 == 1) p += a;
     a = 2*a;
     b = b/2;
    }
 reteur p;
}

Exercice 2 - Similarité

Ecrire une fonction qui rend vrai si deux chaînes sont de mêmes longueurs et avec des caractères identiques à toutes les positions (et faux sinon). Vous considererez les trois cas suivants :
  • Une fonction a quatre arguments : les deux adresses des débuts des chaînes et les deux longueurs.
  • Une fonction a deux arguments : les deux adresses des débuts des chaînes, celles-ci sont supposées se terminer par un octet null.
  • Une fonction a deux arguments : les deux adresses des débuts des chaînes, le premier mot de chaque chaîne représente sa longueur.

Exercice 3 - A la maison ...

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