Assembleur 8086

Fermé
Nader - 28 janv. 2012 à 08:39
nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 - 28 janv. 2012 à 09:25
Bonjour,

j'ai une petite probléme dans mon petit code (procedure) assembleur 8086 qui permet de calculer A puissance de B
svp aider moi c urgent

puiss proc near
mov dx,ax
mov ax,a
mov a,dx
mov bx,a

cmp bx,0
je fin1



mov cx,1
mov dx,ax
retour:
mul dx
add cx,1
cmp cx,bx
jne retour
jmp fin3

<ital>mov dx,ax
mov ax,1

for: mul dx
dec bx
cmp bx,1
jne for
</ital>

jmp fin3
fin1: mov ax,1
jmp fin3
fin3:
mov a,ax
jmp f3
ret
puiss endp

1 réponse

nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 138
28 janv. 2012 à 09:25
Ha oui, tu t'es emmêlé les pinceaux là !
Mais d'abord quelques petits conseils :
- Dans l'initialisation tu charges A mais tu oublies B;
- Le registre DX est utilisé en couple avec AX dans le résultat de la multiplication 'Mul DX', donc mieux vaut utiliser un autre registre.
- à quoi bon compter le nombre d'itérations en utilisant CX alors qu'il suffit de décompter en décrémentant BX...
0