Dプログラミング言語のインラインアセンブラで静的変数にアクセスする際に問題が発生しました。ドキュメントには、ローカル変数にアクセスする必要があると書かれています
mov EAX, var[EBP]; //or mov EAX, var;
およびクラス変数
mov EBX, this;
mov EAX, var[EBX];
ただし、静的変数にアクセスする方法は文書化されていません。エラーをスローする私のコードは次のとおりです。
module test;
static int A = 1234;
static void SetA()
{
asm
{
mov A, 5432; //compiles, but throws an error
//tried it with "mov dword ptr [A], 5432; too
}
}
アセンブラとDの両方からアクセスできる整数用の「グローバルストレージ」の方法が本当に必要です。これ(または別の方法)の助けがあれば非常に嬉しいです。