2012-03-24 19 views
2

私は高校(MASM、x86)で理論的にASM 8086を勉強しています。アセンブリ命令movレジスタ、[register] [register]

.data 
var dd 421,422, 443, 442, 444, 217, 432 

.code 
; some code 
mov esi, (OFFSET var)+4 
mov ebx, 4 
mov edx, [ebx][esi] ; that's the line I don't uderstand 

私はそのプログラムを実行し、そのEDX後== 000001BBh == 443 最後の行の意味は、そのコードには何ですか?それは何をするためのものか?

答えて

1

esiポイント4バイト後に、422です。 ebxは4

[ebx][esi]ある[ebx+esi]を示し、[]がポインタ演算子である何かです。

これらすべてが一緒になって[ebx][esi]ポイントになりますが、422よりも4バイト以上離れて明らかに443が見つかります。