首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 內嵌組合語言:直接使用 Result 返回值

     編輯:Delphi

組合語言塊中直接操作函數返回值

Delphi 內嵌組合語言允許在 asm 塊中直接使用 @Result 或 Result 符號操作函數返回值,無需額外定義局部變量中轉。

代碼示例

function Fun(x: Integer): Integer;
asm
  mov ecx, &x      {取 x 的地址}
  dec ecx          {組合語言 DEC 指令:減 1}
  mov @Result, ecx {直接賦值給返回值,@ 符號可省略}
end;

測試代碼

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  i := 100;
  i := Fun(i);
  ShowMessage(IntToStr(i));  {顯示 99}
end;

說明: @Result 代表函數返回值的存儲位置。對於整數類型,返回值通過 EAX 寄存器傳遞,因此 mov @Result, ecx 實際上等同於 mov eax, ecx。@ 符號在無歧義情況下可省略。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved