に相対アドレッシング:私の知る限りは、x86で相対アドレス指定するための構文は次のようである知っているように私が正しく、この得た場合、私は思っていたアセンブリ
を:これらの仮定Igiven今
base + index * scale + displacement
:
私はEAXに次のようにロードしたいint i //valuee in ecx
int arr[256] //adress in esi
:[私は10 +]
のARR
の私の最初の推測されました:
mov eax, dword ptr[esi + ecx*4 + 10*4]
しかし、私はそれは、上記の構文は収まらないので、第2の乗算について不明な点です。
また、インデックスと配列のデータ型が異なる場合はどうなりますか?例:
short arr[i + 10]
何が乗算になりますか?
ああダム私。そのような最適化を完全に忘れました;-) – er4z0r
元トピックに関連トピックを含めるように変更しました。あなたはそれについてもコメントできますか? – er4z0r
@ er4z0r:私のアップデート – Necrolis