Multiplication Assembleur Delphi [Résolu]

Signaler
Messages postés
4
Date d'inscription
mardi 9 septembre 2008
Statut
Membre
Dernière intervention
13 mai 2012
-
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
-
bonjour,

j'essaye de faire une multiplication sur assembleur mais le programme se bloque lors de l'affichage du résultat Violation d’accès à l'adresse.
pouvez vous me donner plus d'infos sur ce sujet.

voila la procedure que j'utilise.

procedure TForm1.Button3Click(Sender: TObject);
var
a,b,r:integer;
begin
A:=strtoint(Edit1.text);
B:=strtoint(Edit2.text);

asm
Mov EAX,A
Mov EBX,B
Mul EBX
mov r,EBX
end;
Edit3.Text:=IntToStr(r);
end;


cordialement.

2 réponses

Messages postés
4
Date d'inscription
mardi 9 septembre 2008
Statut
Membre
Dernière intervention
13 mai 2012

bonjour,

je vais à moi même, car c’était une faute de ma part alors voila la solution


procedure TForm1.Button3Click(Sender: TObject);
var
a,b:integer;
begin
A:=strtoint(Edit1.text);
B:=strtoint(Edit2.text);
asm
Mov EAX,B // mettre la valeur de B dans EAX
iMUL EAX,2 // faire la valeur de EAX *2
Add A,EAX // addition du résultat de la MUL dans EAX avec la valeur de A
end;
Edit3.Text:=IntToStr(A);
end;


merci
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
30
pourquoi vouloir la faire en assembleur ?
ici ce ne sera pas plus rapide que de faire :
Edit3.Text := IntToStr(StrToInt(Edit1.Text) * StrToInt(Edit2.Text));

________________________________________________________
besoin de câbles audio, vidèo, informatique pas cher ?