0

如何强制编译器不为返回函数生成“BX LR”。我还设置了选项 --ARM_only(in compiler + assembler + linker) 但这没有用,我最后在 axf 文件中有这个代码。我在 Keil 中的目标设置为 ARM7TDMI(我无法将我的目标设置为 ARM7 或没有 Thumb 的任何其他目标)那么我们可以做些什么来防止生成“BX LR”?

4

1 回答 1

4

BX如果目标地址的最低有效位为 0,则不会切换到 Thumb 模式。换句话说,它也可以用作常规分支。

和 的指令周期时间在BX LRARM7TDMIMOV PC,LR上也是相同的(2S + 1N 个周期),因此使用其中一个或另一个在性能方面没有什么可取之处。

于 2013-01-13T08:54:57.260 回答