アセンブリ関数内の構造体フィールドに直接アクセスすることは可能ですか?また、アセンブリを介してグローバル変数にアクセスするにはどうすればよいですか?
Intel構文のインラインアセンブリでは、次のことができます。
struct str
{
int a;
int b;
}
int someGlobalVar;
__declspec(naked) void __fastcall func(str * r)
{
__asm
{
mov dword ptr [ecx].a, 2
mov dword ptr [ecx].b,someGlobalVar
}
}
ATT構文(gcc)を使用してアセンブリx64関数(インラインではない)でこれを行うにはどうすればよいですか?それが不可能な場合は、インライン関数でこれを行うにはどうすればよいですか?