//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 本身速度就足夠快了!