问题描述
对于访问数组,我看到了以下两个经常使用的符号:
# Addressing in the general form of:
# address_or_offset(%base_or_offset,%index,scale)
# (1) using a label,which resolves to an address
movzwq myarray(,%rdi,2),%rbx # 0x400078
# (2) using an offset based on a register,usually %rbp
movzwq -8(%rbp,%rcx
第一种形式使用address(offset,index,scale)
表示法,第二种形式使用offset(base,scale)
表示法。我的问题是,使用第一个表示法并包括一个索引寄存器,是否真的可行:
movzwq myarray(%r11,%rbx
Of是从未使用过的,并且在使用该address(,scale)
表示法时总是空白(就像第一个示例一样)?
最后,offset/base
和address/offset
只是做同一件事的两种方式,也就是说,它允许通过在第一种情况下与寄存器进行偏移以及与寄存器进行偏移来到达起始存储位置。地址/标签在第二种情况下?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)