Vous êtes sur la page 1sur 1

Universit Mohamed Khider Biskra. Facult des sciences de la Vie et de la Nature et des Sciences Exactes Dpartement d'Informatique.

Anne universitaire : 2011/2012 Niveau: 3me Anne Licence Module : Compilation

TD N5
On suppose que l'adresse du dbut du bloc rserv des donnes est mise dans le registre $30 et que la variable a (resp. b, c, x et continue) ont respectivement leur place dcale de 0 (resp. 4, 8, 12 et 16) octet(s) de cette adresse. On remarque un dcalage de 4 octets (32 bits) par variable. 1. Ecrire dans un pseudo langage un programme permettant de dclarer 5 variables (a, b, c, x et continue), de lire a, b, c et x et de calculer et afficher la valeur de c + bx+ ax2. 2. Pour valuer cette expression arithmtique, on propose d'abord de construire son arbre de syntaxe abstraite. 3. Ecrire les codes MIPS permettant de lire a, b, c et x, puis d'valuer l'expression en faisant le parcours gauche-droite et d'afficher le rsultat. 4. On souhaite pouvoir poser la question l'utilisateur qui rpondra par un non (entier 0) ou par un oui (entier non nul) pour reprendre les saisies et le calcul de la question 1. 5. On propose de calculer uniquement pour la valeur de x positive ou nulle. Modifier en pseudolangage le programme de la question 1 6. Pour calculer la suite de fibonacci dfinie de la manire suivante : U0 = 0 U1 = 1 Un = Un-1 + Un-2 On propose d'algorithme suivant : SI n == 0 ALORS ECRIRE 0 SINON SI n == 1 ALORS ECRIRE 1 SINON { Un2 := 0; Un1 := 1; TANTQUE n >= 2 FAIRE { U := Un1; Un1 := U + Un2; Un2 := U; n := n - 1 }; ECRIRE "Le nombre de fibonacci de n est = \n"; ECRIRE Un1 } Construire larbre correspondant et donner le code MIPS complet pour ce programme.

Vous aimerez peut-être aussi