标签: gcc assembly x86-64 att
我正在调试一段包含以下指令的代码。
mov %esi,0x0(%r13)
然后在另一个地方,我看到这样的指示:
mov %esi,(%r13)
我认为前者将esi寄存器的内容移动到r13 + 0x0的内容给出的地址。有了这个逻辑,后者也应该产生同样的效果。
esi
r13 + 0x0
这些说明之间有什么区别吗?
为什么gcc以不同的方式写同一个东西?
编辑:已使用objdump -S生成反汇编。
objdump -S