0

ここに質問があります。アセンブリ言語での演算子*の優先順位は何ですか?

例えば:

*0x804983c(,%eax,4)

それは意味( %eax * 4 ) + *0x804983cですか*( %eax * 4 + 0x804983c )

ありがとう!

4

1 に答える 1

1

*演算子ではありません。アセンブリ自体には演算子はありません (演算子は高水準言語にのみ存在する概念です)。

AT&T の構文では、* はレジスタまたはメモリの分岐先を表します。

あなたは完全な命令を示していませんが、それがjmpであると仮定すると、これは格納されているものにジャンプし0 + %eax * 4 + 0x804983cます(の標準メモリ参照に従ってoffset(base,index,scale)

于 2010-03-31T19:21:58.173 に答える