Memory 解释汇编代码比较

Memory 解释汇编代码比较,memory,assembly,Memory,Assembly,可能重复: 我想了解这两条装配线: 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]处的值,并将其存储在同一位

可能重复:

我想了解这两条装配线:

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_位置]处的值是否等于%eax处的值


因此,只有当两个添加值中的一个为0时,才会返回true,对吗?

这似乎是AT&T格式的源代码,其顺序是
op source,dest
。这意味着第一个是将有效地址处的值添加到eax。然后,第二行将第二个值与eax进行比较