Delphi

本类阅读TOP10

·分布式网络考试系统原型分析及实现
·游戏外挂设计技术探讨①
·使用HOOK随心监视Windows
·Delphi 水晶报表打包解决
·试题库开发中非文本数据的处理
·如何将几个DBGRID里的内容导入同一个EXCEL表中....的问题
·如何使用Delphi设计强大的服务器程序
·工人线程中关闭窗体的实现
·用DLL方式封装MDI子窗体。
·支持XP下托盘栏气球提示的托盘单元

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Delphi+汇编例子1(求和的比较)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站


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

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

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.




相关文章

相关软件