问题: 我要用嵌套的汇编指令调用外部dll,dll中的接口被声明为stdcall类型.在CALL之前怎么传递接口参数,同时怎么返回函数结果.例如:dll文件接口声明如下:
    [文件名]   : [路径]mydll.dll
    [接口函数] : function Execute(AHandle:THandle,str1:string;int1:integer):integer ; stdcall    调用方式: myRundll32('mydll.dll','Execute',[Handle,'测试一些',100]);myRundll32原型如下:
function myRundll32(dll:string;fName:string;
  Params: array of const): DWord;
{
 参数说明:
    dll    : dll文件的完整路径
    fName  : 接口函数的名称,如:Execute
    params : 为参数列表
}
具体实现如下,请帮忙完善.
function myRundll32(dll:string;fName:string;
  Params: array of const): DWord;
const
  RecSize = SizeOf(TVarRec); // 循环处理参数列表时递增的字节数
var
  myFunc: Pointer;
  ParCount: DWord;
  AHandle :THandle;
begin
  AHandle:=LoadLibrary(pchar(xdll));
  if AHandle=0
  then Exit;
  myFunc := GetProcAddress(AHandle,pchar(AName));
  if not Assigned(myFunc) then
    raise Exception.CreateFmt('找不到 %s 的 Method: %s', [xdll,
      AName]);
  ParCount := High(Params) + 1; // 获取参数个数  //以下为参数处理以及调用
  asm
    //  此处怎么写?????    CALL        myFunc               // 调用方法
    MOV         Result, EAX         // 返回值放入 Result   ,此处怎么写??????
    POP         ESI    
  end;
end;//疑惑之处:
1.在调用 [CALL PFunc] 之前怎么处理传入的参数.
2.这种dell的调用,怎么处理返回值.