gpt4 book ai didi

assembly - 为什么不能在 mul 指令中使用立即数?

转载 作者:行者123 更新时间:2023-12-04 00:32:22 25 4
gpt4 key购买 nike

我正在为 ARMv7 处理器编写指令。我想知道为什么我不允许在 MUL 指令本身中有一个常量值?您可以使用 ADD 和 SUB 指令,为什么不使用 MUL?

干杯

最佳答案

如果您查看 instruction encoding table of the ARM ISA你会看到只有数据处理指令支持立即操作数(with an interesting encoding, by the way);它们是唯一具有 12 位 operand2 的指令,所有其他指令最多具有 4 位 Rs 和 Rm 字段(保留在它们之间的空间用于消除与其他指令类别的歧义) ).

这个决定可能是因为在乘法指令中嵌入立即数并不是特别有趣;如果乘数已知,mul 通常是一个糟糕的选择,因为通常有更快的加/移/减序列。此外,乘法指令的成本可能使得从指令中的直接直接获得的延迟增益不能证明“窃取”数据处理指令编码中可用的 16 个槽是合理的。

关于assembly - 为什么不能在 mul 指令中使用立即数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49254782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com