欢迎光临
我们一直在努力

delphi+汇编例子1(求和的比较)_delphi教程

建站超值云服务器,限时71元/月

简单的,你现在就可以试一试:)。


—–以前学汇编的时候做的测试。第一个程序只是给您个印象,后面还有一个帖子,在详细说说。


unit Unit1;


interface


uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;


type
TForm1 = class(TForm)
Shape1: 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);
//procedure Button3Click(Sender: TObject);
//procedure BtCalcuClick(sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;


var
Form1: TForm1;
function Sum1(X,Y:integer):integer;
function Sum2(X,Y:integer):integer;stdcall;
function Sum3(var X,Y:integer):integer;stdcall;
implementation


{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
begin
label1.Caption:=inttostr(sum1(2,3));
label2.Caption:=inttostr(sum2(2,3));
i:=2;
j:=3;
label3.Caption:=inttostr(sum1(i,j));
end;


//delphi程序求和
function Sum1(X,Y:integer):integer;
begin
result:=X+Y;
end;


//汇编求和1—
function Sum2(X,Y:integer):integer;stdcall;
begin
asm
mov eax,X
add eax,Y
mov @result,eax
end;
end;
//汇编求和2—
function Sum3(var X,Y:integer):integer;stdcall;
begin
asm
mov eax,X
mov eax,[eax]
mov edx,Y
add eax,[edx]
mov @result,eax
end;
end;



procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;


{procedure TForm1.Button3Click(Sender: TObject);
var
QuitFlag:Boolean;
OutBufPtr:Word;
begin
asm
mov al,QuitFlag
mov bx,OutBufPtr
end;
end;}


end.

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » delphi+汇编例子1(求和的比较)_delphi教程
分享到: 更多 (0)