如何强制编译器不为返回函数生成“BX LR”。 我还设置了选项 --ARM_only(在编译器 + 汇编器 + 链接器中),但这没有用,我最后在 axf 文件中得到了这个代码。 我在 Keil 中的目标设置为 ARM7TDMI(我无法将目标设置为 ARM7 或没有 Thumb 的任何其他目标) 那么我们能做些什么来防止生成“BX LR”呢?
BX
如果目标地址的最低有效位为 0,则不会切换到 Thumb 模式。换句话说,它也可以用作常规分支。
BX LR
的指令周期时间,例如MOV PC,LR
在 ARM7TDMI 上也是相同的(2S + 1N 周期),因此使用其中之一在性能方面没有任何优势。