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