Es ist ganz einfach, Sie können es jetzt ausprobieren :).
-----Ein Test, den ich gemacht habe, als ich Assembler lernte. Das erste Programm soll Ihnen nur einen Eindruck vermitteln. Später wird es einen Beitrag geben, der es im Detail erklärt.
Einheit Einheit1;
Schnittstelle
verwendet
Windows, Nachrichten, SysUtils, Varianten, Klassen, Grafiken, Steuerelemente, Formulare,
Dialoge, StdCtrls, ExtCtrls;
Typ
TForm1 = Klasse(TForm)
Form1: TShape;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
Button2: TButton;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Button3: TButton;
PROcedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
//Prozedur Button3Click(Sender: TObject);
//Prozedur BtCalcuClick(sender: TObject);
Privat
{Private Erklärungen}
öffentlich
{Öffentliche Erklärungen}
Ende;
var
Form1: TForm1;
Funktion Sum1(X,Y:integer):integer;
Funktion Sum2(X,Y:integer):integer;stdcall;
Funktion Sum3(var X,Y:integer):integer;stdcall;
Durchführung
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:Ganzzahl;
beginnen
label1.Caption:=inttostr(sum1(2,3));
label2.Caption:=inttostr(sum2(2,3));
i:=2;
j:=3;
label3.Caption:=inttostr(sum1(i,j));
Ende;
//Delphi-Programmsummierung
Funktion Sum1(X,Y:integer):integer;
beginnen
Ergebnis:=X+Y;
Ende;
//Assembly-Summe 1---
Funktion Sum2(X,Y:integer):integer;stdcall;
beginnen
asm
mov eax,X
eax,Y hinzufügen
mov @result,eax
Ende;
Ende;
//Zusammenfassung 2---
Funktion Sum3(var X,Y:integer):integer;stdcall;
beginnen
asm
mov eax,X
mov eax,[eax]
mov edx,Y
eax hinzufügen,[edx]
mov @result,eax
Ende;
Ende;
procedure TForm1.Button2Click(Sender: TObject);
beginnen
schließen;
Ende;
{procedure TForm1.Button3Click(Sender: TObject);
var
QuitFlag:Boolean;
OutBufPtr:Word;
beginnen
asm
mov al,QuitFlag
mov bx,OutBufPtr
Ende;
Ende;}
Ende.