繁体   English   中英

ARM汇编,无需MUL指令即可乘法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM