随笔 - 2146  文章 - 97 评论 - 11767 trackbacks - 253

//准备一个在汇编中要调用的函数
function DelphiFun(x,y: Integer): Integer;
begin
  Result := x + y;
end;


//汇编函数
function AsmFun: Integer;
asm
  mov eax, 1      {eax 对应函数的第一个参数, 这里给第一个参数赋值为 1}
  mov edx, 2      {edx 对应函数的第二个参数, 这里给第二个参数赋值为 2}
  call DelphiFun  {call 是调用命令; 返回值在 eax}
end;


//测试
procedure TForm1.Button1Click(Sender: TObject);
var
  num: Integer;
begin
  num := AsmFun;
  ShowMessage(IntToStr(num)); {3}
end;

posted on 2008-01-29 21:24  万一  阅读(...)  评论(...编辑  收藏