Besoin d'aide microprocesseur 8086
Résolu
claudios
-
nicocorico Messages postés 846 Statut Membre -
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.
A voir également:
- Besoin d'aide microprocesseur 8086
- Vitesse du microprocesseur - Guide
- Tp corrigé assembleur 8086 - Forum Assembleur
- Assembleur ✓ - Forum Programmation
- Assembleur 8086 ✓ - Forum Programmation
- Microprocesseur et processeur ✓ - Forum Processeur
2 réponses
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 !
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 !
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 :
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
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
Regarde dans les liens juste au dessus, tu y trouveras sans doute ton bonheur...
Quand à la solution, c'est aussi simple que ça :
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!!!