首页 > 编程 > Delphi > 正文

Delphi+汇编例子1(求和的比较)

2019-11-18 18:35:35
字体:
来源:转载
供稿:网友
简单的,你现在就可以试一试:)。

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

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.


上一篇:Delphi中如何编写图像解析组件

下一篇:Delphi+汇编例子2

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
学习交流
热门图片

新闻热点

疑难解答

图片精选

网友关注