![](/img/trans.png)
[英]Creating an ARM Dissassembler Need help on MUL Instruction (ARM Assembly)
[英]ARM assembly, multiplying without MUL instruction
我对此进行了广泛研究,但未找到任何答案。 我需要在不使用ARM汇编语言中的乘法指令的情况下将a * 17相乘。 我知道您可以使用RSB,但是如何设置值或使用LSL#部分使我感到困惑。 任何帮助将是巨大的!
我同意评论,但只是一个简单的提示,编译器通常非常擅长通过常量优化乘法。
因此,您只需使用arm-*-*-gcc
工具链即可获得此类答案。
$ cat m17.c
int f(int i) {
return i * 17;
}
$ arm-linux-gnueabihf-gcc -O3 -S m17.c
$ cat m17.s
<skipped>
f:
add r0, r0, r0, lsl #4
bx lr
<skipped>
一个可怕的笑话: 使用工具,卢克!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.