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