首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以将两个leaq指令合并成一个吗?

可以将两个leaq指令合并成一个吗?
EN

Stack Overflow用户
提问于 2018-10-26 18:59:17
回答 1查看 96关注 0票数 0

有一些来自计算机系统的ATT组装示例:程序员的观点。这里有一个:

可以通过以下代码复制数组元素Ai以注册%eax: (A %rdi,i in %rsi,j in %rsi)1 leaq (%rsi,%rsi,2),%rax计算3i 2 leaq (%rdi,%rax,4),%rax计算x_A + 12i 3 movl (%rax,%rdx,4),%eax从Mx_A + 12i + 4j读取。

前两条指令能否合并成

代码语言:javascript
复制
leaq (%rdi,%rsi,12), %rax

因为它也计算x_A + 12i?

为什么这本书选择写两条指令呢?在其他例子中也会发生同样的情况。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-10-26 19:26:29

不,只有比例尺因子1,2,4和8(可以说为零,对于“无索引”的情况,但编码意味着不同的解释)存在,其他任何东西都不能编码。缩放因子不是某种任意整数,它是这样编码的,编码只提供特定的选项供选择。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53014832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档