1

Visual C++ 2010 を使用して、次の C++ コードをアセンブリに変換しました。

int main()
{
    int i;
    i = 1234;

    return 0;
}

次の出力を受け取りました。

ここに画像の説明を入力

メモリ アドレス指定に関する私の理解に基づいて、メモリ アドレスの計算は常に角括弧の内側に配置されるのに、なぜ_i$この場合は角括弧の外側に配置されるのでしょうか?

4

1 に答える 1

1

Microsoft のアセンブラはa[b]、C や C++ とほぼ同じようにa[b]処理し、b[a]ほとんど同等です。どちらも、加算といくつかのオプションのスケーリングに続く逆参照を示していますが、どの部分が「アドレス」でどの部分が「インデックス」であるかについて多くの要件を課していません。

于 2014-12-28T03:44:54.140 に答える