繼續驗證 Delphi register 調用約定下,參數在寄存器中的分佈規律。
procedure Proc(x, y: Integer);
var a, b: Integer;
begin
asm
MOV a, ECX
MOV b, EDX
end;
ShowMessage(IntToStr(a) + ',' + IntToStr(b));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Proc(11, 22); {顯示: 0,22}
end;
此結構與 Delphi 默認 register 調用約定完全一致:前三個參數依次通過 EAX、EDX、ECX 傳遞。