重複の可能性:
x86 アセンブリでの add コマンドの混乱
次の 2 つのアセンブリ ラインを理解したいと思います。
8048d74: 03 44 9e fc add -0x4(%esi,%ebx,4),%eax
8048d78: 39 04 9e cmp %eax,(%esi,%ebx,4)
(%esi,%ebx,4)
(BASE, INDEX, SCALE) という形の実効アドレスだと思います
add コマンドは %eax の値を取得し、それを [esi + ebx*4 + mem_location] の値に追加して、同じ場所に保存していると思います。
次に、cmp 命令は、[esi + ebx*4 + mem_location] の値が %eax の値と等しいかどうかをテストします。
つまり、これは、加算された 2 つの値のいずれかが 0 の場合にのみ true を返しますよね?