内嵌汇编小问题
delphi程序代码是这样的
var
s: string;
i,n: integer;
begin
S:= 'Hello,world';
i:= addr(S);//取字符串地址
asm
mov eax,i //我不知道这句哪错了。我要的是把字符串的地址放到eax里
mov edx,[eax-4] //前一个地址读取字符串长度
mov n,edx //把长度保存到n中。执行这行会出错。应该是edx里的值是错误的。也就是说i保存的值也是不对的
end;
end;
还有就是我想 mov eax,S 这样取地址。不知道有什么好办法没。难道每次只能中转一次吗?S是字符串。
帮下忙。谢谢