jai un programe en langage C et je doit traduire en langage Mips:
Soit la fonction suivante (est_premier) qui renvoie 1 si le nombre passé en argument est
premier, 0 sinon
int est_premier(int nb)
{
int i;
for (i=2;i<nb;i++)
{
if (nb % i ==0) /* % est le reste de la division entière */
return 0;
}
return 1;
}
int main()
{
int cpt;
for (cpt=0;cpt<100;cpt++)
{
if (est_premier(cpt)==1)
{
print("%x\n",cpt);
}
}
return(0);
}
Complétez en langage d'assemblage MIPS le programme principal (main). Vous
utiliserez $5 pour 100, $6 pour cpt et $7 pour les valeurs intermédiaires.
a) Ecrivez en langage d'assemblage MIPS le corps de la fonction est_premier. Vous utiliserez $5 pour i, $6 pour nb et $7 pour les valeurs intermédiaires. On rappelle que l'instruction div $i, $j fournit le reste de la division entière de $i par $j dans le registre HI.
b) Ecrivez en langage d'assemblage MIPS le prologue de la fonction est_premier.
c) Ecrivez en langage d'assemblage MIPS l'épilogue de la fonction est_premier.
d) Représenter la pile après l'exécution du prologue de est_premier.
Quelle taille minimale en octet faut-il réserver pour le segment de pile ?
svp aidez moi