读书人

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

发布时间: 2012-02-08 19:52:21 作者: rapoo

在汇编中要调用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但属多此一举

读书人网 >.NET

热点推荐