إنه سهل، يمكنك تجربته الآن :).
-----اختبار قمت به عندما كنت أتعلم التجميع. البرنامج الأول فقط لإعطائك إنطباعا سيكون هناك تدوينة لاحقا ستشرحه بالتفصيل.
الوحدة 1؛
واجهة
الاستخدامات
النوافذ، الرسائل، SysUtils، المتغيرات، الفئات، الرسومات، عناصر التحكم، النماذج،
مربعات الحوار، StdCtrls، ExtCtrls؛
يكتب
TForm1 = الفئة (TForm)
الشكل 1: الشكل؛
التسمية 1: TLabel؛
التسمية 2: TLabel؛
التسمية 3: TLabel؛
Button1: TButton؛
Button2: TButton؛
Label4: TLabel؛
التسمية 5: TLabel؛
التسمية 6: TLabel؛
Button3: TButton؛
الإجراء Button1Click(Sender: TObject);
الإجراء Button2Click(Sender: TObject);
// الإجراء Button3Click(Sender: TObject);
// الإجراء BtCalcuClick(sender: TObject);
خاص
{تصريحات خاصة}
عام
{التصريحات العامة}
نهاية؛
فار
Form1: TForm1؛
الدالة Sum1(X,Y:عدد صحيح):عدد صحيح;
الدالة Sum2(X,Y:integer):integer;stdcall;
الدالة Sum3(var X,Y:integer):integer;stdcall;
تطبيق
{$R *.dfm}
الإجراء TForm1.Button1Click(Sender: TObject);
فار
أنا، ي: عدد صحيح؛
يبدأ
label1.Caption:=inttostr(sum1(2,3));
label2.Caption:=inttostr(sum2(2,3));
أنا:=2;
ي:=3;
label3.Caption:=inttostr(sum1(i,j));
نهاية؛
// جمع برنامج دلفي
الدالة Sum1(X,Y:عدد صحيح):عدد صحيح;
يبدأ
النتيجة:=X+Y;
نهاية؛
// مجموع التجميع 1 ---
الدالة Sum2(X,Y:integer):integer;stdcall;
يبدأ
asm
موف إيكس، X
أضف اكس، ي
mov @result,eax
نهاية؛
نهاية؛
// مجموع التجميع 2 ---
الدالة Sum3(var X,Y:integer):integer;stdcall;
يبدأ
asm
موف إيكس، X
موف إيكس،[إياكس]
موف إدكس، ي
إضافة إياكس،[edx]
mov @result,eax
نهاية؛
نهاية؛
الإجراء TForm1.Button2Click(Sender: TObject);
يبدأ
يغلق؛
نهاية؛
{إجراء TForm1.Button3Click(Sender: TObject);
فار
QuitFlag:Boolean;
OutBufPtr:Word;
يبدأ
asm
mov al،QuitFlag
mov bx,OutBufPtr
نهاية؛
نهاية؛}
نهاية.