在汇编中要调用showmessage时怎么组织参数?

shixueli 2007-02-04 07:53:44
要把下面这个简单的过程改写成汇编,应该怎么写?
procedure testshowmsg2(str: string);
begin
ShowMessage(str);
end;

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

但我想他这么写时显示出来的并不是我传进去的值,而是乱码。
...全文
208 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿发伯 2007-02-04
  • 打赏
  • 举报
回复
如果要传递参数,可以这样写:

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

前面那个也可这样写的:mov str但属多此一举
阿发伯 2007-02-04
  • 打赏
  • 举报
回复

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


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

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧