Это легко, вы можете попробовать прямо сейчас :).
-----Тест, который я сделал, когда изучал ассемблер. Первая программа предназначена просто для того, чтобы дать вам представление. Позже будет пост, в котором она будет подробно объяснена.
блок Unit1;
интерфейс
использует
Windows, сообщения, SysUtils, варианты, классы, графика, элементы управления, формы,
Диалоги, StdCtrls, ExtCtrls;
тип
ТФорм1 = класс (ТФорма)
Форма1: Тшапе;
Метка1: TLabel;
Метка2: TLabel;
Метка3: TLabel;
Кнопка1: Кнопка T;
Кнопка2: Кнопка T;
Метка4: TLabel;
Метка5: TLabel;
Метка6: TLabel;
Кнопка3: Кнопка T;
PROcedure Button1Click (Отправитель: TObject);
процедура Button2Click (Отправитель: TObject);
//процедура Button3Click(Sender: TObject);
// процедура BtCalcuClick (отправитель: TObject);
частный
{Частные заявления}
общественный
{Публичные заявления}
конец;
вар
Форма1: ТФорм1;
функция Sum1(X,Y:целое):целое;
функция Sum2(X,Y:целое число):целое число;stdcall;
функция Sum3(var X,Y:integer):integer;stdcall;
выполнение
{$R *.dfm}
процедура TForm1.Button1Click(Отправитель: TObject);
вар
я, j: целое число;
начинать
label1.Caption:=inttostr(sum1(2,3));
label2.Caption:=inttostr(sum2(2,3));
я:=2;
j:=3;
label3.Caption:=inttostr(sum1(i,j));
конец;
//суммирование программы Delphi
функция Sum1(X,Y:целое):целое;
начинать
результат:=X+Y;
конец;
//Сумма сборки 1---
функция Sum2(X,Y:целое число):целое число;stdcall;
начинать
Асм
перемещение eax,X
добавить eax,Y
mov @result,eax
конец;
конец;
//Сумма сборки 2---
функция Sum3(var X,Y:integer):integer;stdcall;
начинать
Асм
перемещение eax,X
mov eax,[eax]
mov edx,Y
добавить eax,[edx]
mov @result,eax
конец;
конец;
процедура TForm1.Button2Click(Отправитель: TObject);
начинать
закрывать;
конец;
{процедура TForm1.Button3Click (Отправитель: TObject);
вар
QuitFlag:Boolean;
АутБуфПтр: Слово;
начинать
Асм
мов аль,QuitFlag
мов bx, OutBufPtr
конец;
конец;}
конец.