簡體   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