1

このようなインラインアセンブリコードがあります

__asm
{
    MOV dword ptr [esp+4], 12345678h
}

12345678h がそこに書き込まれる前に別の変数で [esp+4] の値を取得したいので、これを C++ コードでさらに使用できます。

4

1 に答える 1

0

5 分もかからずに見つけたこのマニュアルによると、変数識別子は__asmブロック内で有効です。次に、そのマニュアルの「 What do you want to know more about? 」セクションの下にある「 Accessing C or C++ data in __asm blocks」リンクをクリックして、関連する例を見つけました。

インライン アセンブリの非常に便利な点は、C または C++ 変数を名前で参照できることです。__asm ブロックは、変数名を含め、ブロックが表示されるスコープ内にある任意のシンボルを参照できます。たとえば、C 変数 var がスコープ内にある場合、命令は

__asm mov eax, var

var の値を EAX に格納します。

于 2013-04-09T07:12:40.903 に答える