C'est simple, vous pouvez l'essayer maintenant :).
-----Un test que j'ai fait lorsque j'apprenais l'assemblage. Le premier programme est juste pour vous donner une impression. Il y aura un article plus tard qui l'expliquera en détail.
unité Unité1 ;
interface
utilise
Windows, messages, SysUtils, variantes, classes, graphiques, contrôles, formulaires,
Boîtes de dialogue, StdCtrls, ExtCtrls ;
taper
TForm1 = classe(TForm)
Forme1 : TForme ;
Étiquette1 : TLabel ;
Étiquette2 : TLabel ;
Étiquette3 : TLabel ;
Bouton1 : TButton ;
Bouton2 : TButton ;
Étiquette4 : TLabel ;
Étiquette5 : TLabel ;
Étiquette6 : TLabel ;
Bouton3 : TButton ;
PProcédure Button1Click (Expéditeur : TObject );
procédure Button2Click (Expéditeur : TObject);
//procédure Button3Click(Expéditeur : TObject);
//procédure BtCalcuClick(expéditeur : TObject);
privé
{Déclarations privées}
publique
{Déclarations publiques}
fin;
var
Formulaire1 : TForm1 ;
fonction Somme1(X,Y:entier):entier;
fonction Sum2(X,Y:entier):entier;stdcall;
fonction Sum3(var X,Y:integer):integer;stdcall;
mise en œuvre
{$R *.dfm}
procédure TForm1.Button1Click(Expéditeur : TObject);
var
je,j:entier;
commencer
label1.Caption:=inttostr(sum1(2,3));
label2.Caption:=inttostr(sum2(2,3));
je:=2;
j:=3;
label3.Caption:=inttostr(sum1(i,j));
fin;
//résumé du programme Delphi
fonction Somme1(X,Y:entier):entier;
commencer
résultat :=X+Y ;
fin;
// Somme d'assemblage 1 ---
fonction Sum2(X,Y:entier):entier;stdcall;
commencer
asme
déplacement eax,X
ajouter eax,Y
mov @result,eax
fin;
fin;
//Résumé de l'assemblage 2---
fonction Sum3(var X,Y:integer):integer;stdcall;
commencer
asme
déplacement eax,X
déplacer eax,[eax]
déplacer edx,Y
ajouter eax,[edx]
mov @result,eax
fin;
fin;
procédure TForm1.Button2Click(Expéditeur : TObject);
commencer
fermer;
fin;
{procédure TForm1.Button3Click(Expéditeur : TObject);
var
QuitFlag : booléen ;
OutBufPtr:Mot;
commencer
asme
mov al,QuitterFlag
mov bx,OutBufPtr
fin;
fin;}
fin.