var
Form1: TForm1;
a, b, c: Integer;
implementation
{$R *.dfm}
procedure test1(x, y, z: integer);
asm
mov a,eax
mov b,edx
mov c,ecx
end;
procedure test2(x, y, z: integer);
var
i,j,k: integer;
asm
mov i,eax
mov j,edx
mov k,ecx
mov eax,[esp+8]
mov a,eax
mov eax,[esp+4]
mov b,eax
mov eax,[esp+0]
mov c,eax
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
test2(1,2,3);
ShowMessage(Format('%d,%d,%d', [a, b, c]));
end;
end.
new
var
Form1: TForm1;
a,b,c,d,e: Integer;
implementation
{$R *.dfm}
procedure test1(p1,p2,p3,p4,p5: integer);
asm
mov a,eax
mov b,edx
mov c,ecx
mov eax,[esp+$0c]
mov d,eax
mov eax,[esp+8]
mov e,eax
end;
procedure test2(p1,p2,p3,p4,p5: integer);
var
i,j,k: integer;
asm
mov i,eax
mov j,edx
mov k,ecx
mov eax,[esp+8]
mov a,eax
mov eax,[esp+4]
mov b,eax
mov eax,[esp+0]
mov c,eax
mov eax,[esp+$0c+$8+4]
mov d,eax
mov eax,[esp+$0c+$8+0]
mov e,eax
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
//test1(1,2,3,11,5);
test2(1,2,3,7,8);
ShowMessage(Format('%d,%d,%d,%d,%d', [a, b, c, d, e]));
end;
end.
ÓÐʱºòÎÒÃÇÐèÒª¿ÉÒÔ¸ßËÙ¼ìË÷µÄÁÐ±í£¬×ÔÈ»»áÏëµ½¹þÏ£±í£¬Æ½Ê±ÎÒÃÇ¿ÉÄÜÏëµ½ÓÃIniFilesµ¥ÔªÀïµÄTHashedStringList£¬µ« THashedStringListÿ´ÎÐÂÔöÒ»¸öItemºó¶¼ÐèҪˢÐÂÒ»±é£¬Êý¾Ý¶àÁË¿ÉÄÜ»áÓеãÂý£¬¸Ð¾õ²»Ì«ºÃ£¬¶øTStringHashÔòÖ»ÄÜ´æ IntegerÐ͵Ä(ËäÈ»ÎÒÃÇ¿ÉÒ԰ѱðµÄ¶«Î÷Ç¿ÖÆ×ª³ÉÕûÐÍ´æ½øÈ¥£¬µ«¸Ð¾õ²»Ì«ºÃ)¡£TStringHashÒÑ¾Ê ......