7.3. EXERCICES 135 inc inc ba dec 4,%l1 4,%l5 mer25 %i1 mer30: ret restore 7. L’instruction de branchement inconditionnel ba adr doit être remplacée par les instructions suivantes si, par rapport à l’adresse de l’instruction de branchement ba, l’adresse symbolique adr ne permet pas d’obtenir un déplacement en mots tenant sur 19 bits : setx jmp nop adr,%l7,%l0 %l0 Si l’instruction de branchement est un branchement conditionnel, par exemple ble %xcc,adr par quelle suite d’instructions cette instruction devra-t-elle être remplacée par le programmeur, si ce dernier estime que le déplacement correspondant est trop grand pour tenir sur 19 bits ? Si l’adresse numérique qui correspond à l’adresse symbolique adr est 0X204C lors de l’assemblage du programme et que l’adresse numérique de l’instruction de branchement déterminée par l’assembleur est 0X31A4, donnez l’instruction machine (la suite de 32 bits) correspondant à l’instruction ba adr sachant que – le code cond pour le branchement inconditionnel est 10002 , – le code pour xcc est 102 , – le format des instructions de branchement est 0 0 a cond 0 0 1 cc p déplacement 8. Écrivez un sous-programme en langage d’assemblage qui effectue le produit scalaire de deux vecteurs. Le sous-programme accepte quatre paramètres : l’adresse du premier vecteur (%o0), la taille du premier vecteur (%o1), l’adresse du deuxième vecteur (%o2) et la taille du deuxième vecteur (%o3). 9. Écrivez un programme en langage d’assemblage qui effectue la lecture de deux vecteurs et qui affiche la valeur de leur produit scalaire.