Q1) Dans l'exercice, on lis bit par bit le nombre A. Pour faire cela, on décale à chaque tour de boucle les bits de A vers la droite. Pour savoir quand on a finis de lire A, on étends étends A en mettant plein de 0 devant. Comme ça, on sait que lorsqu'il ne reste que des 0, on à finis de lire A (tous les bits sont passer à l'extrème gauche et on disparus) Q2) Les registre correpondent à des endroit physique sur l'ordinateur. Les variables, ne sont que des addresse qui pointe vers une valeur. Pour utiliser une variable, il faut donc dabord la placer dans un registre. Q3) L'étiquette next permet de faire le "if". Si le test n'est pas vérifier, on se déplace après les instruction qui devrait s'éxecuter si la condition était vérifié. D'ou l'étiquette next. Q4) tbz permet de lire le bit de poids faible d'un registre et de le comparer à 0. Dans notre programme, on compare à chaque tour de boucle, le prochain bit de B. Cela permet d'ajouter A au résultat si le bit vaut 1. Ce qui permet la multiplication Q5) si a = 0101 = 5 si b = 0111 = 7 on étend b : 00000111 et on exécute tant que b est différent de 0 on prend le bit de poid faible de b et si il vaut 1, on ajoute au résultat la valeur de a: ensuite on décale les bit de A à gauche et les bits de B à droite Etape 1 bit de poids faible = 1 resultat = 0101 a = 01010 b = 00000011 eTAPE 2 bit de poids faible = 1 resultat = 0101 + 01010 = 01111 a = 010100 b = 00000001 Etape3 bit de poids faible = 1 resultat = 01111 + 010100 = 100011 a = 0101000 b = 00000000 On s'aérrète car b vaut 0. (on a lu tout les bits utiles de b) Q6) Dans mon programme, w4 correspond à a Dans mon programme, w5 correspond à b Dans mon programme, x2 correspond à respb Dans mon programme, x1 correspond à respa Dans mon programme, x0 correspond à resp