![](/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.