Besoin d'aide microprocesseur 8086

Résolu
claudios -  
nicocorico Messages postés 846 Statut Membre -
Bonjour, est ce que quelqu'un pourrait m'aidé à résoudre cet exercice ecrire un programme assembleur qui permet de faire la multiplication de (15*6) en décimal.

2 réponses

  1. nicocorico Messages postés 846 Statut Membre 138
     
    Et qu'est-ce qui te bloques ?
    Car s'il s'agit simplement de mettre 15 et 6 dans des registres et d'effectuer la multiplication, mieux vaut que tu apprennes à le faire si tu veux être capable de faire quoi que ce soit en asm !
    0
    1. claudios
       
      le problème c'est que je ne sait même pas par où commencé.
      0
    2. nicocorico Messages postés 846 Statut Membre 138
       
      Hé bien visiblement il faudrait que tu commences par apprendre l'asm !
      Regarde dans les liens juste au dessus, tu y trouveras sans doute ton bonheur...
      Quand à la solution, c'est aussi simple que ça :
       
       Mov  EAX,15  // Charge 15 dans le registre EAX
       Mov  EDX,06  // Charge 06 dans le registre EDX
       Mul  EDX     // Multiplie EAX (tacite) par EDX
                    // Le résultat se trouve dans EAX
      
      0
    3. claudios
       
      merci beaucoup
      0
    4. Ssarko
       
      mov ax,15(10)
      mov bx 6(10)
      Mul bx // (10): pour dire que c'est en base 10, ca change quoi si j'utilise le registre bx a la place de dx!!!
      0
  2. nicocorico Messages postés 846 Statut Membre 138
     
    Tu peux utiliser bx sans problème, ainsi que tous les autres registres de travail, y compris esi, edi, ebp... tant que tu veilles à ce qu'ils n'aient pas d'autres dépendances.
    Il faut aussi s'intéresser à d'autres instructions, telles que Imul, qui te permet de multiplier n'importe quel registre par une constante :
      Mov   EAX,15;
      Imul  EAX,06;
    
    Ou même 2 registres et une constante :
      Mov   EAX,15;
      Mov   EDX,02;
      Imul  EAX,EDX,03;
    

    Quand à la base employée, tant que tu n'ajoute rien c'est forcément du décimal, donc il est est inutile de le préciser !
    Le chêne aussi était un gland, avant d'être un chêne
    0