Es fácil, puedes probarlo ahora :).
-----Una prueba que hice cuando estaba aprendiendo ensamblaje. El primer programa es sólo para darle una impresión. Habrá una publicación más adelante que lo explicará en detalle.
unidad Unidad1;
interfaz
usos
Windows, Mensajes, SysUtils, Variantes, Clases, Gráficos, Controles, Formularios,
Diálogos, StdCtrls, ExtCtrls;
tipo
TForm1 = clase(TForm)
Forma1: Forma T;
Etiqueta1: TLabel;
Etiqueta2: TLabel;
Etiqueta3: TLabel;
Botón1: TBotón;
Botón2: TBotón;
Etiqueta4: TLabel;
Etiqueta5: TLabel;
Etiqueta6: TLabel;
Botón3: TBotón;
Botón de procedimiento 1 clic (Remitente: TObject);
procedimiento Button2Click(Remitente: TObject);
//procedimiento Button3Click(Remitente: TObject);
//procedimiento BtCalcuClick(remitente: TObject);
privado
{Declaraciones privadas}
público
{Declaraciones públicas}
fin;
var
Formulario1: TForm1;
función Suma1(X,Y:entero):entero;
función Suma2(X,Y:entero):entero;llamada estándar;
función Sum3(var X,Y:entero):entero;stdcall;
implementación
{$R*.dfm}
procedimiento TForm1.Button1Click (Remitente: TObject);
var
i,j:entero;
comenzar
etiqueta1.Caption:=inttostr(sum1(2,3));
label2.Caption:=inttostr(sum2(2,3));
yo:=2;
j:=3;
label3.Caption:=inttostr(sum1(i,j));
fin;
//suma del programa delphi
función Suma1(X,Y:entero):entero;
comenzar
resultado:=X+Y;
fin;
//Suma de ensamblaje 1---
función Suma2(X,Y:entero):entero;llamada estándar;
comenzar
ENSAMBLE
movimiento eax,X
añadir eax,Y
mov @resultado,eax
fin;
fin;
//Suma de la asamblea 2---
función Sum3(var X,Y:entero):entero;stdcall;
comenzar
ENSAMBLE
movimiento eax,X
mov eax,[eax]
mov edx, Y
añadir eax,[edx]
mov @resultado,eax
fin;
fin;
procedimiento TForm1.Button2Click (Remitente: TObject);
comenzar
cerca;
fin;
{procedimiento TForm1.Button3Click(Remitente: TObject);
var
QuitFlag: booleano;
OutBufPtr:Palabra;
comenzar
ENSAMBLE
mov al,QuitFlag
mov bx,OutBufPtr
fin;
fin;}
fin.