linux - mov 0x8(%r14,%r15,8),%rax是什么意思
问题描述
这里的0x8(%r14,%r15,8)是什么意思,我知道0x8(%r14,%r15,8)是SRC,但是我不明白这里为什么要用两个寄存器%r14和%r15,而且我不明白如何调用 src 地址。非常感谢您的任何意见。
解决方案
信息来自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. */
推荐阅读
- javascript - js防止textarea模糊
- c++ - Connect 4 Winning 横向功能
- javascript - 多步形式的 Javascript 验证
- javascript - 生成具有要求的随机密码
- java - 确保已安装 Java 并在 Amazon SageMaker Jupyter Notebook 中为“java”设置 PATH
- flutter - 除非我在 initState() 函数中放置断点,否则 Admob 横幅不会显示
- java - JDK 中的 SSL 证书执行从 1.8.0_51 升级到 1.8.0_202
- python - 如何提取具有相同名称的 XML 标记/实体?
- flutter - 收到 Nonce 后如何进行 Braintree 交易?
- arrays - 我收到一个错误,指出 C 程序中的类型冲突