Delphi内联汇编程序指向结构的指针

opc*_*0de 5 delphi assembly

嗨人们有一种方法,我可以直接从内联汇编程序访问指向结构成员的指针我试过这个

procedure test(eu:PImageDosHeader);assembler;
asm
    push eu._lfanew
end;
Run Code Online (Sandbox Code Playgroud)

它不会编译,但如果我使用它

procedure test(eu:Pointer); 
var   
 xx:TImageDosHeader;
 begin    
 xx:=TImageDosHeader(eu^);  
 asm
     push xx._lfanew
 end;
 end;
Run Code Online (Sandbox Code Playgroud)

它工作得很好.任何想法如何通过内联asm中的指针访问结构?是优化代码的问题

klu*_*udg 12

另一个解决方法:

procedure test(eu:PImageDosHeader);
asm
    push eu.TImageDosHeader._lfanew
end;
Run Code Online (Sandbox Code Playgroud)