2012-04-20 6 views
0

可能性の重複:
Confusing add command in x86 assembly通訳アセンブリコードの比較

私は議会の次の2行を理解したいと思います:

8048d74:  03 44 9e fc    add -0x4(%esi,%ebx,4),%eax 
8048d78:  39 04 9e    cmp %eax,(%esi,%ebx,4) 

私は(%esi,%ebx,4)が実効アドレスだと思いますフォームの種類(ベース、インデックス、スケール)

私はaddコマンドが%eaxの値を取って、それを[esi + ebx * 4 + mem_location]の値に加えて、それを同じ場所に保存していると思います。

次に、cmp命令は[esi + ebx * 4 + mem_location]の値が%eaxの値と等しいかどうかをテストします。

これは、追加された2つの値のいずれかが0の場合にのみtrueを返します。

答えて

1

これは、T12形式のソースコードであると思われます。その順序はop source, destです。これは、最初に有効なアドレス eaxの値を加算することを意味します。次に、2番目の行が2番目の値をeaxと比較しています。

関連する問題