TD5 TD5
Objectif(s)
O Familiarisation avec les instructions de rupture de séquence : les branchements (saut conditionnels ou incondi- tionnels). O Écriture de programmes contenant des conditionnelles et/ou des boucles.
O Parcours de tableau.
Remarque : l’exercice sur la manipulation de bits (intitulé “Manipulation de bits : décalage et masque”) permet de manipuler les instructions de décalage et d’utiliser les masques avec lesquels vous n’êtes …afficher plus de contenu…
a != 0 c©2021/2022 (Sorbonne Université/LU3IN029) 21 octobre 2021Module MAREP Instructions de sauts et structures de contrôle 5 – page 3/5
2. a > 0
3. a >= 2
4. a < b
Solution:
Il faut remplacer bne $8, $0, casfaux par :
1. Si la condition est a !=0, il faut remplacer bne $8, $0, casfaux par beq $8, $0, …afficher plus de contenu…
On souhaite écrire un programme qui calcule puis affiche le nombre de bits à 1 dans le mot binaire représentant l’entier.
Quelle valeur doit afficher ce programme quand n vaut 123? quand n vaut -1 ou 0xFEDCBA98?
Pour écrire ce programme, il est nécessaire de tester la valeur des 32 bits du mot binaire correspondant à n. Il faut donc écrire l’équivalent d’une boucle for en assembleur qui traite le ième bit du mot à la ième itération. Si ce bit vaut 1, il faut le compter dans le résultat. c©2021/2022 (Sorbonne Université/LU3IN029) 21 octobre 2021Module MAREP Instructions de sauts et structures de contrôle 5 – page