我想了解这两行大会:
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的值。
因此,只有在添加的两个值中的一个为0时才会返回true,对吗?
答案 0 :(得分:1)
这似乎是AT& T格式源代码,其中订单为op source, dest
。这意味着第一个是将有效地址的值添加到 eax。然后,第二行将第二个值与eax进行比较。