Assembleur 8086

Nader -  
nicocorico Messages postés 846 Statut Membre -
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 846 Statut Membre 138
 
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