在汇编中要调用showmessage时如何组织参数

在汇编中要调用showmessage时怎么组织参数?要把下面这个简单的过程改写成汇编,应该怎么写?proceduretestsh

在汇编中要调用showmessage时怎么组织参数?
要把下面这个简单的过程改写成汇编,应该怎么写?
    procedure   testshowmsg2(str:   string);
    begin
        ShowMessage(str);
    end;

我看了CPC窗口是怎么写的:
            mov   eax,[ebp-$04]
            call   showmessage

但我想他这么写时显示出来的并不是我传进去的值,而是乱码。

[解决办法]

procedure testshowmsg2(str: string);
asm
call ShowMessage;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
testshowmsg2( '123 ');
end;

[解决办法]
如果要传递参数,可以这样写:

procedure AsmTest;
var
s: string;
begin
s := '123 ';
asm
mov eax, s
call Showmessage
end;
end;

前面那个也可这样写的:mov str但属多此一举