程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 初學Delphi嵌入匯編[11] - 用匯編重寫一個Delphi函數

初學Delphi嵌入匯編[11] - 用匯編重寫一個Delphi函數

編輯:Delphi

//Delphi 函數function DelphiFun(x: Integer): Integer;
begin
 Result := x * 2;
end;

//匯編函數, 和上面的函數是同樣的功能function AsmFun(x: Integer): Integer;
asm
 add eax, eax  {eax 可以獲取第一個參數, 同時又是函數的返回值, 所以可以如此 簡潔!}
end;

//測試 DelphiFunprocedure TForm1.Button1Click(Sender: TObject);
var
 i: Integer;
begin
 i := 34;
 i := DelphiFun(i);
 ShowMessage(IntToStr(i)); {68}
end;

//測試 AsmFunprocedure TForm1.Button2Click(Sender: TObject);
var
 i: Integer;
begin
 i := 34;
 i := AsmFun(i);
 ShowMessage(IntToStr(i)); {68}
end;

做本例時, 我同時做了一個測試:

循環執行 1,000,000 次以內, 基本沒有區別; 循環執行 10,000,000 次時, 才有 10 幾毫米的差距.

這說明 Delphi 本身速度就足夠快了!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved