首页 > 解决方案 > mov 0x8(%r14,%r15,8),%rax是什么意思

问题描述

这里的0x8(%r14,%r15,8)是什么意思,我知道0x8(%r14,%r15,8)是SRC,但是我不明白这里为什么要用两个寄存器%r14和%r15,而且我不明白如何调用 src 地址。非常感谢您的任何意见。

标签: linuxdisassemblyatt

解决方案


信息来自http://flint.cs.yale.edu/cs421/papers/x86-asm/asm.html

AT&T 地址:

内存地址参考:Address_or_Offset(%base_or_offset, %Index_Register, Scale)

最终地址计算:Address_or_Offset + %base_or_offset + [Scale * %Index_Reg]

例子:

mov (%esi,%ebx,4), %edx         /* Move the 4 bytes of data at address ESI+4*EBX into EDX. */

推荐阅读