アセンブラではC言語の配列の参照できない!?

http://www.nk.rim.or.jp/~jun/lxasm/asm02.html
より。

例えば次の例ではラベルの宣言が異なりますが,

    foo   equ  1
    bar   dw   2
          mov  ax, foo
          mov  ax, bar
この場合は ax には定数値が代入され,

          move ax, [foo]
          move ax, [bar]
この例では,ax には メモリの内容が代入されます. 
....

なーる。だから、いつも私のほしかった値とは違った値が代入されていたわけか。なーる。おrz
あれれ?でもVCでのインラインアセンブラの場合はcount[0]のようにしてもレジスタに代入できるんですけど・・・ウーン。なーる。
あれれ?
あ!なーる。MASM形式でだとこうなるわけか。インラインアセンブラとは違うのか。アナルホド。
まぁ、いいや、支離滅裂意味不明御免。
いや、ちょっとまて、


_asm movq mm0,abcd[0]
_asm movq mm1,abcd[1]
_asm movq mm2,abcd[2]
_asm movq mm3,abcd[3]
とするとmm1以降がすべて違う値が代入されるのだが・・・(ワタシのデバッガの場合・・・)
何でだろぉ〜なんでだろぉ〜 おrz!!!!
やっぱりアドレッシングがなんとやらになるのかな?。。。アセンブラよく分からないなり!ムキィ!


解決:やっぱりワタシのあたむぁが残念なだけでした。
uint64 tinpo[16];
という配列があったとして
この配列の
tinpo[3];を参照したい時は

_asm movq mm4,tinpo[3]
とやっては上手く参照できない。
なので、

uint64 *ptinpo = tinpo;
_asm{
mov esi,ptinpo
movq mm4,[esi+3*8]
}
のように参照する。以上也!