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是字符串。帮下忙。谢谢