[Assembleur] Problème avec la multiplication

Problème avec la multiplication [Assembleur] - ASM - Programmation

Marsh Posté le 21-01-2006 à 03:02:20    

Voici une portion de code source :

mov  %rcx  , %rax
mul  $1024 , %rax
add  %rdx  , %rax
mul  $4    , %rax
add  $image, %rax

Lorsque je lance l'assemblage, j'obtiens les erreurs suivantes :

2: ERREUR: suffixe ou opérande invalide pour "mul"
4: ERREUR: suffixe ou opérande invalide pour "mul"

Je ne vois pas où est l'erreur, et donc je ne vois pas comment la corriger. Merci d'avance pour votre aide.

Message cité 1 fois
Message édité par e-miel le 21-01-2006 à 03:04:25
Reply

Marsh Posté le 21-01-2006 à 03:02:20   

Reply

Marsh Posté le 21-01-2006 à 03:11:12    

C'est pas la bonne cat ici et dégage le $ devant 1024 (ou alors inverse les arguments... il est tard :sleep: ).


Message édité par madkat le 21-01-2006 à 03:12:24
Reply

Marsh Posté le 24-01-2006 à 21:04:29    

e-miel a écrit :

Voici une portion de code source :

mov  %rcx  , %rax
mul  $1024 , %rax
add  %rdx  , %rax
mul  $4    , %rax
add  $image, %rax

Lorsque je lance l'assemblage, j'obtiens les erreurs suivantes :

2: ERREUR: suffixe ou opérande invalide pour "mul"
4: ERREUR: suffixe ou opérande invalide pour "mul"

Je ne vois pas où est l'erreur, et donc je ne vois pas comment la corriger. Merci d'avance pour votre aide.


 
Il y a deux opérandes à mul en 64 bits ?  :heink:  
Sinon soit tu utilise imul, soit tu passes par un autre registre avec mul.
 
 


---------------
Scarmatil
Reply

Marsh Posté le 25-01-2006 à 12:23:42    

Bonjour
Lorsqu'on fait une multiplication par un nombre qui est une puissance de 2, il vaut mieux utiliser le décalage qui est beaucoup plus rapide
pour multiplier par 1024 faire un shl de 10 et pour multiplier par 4 faire un shl de 2

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed